docs/en/tools/search-research/codedocssearchtool.mdx
CodeDocsSearchToolThe CodeDocsSearchTool is a powerful RAG (Retrieval-Augmented Generation) tool designed for semantic searches within code documentation.
It enables users to efficiently find specific information or topics within code documentation. By providing a docs_url during initialization,
the tool narrows down the search to that particular documentation site. Alternatively, without a specific docs_url,
it searches across a wide array of code documentation known or discovered throughout its execution, making it versatile for various documentation search needs.
To start using the CodeDocsSearchTool, first, install the crewai_tools package via pip:
pip install 'crewai[tools]'
Utilize the CodeDocsSearchTool as follows to conduct searches within code documentation:
from crewai_tools import CodeDocsSearchTool
# To search any code documentation content
# if the URL is known or discovered during its execution:
tool = CodeDocsSearchTool()
# OR
# To specifically focus your search on a given documentation site
# by providing its URL:
tool = CodeDocsSearchTool(docs_url='https://docs.example.com/reference')
The following parameters can be used to customize the CodeDocsSearchTool's behavior:
| Argument | Type | Description |
|---|---|---|
| docs_url | string | Optional. Specifies the URL of the code documentation to be searched. |
By default, the tool uses OpenAI for both embeddings and summarization. To customize the model, you can use a config dictionary as follows:
tool = CodeDocsSearchTool(
config=dict(
llm=dict(
provider="ollama", # or google, openai, anthropic, llama2, ...
config=dict(
model="llama2",
# temperature=0.5,
# top_p=1,
# stream=true,
),
),
embedder=dict(
provider="google-generativeai", # or openai, ollama, ...
config=dict(
model_name="gemini-embedding-001",
task_type="RETRIEVAL_DOCUMENT",
# title="Embeddings",
),
),
)
)