The GithubSearchTool
is designed to search websites and convert them into clean markdown or structured data.
GithubSearchTool
pip install 'crewai[tools]'
from crewai_tools import GithubSearchTool
# Initialize the tool for semantic searches within a specific GitHub repository
tool = GithubSearchTool(
github_repo='https://github.com/example/repo',
gh_token='your_github_personal_access_token',
content_types=['code', 'issue'] # Options: code, repo, pr, issue
)
# OR
# Initialize the tool for semantic searches within a specific GitHub repository, so the agent can search any repository if it learns about during its execution
tool = GithubSearchTool(
gh_token='your_github_personal_access_token',
content_types=['code', 'issue'] # Options: code, repo, pr, issue
)
github_repo
: The URL of the GitHub repository where the search will be conducted. This is a mandatory field and specifies the target repository for your search.gh_token
: Your GitHub Personal Access Token (PAT) required for authentication. You can create one in your GitHub account settings under Developer Settings > Personal Access Tokens.content_types
: Specifies the types of content to include in your search. You must provide a list of content types from the following options: code
for searching within the code,
repo
for searching within the repository’s general information, pr
for searching within pull requests, and issue
for searching within issues.
This field is mandatory and allows tailoring the search to specific content types within the GitHub repository.tool = GithubSearchTool(
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", # or openai, ollama, ...
config=dict(
model="models/embedding-001",
task_type="retrieval_document",
# title="Embeddings",
),
),
)
)
Was this page helpful?