跳到主要内容

代码文档搜索工具

!!! note "实验性质" 我们仍在努力改进工具,因此未来可能会出现意外行为或更改。

描述

CodeDocsSearchTool 是一个强大的 RAG(检索增强生成)工具,专为代码文档中的语义搜索而设计。它使用户能够高效地在代码文档中找到特定信息或主题。通过在初始化过程中提供 docs_url,该工具将搜索范围缩小到特定的文档站点。另外,如果没有特定的 docs_url,它将在执行过程中搜索已知或发现的广泛代码文档,从而适用于各种文档搜索需求。

安装

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

pip install 'crewai[tools]'

示例

如下所示利用 CodeDocsSearchTool 在代码文档中进行搜索:

from crewai_tools import CodeDocsSearchTool

# 如果已知或在执行过程中发现 URL,则搜索任何代码文档内容:
tool = CodeDocsSearchTool()

# 或者

# 通过提供文档站点的 URL 来专注于特定搜索:
tool = CodeDocsSearchTool(docs_url='https://docs.example.com/reference')

注意:将 'https://docs.example.com/reference' 替换为您的目标文档 URL,将 'How to use search tool' 替换为与您需求相关的搜索查询。

参数

  • docs_url:可选。指定要搜索的代码文档的 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", # 或 openai, ollama, ...
config=dict(
model="models/embedding-001",
task_type="retrieval_document",
# title="Embeddings",
),
),
)
)