tRPC-Agent-Go 是腾讯开源的 Go 语言 AI Agent 开发框架,支持智能推理、持久化 memory、multi-agent 等功能,深度集成腾讯 tRPC 微服务生态,与已有的 tRPC-A2A-Go(Agent-to-Agent 通信框架)和 tRPC-MCP-Go(MCP 开发框架)形成完整的 Go 语言 AI 生态闭环。
操作步骤
步骤1:获取接入点和 Token
1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择 LLM 可观测 > 应用列表,单击接入应用。
3. 在右侧弹出的接入应用抽屉框中,单击 Go 语言。
4. 在接入 Go 应用页面,选择您所要接入的地域以及业务系统。
5. 选择接入协议类型为 OpenTelemetry。
6. 选择您所想要的上报方式,获取您的接入点和 Token。
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接连通,在避免外网通信的安全风险的同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。
步骤2:通过 trpc-agent-go 内置的可观测功能配置接入
注意:
tRPC-Agent-Go 本地采集的指标会上报到 APM,这里需要设置环境变量保证指标的聚合时间性:OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE = DELTA
示例代码如下。
import (// 引入 OpenTelemetry SDK 相关包"go.opentelemetry.io/otel/attribute"// 引入 trpc-agent-go 内置的可观测功能包ametric "trpc.group/trpc-go/trpc-agent-go/telemetry/metric"atrace "trpc.group/trpc-go/trpc-agent-go/telemetry/trace")func main() {// 业务相关代码// trpc-agent-go 配置 trace 和 metric 初始化ctx := context.Background()// Initialize OpenTelemetry tracing.cleanTrace, err := atrace.Start(ctx,atrace.WithEndpoint("<endpoint>"),atrace.WithServiceName("<service_name>"),atrace.WithResourceAttributes(attribute.String("token", "<token>")),)if err != nil {log.Fatalf("Failed to start trace telemetry: %v", err)}defer func() {if err := cleanTrace(); err != nil {log.Printf("Failed to clean up trace telemetry: %v", err)}}()// Initialize OpenTelemetry metrics.mp, err := ametric.NewMeterProvider(ctx,ametric.WithEndpoint("<endpoint>"),ametric.WithServiceName("<service_name>"),ametric.WithResourceAttributes(attribute.String("token", "<token>")),)if err != nil {log.Fatalf("Failed to create metric provider: %v", err)}defer func() {if err := mp.Shutdown(ctx); err != nil {log.Printf("Failed to clean up metric telemetry: %v", err)}}()if err := ametric.InitMeterProvider(mp); err != nil {log.Fatalf("Failed to init metric telemetry: %v", err)}// 业务相关代码}
对应的字段说明如下,请根据实际情况进行替换。
<service_name> :应用名,多个使用相同 service name 接入的应用进程,会表现为该应用下的多个实例。应用名最长63个字符,只能包含小写字母、数字及分隔符“ - ”,且必须以小写字母开头,数字或小写字母结尾。<token> :前置步骤中拿到业务系统 Token。<endpoint> :前置步骤中拿到的接入点。接入验证