跳到主要内容
即使您未以正确的格式记录检索器追踪,也并不会导致任何错误,数据仍将被记录。然而,数据将不会以检索器步骤特有的方式呈现。
许多 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")
下图展示了检索器步骤在追踪中的渲染方式。每个文档都显示了其内容以及元数据。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.