𝗟𝗟𝗠 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁𝘆正在成为构建可靠的 Agentic 系统的关键基础。 𝗧𝗿𝗮𝗰𝗶𝗻𝗴是其中的核心,为什么它很重要? 软件的跟踪和检测已经存在了几十年。随着人工智能系统越来越类似于常规软件,我们现在也将这种做法转移到这里(但有一些关键区别)。 让我们从简单的 RAG 系统的角度来看一下跟踪的过程。 𝘍𝘦𝘸 𝘥𝘦𝘧𝘪𝘯𝘪𝘵𝘪𝘰𝘯𝘴 : 𝘼 ) GenAI 系统应用程序中的控制器是协调端到端流程的核心软件。想想使用 LangChain、LlamaIndex 或 Haystack 的应用程序。 𝘽 )跟踪是从入口点到产生答案的端到端应用程序流,它由称为跨度的较小部分组成。 𝘾 )Span 是应用程序流程中较小的一个部分,它表示原子操作,例如函数调用或数据库查询。它们可以是顺序的,也可以是并行的。 ℹ️作为跨度的一部分,我们捕获一般元数据,如跨度的开始和结束时间、输入和输出。在这些元数据的基础上,我们跟踪特定于 GenAI 系统元素的信息。 对于简单的 RAG 系统来说,追踪看起来是什么样的? 𝟭 . 已提交给聊天应用程序的查询。 𝟮 .查询嵌入到向量中。 ✅输入令牌计数等附加元数据与跨度一起保存,以便我们可以估算该过程的成本。 𝟯针对 Vector DB 执行 ANN 查找以检索最相关的上下文。 ✅有关查询的附加元数据作为跨度的一部分与检索到的上下文及其相关性一起保存。 𝟰 . 提示由系统提示和检索到的上下文构成。 𝟱提示被传递给LLM来构建答案。 ✅有关输入和输出令牌计数的附加元数据与跨度一起捕获,以便我们可以估算该过程的成本。 𝘞𝘩𝘺 𝘪𝘴 𝘵𝘳𝘢𝘤𝘪𝘯𝘨 𝘰𝘧 𝘎𝘦𝘯𝘈𝘐 𝘴𝘺𝘴𝘵𝘦𝘮𝘴 𝘪𝘮𝘱𝘰𝘳𝘵𝘢𝘯𝘵 ? - 这些申请通常都是复杂的链条,错误可能发生在申请的不同步骤中。例如,查询的嵌入时间比预期的要长,或者您已达到 LLM 提供商的 API 限制。 - 调用 LLM API 的成本将根据输入和产生的输出的长度而变化。您通常会跟踪并分析此信息以帮助预测费用。 - GenAI 系统是非确定性的,会随着时间的推移而恶化。需要在跨度级别而不是整个系统的输入/输出级别对其进行评估,以便您可以单独调整每个部分。 - … 你在追踪 GenAI 系统吗?请在评论中告诉我👇编程严选网