跳转到内容

代码文档 RAG 搜索

CodeDocsSearchTool 是一个强大的 RAG(检索增强生成)工具,旨在对代码文档进行语义搜索。
它使用户能够高效地在代码文档中查找特定信息或主题。通过在初始化时提供 docs_url
该工具会将搜索范围收窄到那个特定文档站点。或者,如果没有提供特定的 docs_url
它会在执行过程中搜索大量已知或发现的代码文档,使其适用于多种文档搜索需求。

要开始使用 CodeDocsSearchTool,首先通过 pip 安装 crewai_tools 包:

Terminal window
pip install 'crewai[tools]'

按如下方式使用 CodeDocsSearchTool 在代码文档中进行搜索:

from crewai_tools import CodeDocsSearchTool
# 搜索任何代码文档内容
# 如果 URL 已知,或者在执行过程中被发现:
tool = CodeDocsSearchTool()
# 或者
# 通过提供文档站点 URL,
# 将搜索重点放在给定文档站点上:
tool = CodeDocsSearchTool(docs_url='https://docs.example.com/reference')

下面这些参数可用于自定义 CodeDocsSearchTool 的行为:

参数类型描述
docs_urlstring可选。指定要搜索的代码文档 URL。

默认情况下,该工具使用 OpenAI 进行嵌入和摘要。你可以按如下方式使用配置字典来自定义模型:

tool = CodeDocsSearchTool(
config=dict(
llm=dict(
provider="ollama", # 或 google、openai、anthropic、llama2 等
config=dict(
model="llama2",
# temperature=0.5,
# top_p=1,
# stream=true,
),
),
embedder=dict(
provider="google-generativeai", # 或 openai、ollama 等
config=dict(
model_name="gemini-embedding-001",
task_type="RETRIEVAL_DOCUMENT",
# title="Embeddings",
),
),
)
)