TaskWeaver 통합
TaskWeaver 통합 (TaskWeaver)
Microsoft TaskWeaver와 AgentOps를 연결해서, 코드 중심(code-first) 데이터 분석 에이전트의 동작을 관찰하는 방법을 안내하는 문서예요. AgentOps는 TaskWeaver를 일급(first-class) 지원해요.
출처: 문서
본문
TaskWeaver는 데이터 분석 작업을 매끄럽게 계획하고 실행하기 위한 코드 중심(code-first) 에이전트 프레임워크예요. 더 자세한 내용은 TaskWeaver의 포괄적인 문서를 참고하세요.
TaskWeaver와 AgentOps 통합 단계
1. AgentOps SDK 설치하기
pip install agentops
poetry add agentops
2. TaskWeaver 설치하고 프로젝트 디렉터리 구성하기
TaskWeaver 문서의 Quick Start 섹션에 있는 안내를 따라 주세요.
3. AgentOps에서 TaskWeaver 핸들러를 import하고 AgentOps 클라이언트 초기화하기
AgentOps는 TaskWeaver 핸들러를 사용해 이벤트를 처리해요. 또한 AgentOps는 내장 모듈을 통해 TaskWeaver가 만든 LLM 호출도 추적해요. 이 둘을 함께 사용해서 TaskWeaver 세션의 모든 것을 관찰할 수 있어요.
TaskWeaver는 다양한 사용 옵션을 제공해요. 기본적으로
taskweaver명령어를 통한 CLI 앱으로 사용되지만, 라이브러리로도 사용할 수 있어요.
import agentops
from agentops.partners.taskweaver_event_handler import TaskWeaverEventHandler
from taskweaver.app.app import TaskWeaverApp
agentops.init(<INSERT YOUR API KEY HERE>)
# TaskWeaver 코드 작성
agentops.end_session("Success")
API 키는 .env 변수로 설정해 두면 편하게 쓸 수 있어요.
AGENTOPS_API_KEY=<YOUR API KEY>
환경 변수에 대한 더 자세한 내용은 Advanced Configuration 문서를 참고하세요.
4. 에이전트 실행하기
프로그램을 실행하고 app.agentops.ai/drilldown에 접속해서 TaskWeaver 에이전트를 관찰해 보세요! 🕵️
실행을 마치면 AgentOps가 콘솔에 대시보드의 세션으로 바로 연결되는 클릭 가능한 URL을 출력해 줘요.
전체 예제 (Full Examples)
TaskWeaver를 라이브러리로 사용하면서 AgentOps로 관찰하는 기본 예제예요.
2단계에서 설명한 문서를 따라 TaskWeaverApp에 프로젝트 디렉터리를 구성했는지 확인하세요.
TaskWeaverEventHandler를 등록할 때는
session.event_emitter.register메서드를 사용하거나,send_message메서드의event_handler파라미터에 핸들러 객체를 넘겨주세요. 둘 다 사용하면 이벤트가 두 번 기록되어, 기록된 메시지가 "말 더듬는(stuttering)" 현상처럼 보일 수 있어요.
import agentops
from taskweaver.app.app import TaskWeaverApp
from agentops.partners.taskweaver_event_handler import TaskWeaverEventHandler
agentops.init(<INSERT YOUR API KEY HERE>)
app_dir = "<path to your configured project directory>"
app = TaskWeaverApp(app_dir=app_dir)
session = app.get_session()
handler = TaskWeaverEventHandler()
session.event_emitter.register(handler)
user_query = "Hello, what are the capabilities of TaskWeaver?"
response_round = session.send_message(user_query)
user_query = "Write me a simple calculator program in python"
response_round = session.send_message(user_query)
agentops.end_session("Success")