Langfuse 匯出器
Koog 內建支援將代理程式追蹤匯出到 Langfuse,這是一個用於 AI 應用程式可觀察性與分析的平台。 透過 Langfuse 整合,您可以視覺化、分析和除錯您的 Koog 代理程式如何與 LLM、API 和其他元件互動。
有關 Koog 的 OpenTelemetry 支援背景資訊,請參閱 OpenTelemetry support。
設定說明
- 建立一個 Langfuse 專案。請遵循 在 Langfuse 中建立新專案 的設定指南。
- 取得 API 憑證。請按照 Langfuse API 金鑰在哪裡? 所述,擷取您的 Langfuse
public key
和secret key
。 - 將 Langfuse 主機、public key 和 secret key 傳遞給 Langfuse 匯出器。 這可以透過將它們作為參數提供給
addLangfuseExporter()
函式來完成, 或者如下所示設定環境變數:
bash
export LANGFUSE_HOST="https://cloud.langfuse.com"
export LANGFUSE_PUBLIC_KEY="<your-public-key>"
export LANGFUSE_SECRET_KEY="<your-secret-key>"
配置
要啟用 Langfuse 匯出,請安裝 OpenTelemetry 功能並新增 LangfuseExporter
。 該匯出器底層使用 OtlpHttpSpanExporter
將追蹤傳送到 Langfuse 的 OpenTelemetry 端點。
範例:具有 Langfuse 追蹤的代理程式
kotlin
fun main() = runBlocking {
val apiKey = "api-key"
val agent = AIAgent(
promptExecutor = simpleOpenAIExecutor(apiKey),
llmModel = OpenAIModels.CostOptimized.GPT4oMini,
systemPrompt = "You are a code assistant. Provide concise code examples."
) {
install(OpenTelemetry) {
addLangfuseExporter()
}
}
println("Running agent with Langfuse tracing")
val result = agent.run("Tell me a joke about programming")
println("Result: $result
See traces on the Langfuse instance")
}
追蹤的內容
啟用後,Langfuse 匯出器會擷取與 Koog 一般 OpenTelemetry 整合相同的 span,包括:
- 代理程式生命週期事件:代理程式啟動、停止、錯誤
- LLM 互動:提示、回應、令牌使用量、延遲
- 工具呼叫:工具調用的執行追蹤
- 系統上下文:中繼資料,例如模型名稱、環境、Koog 版本
Koog 也會擷取 Langfuse 顯示 Agent Graphs 所需的 span 屬性。
在 Langfuse 中視覺化時,追蹤顯示如下:
有關 Langfuse OpenTelemetry 追蹤的更多詳情,請參閱: Langfuse OpenTelemetry Docs。
疑難排解
Langfuse 中沒有出現追蹤
- 仔細檢查
LANGFUSE_HOST
、LANGFUSE_PUBLIC_KEY
和LANGFUSE_SECRET_KEY
是否已在您的環境中設定。 - 如果是在自行託管的 Langfuse 上執行,請確認
LANGFUSE_HOST
可從您的應用程式環境存取。 - 驗證 public/secret key 對屬於正確的專案。