跳到主要内容

记录检索器追踪

注意

如果您不以正确的格式记录检索器追踪,也不会发生任何错误,数据仍然会被记录。但是,数据将不会以特定于检索器步骤的方式呈现。

许多 LLM 应用需要从向量数据库、知识图谱或其他类型的索引中查找文档。检索器追踪是一种记录检索器检索到的文档的方法。LangSmith 为追踪中的检索步骤提供特殊渲染,以便更容易理解和诊断检索问题。为了使检索步骤正确呈现,需要采取几个小步骤。

  1. 使用 run_type="retriever" 注释检索器步骤。
  2. 从检索器步骤返回 Python 字典或 TypeScript 对象的列表。每个字典应包含以下键
    • page_content:文档的文本内容。
    • type:这应始终为 "Document"。
    • metadata:包含文档元数据的 Python 字典或 TypeScript 对象。此元数据将显示在追踪中。

以下代码片段展示了如何在 Python 和 TypeScript 中记录检索步骤。

from langsmith import traceable

def _convert_docs(results):
return [
{
"page_content": r,
"type": "Document",
"metadata": {"foo": "bar"}
}
for r in results
]

@traceable(run_type="retriever")
def retrieve_docs(query):
# Foo retriever returning hardcoded dummy documents.
# In production, this could be a real vector datatabase or other document index.
contents = ["Document contents 1", "Document contents 2", "Document contents 3"]
return _convert_docs(contents)

retrieve_docs("User query")

下图展示了检索器步骤如何在追踪中呈现。内容以及元数据会与每个文档一起显示。


此页是否对您有帮助?


您可以留下详细的反馈 在 GitHub 上.