Code Docs RAG Search
CodeDocsSearchTool
Section titled “CodeDocsSearchTool”Description
Section titled “Description”The 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.
Installation
Section titled “Installation”To start using the CodeDocsSearchTool, first, install the crewai_tools package via pip:
pip install 'crewai[tools]'Example
Section titled “Example”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')Arguments
Section titled “Arguments”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. |
Custom model and embeddings
Section titled “Custom model and embeddings”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", ), ), ))