diff --git a/docs/docs/memory/long-term-memory.md b/docs/docs/memory/long-term-memory.md index ae8f001a..19d04b22 100644 --- a/docs/docs/memory/long-term-memory.md +++ b/docs/docs/memory/long-term-memory.md @@ -30,30 +30,24 @@ title: 长期记忆 在使用长期记忆之前,需要实例化 LongTermMemory 对象并指定后端类型。以下代码展示了如何初始化基于 VikingDB 的长期记忆模块,并将其绑定到 Agent: ```python -os.environ["DATABASE_VIKING_PROJECT"] = "default" -os.environ["DATABASE_VIKING_REGION"] = "cn-beijing" +from veadk import Agent, Runner +from veadk.memory import LongTermMemory # 初始化长期记忆 # backend="viking" 指定使用 VikingDB # app_name 和 user_id 用于数据隔离 long_term_memory = LongTermMemory( - backend="viking", - app_name="local_memory_demo", - user_id="demo_user" + backend="viking", app_name="local_memory_demo", user_id="demo_user" ) # 将长期记忆绑定到 Agent root_agent = Agent( - name='minimal_agent', + name="minimal_agent", instruction="Acknowledge user input and maintain simple conversation.", - short_term_memory=short_term_memory, # 短期记忆实例 + long_term_memory=long_term_memory, # 长期记忆实例 ) -# 初始化 Runner 时传入 shared memory 对象 -runner = Runner( - agent=root_agent, - long_term_memory=long_term_memory, # 长期记忆实例 -) +runner = Runner(agent=root_agent) ``` ## 记忆管理 @@ -64,10 +58,8 @@ runner = Runner( ```python # 假设 runner1 已经完成了一次对话 -completed_session = await runner1.session_service.get_session( - app_name=APP_NAME, - user_id=USER_ID, - session_id=session_id +completed_session = await runner.session_service.get_session( + app_name=APP_NAME, user_id=USER_ID, session_id=session_id ) # 将完整会话归档到长期记忆 @@ -146,7 +138,7 @@ async for event in runner2.run_async(user_id=USER_ID, session_id=session_id, new - 提供连续性强、个性化的多会话交互体验; - 为长期任务、学习型应用或持续监控场景提供基础能力。 -``` +```text [Log Output] Runner1 Question: My favorite project is Project Alpha. Runner1 Answer: (Acknowledged) diff --git a/docs/docs/observation/ve-tracing.md b/docs/docs/observation/ve-tracing.md index 17f0dd14..1dde4b99 100644 --- a/docs/docs/observation/ve-tracing.md +++ b/docs/docs/observation/ve-tracing.md @@ -3,13 +3,16 @@ title: 在火山引擎观测 --- ## CozeLoop 平台 + 通过 VeADK 开发的火山智能体接入到扣子罗盘之后,可以通过扣子罗盘的评测功能进行 Agent 评测,或者通过 Trace 功能实现调用链路观测。火山智能体的 Trace 数据可以直接上报至扣子罗盘,实现调用链路观测;在扣子罗盘中注册的火山智能体,也可以通过观测功能进行 Agent 评测。 + ### 准备工作 + 在 VeADK 配置文件 config.yaml 的 observability 字段中填写 cozeloop 的属性。关于配置文件的详细说明及示例可参考配置文件。 -- endpoint:固定设置为 https://api.coze.cn/v1/loop/opentelemetry/v1/traces。 +- endpoint:固定设置为 `https://api.coze.cn/v1/loop/opentelemetry/v1/traces` - api_key:扣子罗盘访问密钥,支持个人访问令牌、OAuth 访问令牌和服务访问令牌。获取方式可参考[配置个人访问令牌](https://loop.coze.cn/open/docs/cozeloop/authentication-for-sdk#05d27a86)。 -- service_name:扣子罗盘工作空间的 ID。你可以在登录扣子罗盘之后,左上角切换到想要存放火山智能体数据的工作空间,并在 URL 的 space 关键词之后获取工作空间 ID,例如 https://loop.coze.cn/console/enterprise/personal/space/739XXXXXXXX092/pe/prompts 中,**739XXXXXXXX092**为工作空间 ID。 +- service_name:扣子罗盘工作空间的 ID。你可以在登录扣子罗盘之后,左上角切换到想要存放火山智能体数据的工作空间,并在 URL 的 space 关键词之后获取工作空间 ID,例如 `https://loop.coze.cn/console/enterprise/personal/space/739XXXXXXXX092/pe/prompts` 中,**739XXXXXXXX092**为工作空间 ID。 ![cozeloop空间](../assets/images/observation/coze-spaceid.png) @@ -34,7 +37,9 @@ observability: ``` ### 部署运行 + #### Cozeloop exporter接入代码 + ```python title="agent.py" import asyncio @@ -61,17 +66,24 @@ prompt = "How is the weather like in Beijing? Besides, tell me which tool you in asyncio.run(runner.run(messages=prompt, session_id=session_id)) ``` + #### 效果展示 + ```bash python agent.py ``` + ![cozeloop空间](../assets/images/observation/coze-console.png) + ![cozeloop空间](../assets/images/observation/coze-trace.png) ## APMPlus 平台 -通过 VeADK 开发的火山智能体接入到 APMPlus 之后,可以通过 APMPlus 的评测功能进行 Agent 评测,或者通过 Trace 功能实现调用链路观测。火山智能体的 Trace 数据可以直接上报至 APMPlus,实现调用链路观测。 + +通过 VeADK 开发的火山智能体可以通过定义 APMPlus 数据导出器接入到火山引擎 APMPlus 平台,实现调用链路观测。 + ### 准备工作 -- endpoint:指定APMPlus的接入点为 http://apmplus-cn-beijing.volces.com:4317。 + +- endpoint:指定APMPlus的接入点为 http://apmplus-cn-beijing.volces.com:4317 - api_key:需填入有效应用程序密钥。 - service_name:指定服务名称,可根据实际需求修改。 初始化 APMPlusExporter:利用APMPlusExporterConfig配置端点、应用程序密钥和服务名称,创建APMPlusExporter实例,配置从环境变量获取。示例代码如下: @@ -125,25 +137,35 @@ asyncio.run(runner.run(messages=prompt, session_id=session_id)) ``` ### 部署运行 + 本地运行上述agent.py代码,触发APMPlus追踪器记录Agent运行的各个节点的调用,以及Metrics信息上传云端存储: + ```bash python agent.py ``` + ![apmplus空间](../assets/images/observation/apm-console.png) #### 会话信息 + ![apmplus空间](../assets/images/observation/apm-session.png) #### trace信息 + ![apmplus空间](../assets/images/observation/apm-trace.png) #### 模型指标信息 + ![apmplus空间](../assets/images/observation/apm-metrics.png) ## TLS 平台 -通过 VeADK 开发的火山智能体接入到 TLS 之后,可以通过 TLS 的评测功能进行 Agent 评测,或者通过 Trace 功能实现调用链路观测。火山智能体的 Trace 数据可以直接上报至 TLS,实现调用链路观测。 + +通过 VeADK 开发的火山智能体可以通过定义 TLS 数据导出器来接入到火山引擎日志服务 TLS,并在 TLS 的观测功能模块中进行 Agent 执行链路观测。 + ### 准备工作 + #### veADK代码中创建tracing project和实例 + ```yaml title="config.yaml" model: agent: @@ -191,6 +213,7 @@ print(f"Created trace instance with ID: {trace_instance['TraceInstanceId']}") ``` #### TLS Exporter接入代码示例 + ```python title="agent.py" import asyncio @@ -226,9 +249,13 @@ asyncio.run(runner.run(messages=prompt, session_id=session_id)) ``` ### 部署运行 + 本地运行上述agent.py代码,触发TLS Project、Topic的创建,并且通过追踪器记录Agent运行的各个节点的调用: + ```bash python agent.py ``` + ![控制台打印](../assets/images/observation/tls-console.png) + ![tls空间](../assets/images/observation/tls-trace.png)