mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 00:28:31 +00:00
Add pt-BR docs translation (#3039)
* docs: add pt-br translations Powered by a CrewAI Flow https://github.com/danielfsbarreto/docs_translator * Update mcp/overview.mdx brazilian docs Its en-US counterpart was updated after I did a pass, so now it includes the new section about @CrewBase
This commit is contained in:
96
docs/pt-BR/tools/search-research/bravesearchtool.mdx
Normal file
96
docs/pt-BR/tools/search-research/bravesearchtool.mdx
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
title: Brave Search
|
||||
description: O `BraveSearchTool` foi projetado para pesquisar na internet usando a Brave Search API.
|
||||
icon: searchengin
|
||||
---
|
||||
|
||||
# `BraveSearchTool`
|
||||
|
||||
## Descrição
|
||||
|
||||
Esta ferramenta foi desenvolvida para realizar buscas na web utilizando a Brave Search API. Ela permite que você pesquise na internet com uma consulta especificada e recupere resultados relevantes. A ferramenta suporta a personalização do número de resultados e buscas específicas por país.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para incorporar esta ferramenta ao seu projeto, siga as instruções de instalação abaixo:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Passos para Começar
|
||||
|
||||
Para utilizar o `BraveSearchTool` de forma eficaz, siga estes passos:
|
||||
|
||||
1. **Instalação do Pacote**: Confirme que o pacote `crewai[tools]` está instalado no seu ambiente Python.
|
||||
2. **Obtenção da Chave de API**: Obtenha uma chave de API do Brave Search registrando-se em [Brave Search API](https://api.search.brave.com/app/keys).
|
||||
3. **Configuração do Ambiente**: Armazene a chave de API obtida em uma variável de ambiente chamada `BRAVE_API_KEY` para facilitar seu uso pela ferramenta.
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como inicializar a ferramenta e executar uma busca com uma determinada consulta:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import BraveSearchTool
|
||||
|
||||
# Inicialize a ferramenta para capacidades de busca na internet
|
||||
tool = BraveSearchTool()
|
||||
|
||||
# Execute uma busca
|
||||
results = tool.run(search_query="CrewAI agent framework")
|
||||
print(results)
|
||||
```
|
||||
|
||||
## Parâmetros
|
||||
|
||||
O `BraveSearchTool` aceita os seguintes parâmetros:
|
||||
|
||||
- **search_query**: Obrigatório. A consulta de pesquisa que você deseja usar para pesquisar na internet.
|
||||
- **country**: Opcional. Especifique o país dos resultados da pesquisa. O padrão é string vazia.
|
||||
- **n_results**: Opcional. Número de resultados de pesquisa a serem retornados. O padrão é `10`.
|
||||
- **save_file**: Opcional. Se os resultados da pesquisa devem ser salvos em um arquivo. O padrão é `False`.
|
||||
|
||||
## Exemplo com Parâmetros
|
||||
|
||||
Veja um exemplo demonstrando como usar a ferramenta com parâmetros adicionais:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import BraveSearchTool
|
||||
|
||||
# Inicialize a ferramenta com parâmetros personalizados
|
||||
tool = BraveSearchTool(
|
||||
country="US",
|
||||
n_results=5,
|
||||
save_file=True
|
||||
)
|
||||
|
||||
# Execute uma busca
|
||||
results = tool.run(search_query="Latest AI developments")
|
||||
print(results)
|
||||
```
|
||||
|
||||
## Exemplo de Integração com Agente
|
||||
|
||||
Veja como integrar o `BraveSearchTool` com um agente CrewAI:
|
||||
|
||||
```python Code
|
||||
from crewai import Agent
|
||||
from crewai.project import agent
|
||||
from crewai_tools import BraveSearchTool
|
||||
|
||||
# Inicialize a ferramenta
|
||||
brave_search_tool = BraveSearchTool()
|
||||
|
||||
# Defina um agente com o BraveSearchTool
|
||||
@agent
|
||||
def researcher(self) -> Agent:
|
||||
return Agent(
|
||||
config=self.agents_config["researcher"],
|
||||
allow_delegation=False,
|
||||
tools=[brave_search_tool]
|
||||
)
|
||||
```
|
||||
|
||||
## Conclusão
|
||||
|
||||
Ao integrar o `BraveSearchTool` em projetos Python, os usuários ganham a capacidade de realizar buscas em tempo real e relevantes na internet diretamente de suas aplicações. A ferramenta oferece uma interface simples para a poderosa Brave Search API, facilitando a recuperação e o processamento programático dos resultados de pesquisa. Seguindo as orientações de configuração e uso fornecidas, a incorporação desta ferramenta em projetos é simplificada e direta.
|
||||
84
docs/pt-BR/tools/search-research/codedocssearchtool.mdx
Normal file
84
docs/pt-BR/tools/search-research/codedocssearchtool.mdx
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Pesquisa com RAG em Documentação de Código
|
||||
description: O `CodeDocsSearchTool` é uma poderosa ferramenta RAG (Geração Aumentada por Recuperação) projetada para buscas semânticas em documentação de código.
|
||||
icon: code
|
||||
---
|
||||
|
||||
# `CodeDocsSearchTool`
|
||||
|
||||
<Note>
|
||||
**Experimental**: Ainda estamos trabalhando para melhorar as ferramentas, então pode haver comportamentos inesperados ou mudanças no futuro.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
O CodeDocsSearchTool é uma poderosa ferramenta RAG (Geração Aumentada por Recuperação) projetada para buscas semânticas em documentação de código.
|
||||
Ela permite que usuários encontrem de forma eficiente informações ou tópicos específicos dentro da documentação de código. Ao fornecer um `docs_url` durante a inicialização,
|
||||
a ferramenta restringe a busca àquele site de documentação em particular. Alternativamente, sem um `docs_url` específico,
|
||||
ela realiza buscas em uma ampla variedade de documentações de código conhecidas ou descobertas durante sua execução, tornando-a versátil para diversas necessidades de busca em documentação.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para começar a usar o CodeDocsSearchTool, primeiro instale o pacote crewai_tools via pip:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Exemplo
|
||||
|
||||
Utilize o CodeDocsSearchTool conforme abaixo para realizar buscas em documentação de código:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import CodeDocsSearchTool
|
||||
|
||||
# Para buscar qualquer conteúdo de documentação de código
|
||||
# se a URL for conhecida ou descoberta durante a execução:
|
||||
tool = CodeDocsSearchTool()
|
||||
|
||||
# OU
|
||||
|
||||
# Para focar sua busca especificamente em um site de documentação
|
||||
# fornecendo sua URL:
|
||||
tool = CodeDocsSearchTool(docs_url='https://docs.example.com/reference')
|
||||
```
|
||||
<Note>
|
||||
Substitua 'https://docs.example.com/reference' pela URL da documentação desejada
|
||||
e 'How to use search tool' pela consulta de busca relevante às suas necessidades.
|
||||
</Note>
|
||||
|
||||
## Argumentos
|
||||
|
||||
Os seguintes parâmetros podem ser usados para personalizar o comportamento do `CodeDocsSearchTool`:
|
||||
|
||||
| Argumento | Tipo | Descrição |
|
||||
|:----------------|:---------|:-------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **docs_url** | `string` | _Opcional_. Especifica a URL da documentação de código a ser pesquisada. |
|
||||
|
||||
## Modelo e embeddings personalizados
|
||||
|
||||
Por padrão, a ferramenta utiliza a OpenAI tanto para embeddings quanto para sumarização. Para customizar o modelo, você pode usar um dicionário de configuração conforme abaixo:
|
||||
|
||||
```python Code
|
||||
tool = CodeDocsSearchTool(
|
||||
config=dict(
|
||||
llm=dict(
|
||||
provider="ollama", # ou google, openai, anthropic, llama2, ...
|
||||
config=dict(
|
||||
model="llama2",
|
||||
# temperature=0.5,
|
||||
# top_p=1,
|
||||
# stream=true,
|
||||
),
|
||||
),
|
||||
embedder=dict(
|
||||
provider="google", # ou openai, ollama, ...
|
||||
config=dict(
|
||||
model="models/embedding-001",
|
||||
task_type="retrieval_document",
|
||||
# title="Embeddings",
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
```
|
||||
52
docs/pt-BR/tools/search-research/exasearchtool.mdx
Normal file
52
docs/pt-BR/tools/search-research/exasearchtool.mdx
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
title: Carregador Web EXA Search
|
||||
description: O `EXASearchTool` foi projetado para realizar uma busca semântica para uma consulta especificada a partir do conteúdo de um texto em toda a internet.
|
||||
icon: globe-pointer
|
||||
---
|
||||
|
||||
# `EXASearchTool`
|
||||
|
||||
## Descrição
|
||||
|
||||
O EXASearchTool foi projetado para realizar uma busca semântica para uma consulta especificada a partir do conteúdo de um texto em toda a internet.
|
||||
Ele utiliza a API da [exa.ai](https://exa.ai/) para buscar e exibir os resultados de pesquisa mais relevantes com base na consulta fornecida pelo usuário.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para incorporar esta ferramenta em seu projeto, siga as instruções de instalação abaixo:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como inicializar a ferramenta e executar uma busca com uma consulta determinada:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import EXASearchTool
|
||||
|
||||
# Initialize the tool for internet searching capabilities
|
||||
tool = EXASearchTool()
|
||||
```
|
||||
|
||||
## Etapas para Começar
|
||||
|
||||
Para usar o EXASearchTool de forma eficaz, siga estas etapas:
|
||||
|
||||
<Steps>
|
||||
<Step title="Instalação do Pacote">
|
||||
Confirme se o pacote `crewai[tools]` está instalado em seu ambiente Python.
|
||||
</Step>
|
||||
<Step title="Obtenção da Chave de API">
|
||||
Adquira uma chave de API da [exa.ai](https://exa.ai/) registrando-se gratuitamente em [exa.ai](https://exa.ai/).
|
||||
</Step>
|
||||
<Step title="Configuração de Ambiente">
|
||||
Armazene a chave de API obtida em uma variável de ambiente chamada `EXA_API_KEY` para facilitar o uso pela ferramenta.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## Conclusão
|
||||
|
||||
Ao integrar o `EXASearchTool` em projetos Python, os usuários ganham a capacidade de realizar buscas relevantes e em tempo real pela internet diretamente de suas aplicações.
|
||||
Seguindo as orientações de configuração e uso fornecidas, a incorporação desta ferramenta em projetos torna-se simples e direta.
|
||||
84
docs/pt-BR/tools/search-research/githubsearchtool.mdx
Normal file
84
docs/pt-BR/tools/search-research/githubsearchtool.mdx
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Github Search
|
||||
description: O `GithubSearchTool` foi desenvolvido para pesquisar sites e convertê-los em markdown limpo ou dados estruturados.
|
||||
icon: github
|
||||
---
|
||||
|
||||
# `GithubSearchTool`
|
||||
|
||||
<Note>
|
||||
Ainda estamos trabalhando para melhorar as ferramentas, portanto pode haver comportamentos inesperados ou mudanças no futuro.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
O GithubSearchTool é uma ferramenta de Recuperação Aprimorada por Geração (RAG) especificamente projetada para realizar buscas semânticas em repositórios GitHub. Utilizando funcionalidades avançadas de busca semântica, ele examina códigos, pull requests, issues e repositórios, tornando-se uma ferramenta essencial para desenvolvedores, pesquisadores ou qualquer pessoa que precise de informações precisas do GitHub.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para usar o GithubSearchTool, primeiro certifique-se de que o pacote crewai_tools está instalado em seu ambiente Python:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
Esse comando instala o pacote necessário para rodar o GithubSearchTool juntamente com outras ferramentas incluídas no pacote crewai_tools.
|
||||
|
||||
## Exemplo
|
||||
|
||||
Veja como você pode usar o GithubSearchTool para realizar buscas semânticas dentro de um repositório GitHub:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import GithubSearchTool
|
||||
|
||||
# Inicialize a ferramenta para buscas semânticas em um repositório GitHub específico
|
||||
tool = GithubSearchTool(
|
||||
github_repo='https://github.com/example/repo',
|
||||
gh_token='your_github_personal_access_token',
|
||||
content_types=['code', 'issue'] # Opções: code, repo, pr, issue
|
||||
)
|
||||
|
||||
# OU
|
||||
|
||||
# Inicialize a ferramenta para buscas semânticas em um repositório GitHub específico, permitindo que o agente pesquise em qualquer repositório caso tome conhecimento durante a execução
|
||||
tool = GithubSearchTool(
|
||||
gh_token='your_github_personal_access_token',
|
||||
content_types=['code', 'issue'] # Opções: code, repo, pr, issue
|
||||
)
|
||||
```
|
||||
|
||||
## Argumentos
|
||||
|
||||
- `github_repo` : A URL do repositório GitHub onde a busca será realizada. Este é um campo obrigatório e especifica o repositório alvo para sua pesquisa.
|
||||
- `gh_token` : Seu Personal Access Token (PAT) do GitHub necessário para autenticação. Você pode criar um nas configurações da sua conta GitHub em Developer Settings > Personal Access Tokens.
|
||||
- `content_types` : Especifica os tipos de conteúdo a serem incluídos na busca. É necessário fornecer uma lista dos tipos de conteúdo das seguintes opções: `code` para pesquisar dentro do código,
|
||||
`repo` para pesquisar nas informações gerais do repositório, `pr` para pesquisar em pull requests, e `issue` para pesquisar nas issues.
|
||||
Este campo é obrigatório e permite adaptar a busca para tipos específicos de conteúdo dentro do repositório GitHub.
|
||||
|
||||
## Modelo e embeddings personalizados
|
||||
|
||||
Por padrão, a ferramenta utiliza o OpenAI tanto para embeddings quanto para sumarização. Para personalizar o modelo, você pode usar um dicionário de configuração como no exemplo:
|
||||
|
||||
```python Code
|
||||
tool = GithubSearchTool(
|
||||
config=dict(
|
||||
llm=dict(
|
||||
provider="ollama", # ou google, openai, anthropic, llama2, ...
|
||||
config=dict(
|
||||
model="llama2",
|
||||
# temperature=0.5,
|
||||
# top_p=1,
|
||||
# stream=true,
|
||||
),
|
||||
),
|
||||
embedder=dict(
|
||||
provider="google", # ou openai, ollama, ...
|
||||
config=dict(
|
||||
model="models/embedding-001",
|
||||
task_type="retrieval_document",
|
||||
# title="Embeddings",
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
```
|
||||
112
docs/pt-BR/tools/search-research/linkupsearchtool.mdx
Normal file
112
docs/pt-BR/tools/search-research/linkupsearchtool.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: Linkup Search Tool
|
||||
description: O `LinkupSearchTool` permite consultar a API do Linkup para obter informações contextuais.
|
||||
icon: link
|
||||
---
|
||||
|
||||
# `LinkupSearchTool`
|
||||
|
||||
## Descrição
|
||||
|
||||
O `LinkupSearchTool` fornece a capacidade de consultar a API do Linkup para obter informações contextuais e recuperar resultados estruturados. Esta ferramenta é ideal para enriquecer fluxos de trabalho com informações atualizadas e confiáveis do Linkup, permitindo que agentes acessem dados relevantes durante a execução de suas tarefas.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para utilizar esta ferramenta, é necessário instalar o Linkup SDK:
|
||||
|
||||
```shell
|
||||
uv add linkup-sdk
|
||||
```
|
||||
|
||||
## Passos para começar
|
||||
|
||||
Para usar efetivamente o `LinkupSearchTool`, siga estes passos:
|
||||
|
||||
1. **Chave de API**: Obtenha uma chave de API do Linkup.
|
||||
2. **Configuração do Ambiente**: Configure seu ambiente com a chave de API.
|
||||
3. **Instalar SDK**: Instale o Linkup SDK usando o comando acima.
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como inicializar a ferramenta e usá-la em um agente:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import LinkupSearchTool
|
||||
from crewai import Agent
|
||||
import os
|
||||
|
||||
# Initialize the tool with your API key
|
||||
linkup_tool = LinkupSearchTool(api_key=os.getenv("LINKUP_API_KEY"))
|
||||
|
||||
# Define an agent that uses the tool
|
||||
@agent
|
||||
def researcher(self) -> Agent:
|
||||
'''
|
||||
This agent uses the LinkupSearchTool to retrieve contextual information
|
||||
from the Linkup API.
|
||||
'''
|
||||
return Agent(
|
||||
config=self.agents_config["researcher"],
|
||||
tools=[linkup_tool]
|
||||
)
|
||||
```
|
||||
|
||||
## Parâmetros
|
||||
|
||||
O `LinkupSearchTool` aceita os seguintes parâmetros:
|
||||
|
||||
### Parâmetros do Construtor
|
||||
- **api_key**: Obrigatório. Sua chave de API do Linkup.
|
||||
|
||||
### Parâmetros de Execução
|
||||
- **query**: Obrigatório. O termo ou frase de busca.
|
||||
- **depth**: Opcional. A profundidade da busca. O padrão é "standard".
|
||||
- **output_type**: Opcional. O tipo de saída. O padrão é "searchResults".
|
||||
|
||||
## Uso Avançado
|
||||
|
||||
Você pode personalizar os parâmetros de busca para resultados mais específicos:
|
||||
|
||||
```python Code
|
||||
# Perform a search with custom parameters
|
||||
results = linkup_tool.run(
|
||||
query="Women Nobel Prize Physics",
|
||||
depth="deep",
|
||||
output_type="searchResults"
|
||||
)
|
||||
```
|
||||
|
||||
## Formato de Retorno
|
||||
|
||||
A ferramenta retorna resultados no seguinte formato:
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"results": [
|
||||
{
|
||||
"name": "Result Title",
|
||||
"url": "https://example.com/result",
|
||||
"content": "Content of the result..."
|
||||
},
|
||||
// Additional results...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Se ocorrer um erro, a resposta será:
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": "Error message"
|
||||
}
|
||||
```
|
||||
|
||||
## Tratamento de Erros
|
||||
|
||||
A ferramenta lida com erros de API de forma amigável e fornece feedback estruturado. Se a requisição à API falhar, a ferramenta retornará um dicionário com `success: false` e uma mensagem de erro.
|
||||
|
||||
## Conclusão
|
||||
|
||||
O `LinkupSearchTool` oferece uma forma integrada de incorporar as capacidades de busca de informações contextuais do Linkup aos seus agentes CrewAI. Ao utilizar esta ferramenta, os agentes podem acessar informações relevantes e atualizadas para aprimorar sua tomada de decisão e execução de tarefas.
|
||||
71
docs/pt-BR/tools/search-research/overview.mdx
Normal file
71
docs/pt-BR/tools/search-research/overview.mdx
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: "Visão Geral"
|
||||
description: "Realize pesquisas na web, encontre repositórios e pesquise informações em toda a internet"
|
||||
icon: "face-smile"
|
||||
---
|
||||
|
||||
Essas ferramentas permitem que seus agentes pesquisem na web, explorem tópicos e encontrem informações em diversas plataformas, incluindo motores de busca, GitHub e YouTube.
|
||||
|
||||
## **Ferramentas Disponíveis**
|
||||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Serper Dev Tool" icon="google" href="/pt-BR/tools/search-research/serperdevtool">
|
||||
Integração com a API de busca do Google para capacidades abrangentes de pesquisa na web.
|
||||
</Card>
|
||||
|
||||
<Card title="Brave Search Tool" icon="shield" href="/pt-BR/tools/search-research/bravesearchtool">
|
||||
Pesquisa voltada para privacidade com o índice independente de busca do Brave.
|
||||
</Card>
|
||||
|
||||
<Card title="Exa Search Tool" icon="magnifying-glass" href="/pt-BR/tools/search-research/exasearchtool">
|
||||
Pesquisa impulsionada por IA para encontrar conteúdo específico e relevante.
|
||||
</Card>
|
||||
|
||||
<Card title="LinkUp Search Tool" icon="link" href="/pt-BR/tools/search-research/linkupsearchtool">
|
||||
Pesquisa em tempo real na web com indexação de conteúdo atualizado.
|
||||
</Card>
|
||||
|
||||
<Card title="GitHub Search Tool" icon="github" href="/pt-BR/tools/search-research/githubsearchtool">
|
||||
Pesquise repositórios do GitHub, códigos, issues e documentação.
|
||||
</Card>
|
||||
|
||||
<Card title="Website Search Tool" icon="globe" href="/pt-BR/tools/search-research/websitesearchtool">
|
||||
Pesquisa dentro de sites e domínios específicos.
|
||||
</Card>
|
||||
|
||||
<Card title="Code Docs Search Tool" icon="code" href="/pt-BR/tools/search-research/codedocssearchtool">
|
||||
Pesquise em documentação de código e recursos técnicos.
|
||||
</Card>
|
||||
|
||||
<Card title="YouTube Channel Search" icon="youtube" href="/pt-BR/tools/search-research/youtubechannelsearchtool">
|
||||
Pesquise canais do YouTube para encontrar conteúdos e criadores específicos.
|
||||
</Card>
|
||||
|
||||
<Card title="YouTube Video Search" icon="play" href="/pt-BR/tools/search-research/youtubevideosearchtool">
|
||||
Encontre e analise vídeos do YouTube por assunto, palavra-chave ou critério.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## **Casos de Uso Comuns**
|
||||
|
||||
- **Pesquisa de Mercado**: Pesquise tendências de mercado e análise de concorrentes
|
||||
- **Descoberta de Conteúdo**: Encontre artigos, vídeos e recursos relevantes
|
||||
- **Pesquisa de Código**: Pesquise repositórios e documentação em busca de soluções
|
||||
- **Geração de Leads**: Pesquise empresas e pessoas
|
||||
- **Pesquisa Acadêmica**: Encontre artigos científicos e trabalhos técnicos
|
||||
|
||||
```python
|
||||
from crewai_tools import SerperDevTool, GitHubSearchTool, YoutubeVideoSearchTool
|
||||
|
||||
# Create research tools
|
||||
web_search = SerperDevTool()
|
||||
code_search = GitHubSearchTool()
|
||||
video_research = YoutubeVideoSearchTool()
|
||||
|
||||
# Add to your agent
|
||||
agent = Agent(
|
||||
role="Research Analyst",
|
||||
tools=[web_search, code_search, video_research],
|
||||
goal="Gather comprehensive information on any topic"
|
||||
)
|
||||
```
|
||||
112
docs/pt-BR/tools/search-research/serperdevtool.mdx
Normal file
112
docs/pt-BR/tools/search-research/serperdevtool.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: Pesquisa Serper Google
|
||||
description: O `SerperDevTool` é projetado para pesquisar na internet e retornar os resultados mais relevantes.
|
||||
icon: google
|
||||
---
|
||||
|
||||
# `SerperDevTool`
|
||||
|
||||
<Note>
|
||||
Ainda estamos trabalhando na melhoria das ferramentas, portanto, pode haver comportamentos inesperados ou mudanças no futuro.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
Esta ferramenta foi projetada para realizar buscas semânticas para uma consulta especificada a partir do conteúdo de um texto na internet. Ela utiliza a API do [serper.dev](https://serper.dev)
|
||||
para buscar e exibir os resultados de pesquisa mais relevantes com base na consulta fornecida pelo usuário.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para incorporar esta ferramenta em seu projeto, siga as instruções de instalação abaixo:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como inicializar a ferramenta e executar uma busca com uma consulta fornecida:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import SerperDevTool
|
||||
|
||||
# Inicializar a ferramenta para capacidades de busca na internet
|
||||
tool = SerperDevTool()
|
||||
```
|
||||
|
||||
## Etapas para Começar
|
||||
|
||||
Para utilizar o `SerperDevTool` de forma eficaz, siga estes passos:
|
||||
|
||||
1. **Instalação do Pacote**: Confirme se o pacote `crewai[tools]` está instalado em seu ambiente Python.
|
||||
2. **Obtenção da Chave de API**: Adquira uma chave de API do `serper.dev` registrando-se para uma conta gratuita em `serper.dev`.
|
||||
3. **Configuração do Ambiente**: Armazene sua chave de API obtida em uma variável de ambiente chamada `SERPER_API_KEY` para facilitar o uso pela ferramenta.
|
||||
|
||||
## Parâmetros
|
||||
|
||||
O `SerperDevTool` possui vários parâmetros que serão passados para a API:
|
||||
|
||||
- **search_url**: O endpoint da URL para a API de busca. (Padrão é `https://google.serper.dev/search`)
|
||||
|
||||
- **country**: Opcional. Especifica o país para os resultados de busca.
|
||||
- **location**: Opcional. Especifica a localização para os resultados de busca.
|
||||
- **locale**: Opcional. Especifica o local para os resultados de busca.
|
||||
- **n_results**: Número de resultados de busca a serem retornados. O padrão é `10`.
|
||||
|
||||
Os valores para `country`, `location`, `locale` e `search_url` podem ser encontrados no [Serper Playground](https://serper.dev/playground).
|
||||
|
||||
## Exemplo com Parâmetros
|
||||
|
||||
Aqui está um exemplo demonstrando como usar a ferramenta com parâmetros adicionais:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import SerperDevTool
|
||||
|
||||
tool = SerperDevTool(
|
||||
search_url="https://google.serper.dev/scholar",
|
||||
n_results=2,
|
||||
)
|
||||
|
||||
print(tool.run(search_query="ChatGPT"))
|
||||
|
||||
# Using Tool: Search the internet
|
||||
|
||||
# Search results: Title: Role of chat gpt in public health
|
||||
# Link: https://link.springer.com/article/10.1007/s10439-023-03172-7
|
||||
# Snippet: … ChatGPT in public health. In this overview, we will examine the potential uses of ChatGPT in
|
||||
# ---
|
||||
# Title: Potential use of chat gpt in global warming
|
||||
# Link: https://link.springer.com/article/10.1007/s10439-023-03171-8
|
||||
# Snippet: … as ChatGPT, have the potential to play a critical role in advancing our understanding of climate
|
||||
# ---
|
||||
|
||||
```
|
||||
|
||||
```python Code
|
||||
from crewai_tools import SerperDevTool
|
||||
|
||||
tool = SerperDevTool(
|
||||
country="fr",
|
||||
locale="fr",
|
||||
location="Paris, Paris, Ile-de-France, France",
|
||||
n_results=2,
|
||||
)
|
||||
|
||||
print(tool.run(search_query="Jeux Olympiques"))
|
||||
|
||||
# Using Tool: Search the internet
|
||||
|
||||
# Search results: Title: Jeux Olympiques de Paris 2024 - Actualités, calendriers, résultats
|
||||
# Link: https://olympics.com/fr/paris-2024
|
||||
# Snippet: Quels sont les sports présents aux Jeux Olympiques de Paris 2024 ? · Athlétisme · Aviron · Badminton · Basketball · Basketball 3x3 · Boxe · Breaking · Canoë ...
|
||||
# ---
|
||||
# Title: Billetterie Officielle de Paris 2024 - Jeux Olympiques et Paralympiques
|
||||
# Link: https://tickets.paris2024.org/
|
||||
# Snippet: Achetez vos billets exclusivement sur le site officiel de la billetterie de Paris 2024 pour participer au plus grand événement sportif au monde.
|
||||
# ---
|
||||
```
|
||||
|
||||
## Conclusão
|
||||
|
||||
Ao integrar o `SerperDevTool` em projetos Python, os usuários obtêm a capacidade de realizar buscas em tempo real e relevantes na internet diretamente de suas aplicações.
|
||||
Os parâmetros atualizados permitem resultados de busca mais personalizados e localizados. Seguindo as diretrizes de configuração e uso fornecidas, a incorporação desta ferramenta nos projetos é simplificada e direta.
|
||||
77
docs/pt-BR/tools/search-research/websitesearchtool.mdx
Normal file
77
docs/pt-BR/tools/search-research/websitesearchtool.mdx
Normal file
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Pesquisa RAG em Sites
|
||||
description: O `WebsiteSearchTool` foi projetado para realizar uma busca RAG (Geração Aumentada por Recuperação) dentro do conteúdo de um site.
|
||||
icon: globe-stand
|
||||
---
|
||||
|
||||
# `WebsiteSearchTool`
|
||||
|
||||
<Note>
|
||||
O WebsiteSearchTool está atualmente em fase experimental. Estamos trabalhando ativamente para incorporar esta ferramenta em nosso conjunto de ofertas e atualizaremos a documentação conforme necessário.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
O WebsiteSearchTool foi concebido como um conceito para realizar buscas semânticas dentro do conteúdo de sites.
|
||||
Ele visa aproveitar modelos avançados de aprendizado de máquina, como a Geração Aumentada por Recuperação (RAG), para navegar e extrair informações de URLs especificadas de forma eficiente.
|
||||
Esta ferramenta pretende oferecer flexibilidade, permitindo que usuários realizem buscas em qualquer site ou foquem em sites específicos de seu interesse.
|
||||
Por favor, note que os detalhes da implementação atual do WebsiteSearchTool estão em desenvolvimento, e as funcionalidades aqui descritas podem ainda não estar acessíveis.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para preparar seu ambiente para quando o WebsiteSearchTool estiver disponível, você pode instalar o pacote fundamental com:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
Este comando instala as dependências necessárias para garantir que, assim que a ferramenta estiver totalmente integrada, os usuários possam começar a usá-la imediatamente.
|
||||
|
||||
## Exemplo de Uso
|
||||
|
||||
Abaixo estão exemplos de como o WebsiteSearchTool poderá ser utilizado em diferentes cenários. Por favor, observe que esses exemplos são ilustrativos e representam funcionalidades planejadas:
|
||||
|
||||
```python Code
|
||||
from crewai_tools import WebsiteSearchTool
|
||||
|
||||
# Exemplo de inicialização da ferramenta que agentes podem usar
|
||||
# para pesquisar em quaisquer sites descobertos
|
||||
tool = WebsiteSearchTool()
|
||||
|
||||
# Exemplo de limitação da busca ao conteúdo de um site específico,
|
||||
# assim os agentes podem buscar somente dentro desse site
|
||||
tool = WebsiteSearchTool(website='https://example.com')
|
||||
```
|
||||
|
||||
## Argumentos
|
||||
|
||||
- `website`: Um argumento opcional destinado a especificar a URL do site para buscas direcionadas. Este argumento foi projetado para aumentar a flexibilidade da ferramenta, permitindo buscas mais focadas quando necessário.
|
||||
|
||||
## Opções de Personalização
|
||||
|
||||
Por padrão, a ferramenta utiliza a OpenAI tanto para embeddings quanto para sumarização. Para personalizar o modelo, você pode usar um dicionário de configuração, conforme o exemplo abaixo:
|
||||
|
||||
|
||||
```python Code
|
||||
tool = WebsiteSearchTool(
|
||||
config=dict(
|
||||
llm=dict(
|
||||
provider="ollama", # ou google, openai, anthropic, llama2, ...
|
||||
config=dict(
|
||||
model="llama2",
|
||||
# temperature=0.5,
|
||||
# top_p=1,
|
||||
# stream=true,
|
||||
),
|
||||
),
|
||||
embedder=dict(
|
||||
provider="google", # ou openai, ollama, ...
|
||||
config=dict(
|
||||
model="models/embedding-001",
|
||||
task_type="retrieval_document",
|
||||
# title="Embeddings",
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
```
|
||||
194
docs/pt-BR/tools/search-research/youtubechannelsearchtool.mdx
Normal file
194
docs/pt-BR/tools/search-research/youtubechannelsearchtool.mdx
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
title: Busca RAG em Canal do YouTube
|
||||
description: O `YoutubeChannelSearchTool` foi desenvolvido para realizar buscas RAG (Retrieval-Augmented Generation) no conteúdo de um canal do Youtube.
|
||||
icon: youtube
|
||||
---
|
||||
|
||||
# `YoutubeChannelSearchTool`
|
||||
|
||||
<Note>
|
||||
Ainda estamos trabalhando para melhorar as ferramentas, então pode haver comportamentos inesperados ou alterações no futuro.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
Esta ferramenta foi desenvolvida para realizar buscas semânticas dentro do conteúdo de um canal específico do Youtube.
|
||||
Aproveitando a metodologia RAG (Retrieval-Augmented Generation), ela fornece resultados de busca relevantes,
|
||||
tornando-se indispensável para extrair informações ou encontrar conteúdos específicos sem a necessidade de percorrer manualmente os vídeos.
|
||||
Ela otimiza o processo de busca em canais do Youtube, sendo ideal para pesquisadores, criadores de conteúdo e espectadores que buscam informações ou temas específicos.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para utilizar o YoutubeChannelSearchTool, é necessário instalar o pacote `crewai_tools`. Execute o seguinte comando no seu terminal para instalar:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como utilizar o `YoutubeChannelSearchTool` com um agente CrewAI:
|
||||
|
||||
```python Code
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import YoutubeChannelSearchTool
|
||||
|
||||
# Inicializa a ferramenta para buscas gerais em canais do YouTube
|
||||
youtube_channel_tool = YoutubeChannelSearchTool()
|
||||
|
||||
# Define um agente que utiliza a ferramenta
|
||||
channel_researcher = Agent(
|
||||
role="Channel Researcher",
|
||||
goal="Extrair informações relevantes de canais do YouTube",
|
||||
backstory="Um pesquisador especialista em analisar conteúdos de canais do YouTube.",
|
||||
tools=[youtube_channel_tool],
|
||||
verbose=True,
|
||||
)
|
||||
|
||||
# Exemplo de tarefa para buscar informações em um canal específico
|
||||
research_task = Task(
|
||||
description="Buscar informações sobre tutoriais de machine learning no canal do YouTube {youtube_channel_handle}",
|
||||
expected_output="Um resumo dos principais tutoriais de machine learning disponíveis no canal.",
|
||||
agent=channel_researcher,
|
||||
)
|
||||
|
||||
# Cria e executa o crew
|
||||
crew = Crew(agents=[channel_researcher], tasks=[research_task])
|
||||
result = crew.kickoff(inputs={"youtube_channel_handle": "@exampleChannel"})
|
||||
```
|
||||
|
||||
Você também pode inicializar a ferramenta com um handle específico de canal do YouTube:
|
||||
|
||||
```python Code
|
||||
# Inicializa a ferramenta com o handle específico de um canal do YouTube
|
||||
youtube_channel_tool = YoutubeChannelSearchTool(
|
||||
youtube_channel_handle='@exampleChannel'
|
||||
)
|
||||
|
||||
# Define um agente que utiliza a ferramenta
|
||||
channel_researcher = Agent(
|
||||
role="Channel Researcher",
|
||||
goal="Extrair informações relevantes de um canal específico do YouTube",
|
||||
backstory="Um pesquisador especialista em analisar conteúdos de canais do YouTube.",
|
||||
tools=[youtube_channel_tool],
|
||||
verbose=True,
|
||||
)
|
||||
```
|
||||
|
||||
## Parâmetros
|
||||
|
||||
O `YoutubeChannelSearchTool` aceita os seguintes parâmetros:
|
||||
|
||||
- **youtube_channel_handle**: Opcional. O handle do canal do YouTube para realizar a busca. Se fornecido durante a inicialização, o agente não precisará informá-lo ao utilizar a ferramenta. Se o handle não começar com '@', será adicionado automaticamente.
|
||||
- **config**: Opcional. Configurações para o sistema RAG subjacente, incluindo parâmetros de LLM e embedder.
|
||||
- **summarize**: Opcional. Indica se o conteúdo recuperado deve ser resumido. O padrão é `False`.
|
||||
|
||||
Ao utilizar a ferramenta com um agente, o agente deverá fornecer:
|
||||
|
||||
- **search_query**: Obrigatório. A consulta de busca para encontrar informações relevantes no conteúdo do canal.
|
||||
- **youtube_channel_handle**: Obrigatório apenas se não for fornecido durante a inicialização. O handle do canal do YouTube onde realizar a busca.
|
||||
|
||||
## Modelo Personalizado e Embeddings
|
||||
|
||||
Por padrão, a ferramenta utiliza o OpenAI tanto para embeddings quanto para sumarização. Para personalizar o modelo, é possível usar um dicionário de configuração como no exemplo:
|
||||
|
||||
```python Code
|
||||
youtube_channel_tool = YoutubeChannelSearchTool(
|
||||
config=dict(
|
||||
llm=dict(
|
||||
provider="ollama", # ou google, openai, anthropic, llama2, ...
|
||||
config=dict(
|
||||
model="llama2",
|
||||
# temperature=0.5,
|
||||
# top_p=1,
|
||||
# stream=true,
|
||||
),
|
||||
),
|
||||
embedder=dict(
|
||||
provider="google", # ou openai, ollama, ...
|
||||
config=dict(
|
||||
model="models/embedding-001",
|
||||
task_type="retrieval_document",
|
||||
# title="Embeddings",
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
## Exemplo de Integração com Agente
|
||||
|
||||
Veja um exemplo mais detalhado de como integrar o `YoutubeChannelSearchTool` com um agente CrewAI:
|
||||
|
||||
```python Code
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import YoutubeChannelSearchTool
|
||||
|
||||
# Inicializa a ferramenta
|
||||
youtube_channel_tool = YoutubeChannelSearchTool()
|
||||
|
||||
# Define um agente que utiliza a ferramenta
|
||||
channel_researcher = Agent(
|
||||
role="Channel Researcher",
|
||||
goal="Extrair e analisar informações de canais do YouTube",
|
||||
backstory="""Você é um pesquisador especialista em canais, com experiência
|
||||
em extrair e analisar informações de canais do YouTube. Você possui olho clínico para detalhes
|
||||
e pode rapidamente identificar pontos-chave e insights a partir do conteúdo em vídeo de todo o canal.""",
|
||||
tools=[youtube_channel_tool],
|
||||
verbose=True,
|
||||
)
|
||||
|
||||
# Crie uma tarefa para o agente
|
||||
research_task = Task(
|
||||
description="""
|
||||
Buscar informações sobre projetos e tutoriais de ciência de dados
|
||||
no canal do YouTube {youtube_channel_handle}.
|
||||
|
||||
Foque em:
|
||||
1. Principais técnicas de ciência de dados abordadas
|
||||
2. Séries de tutoriais populares
|
||||
3. Vídeos mais vistos ou recomendados
|
||||
|
||||
Forneça um resumo abrangente sobre esses pontos.
|
||||
""",
|
||||
expected_output="Um resumo detalhado sobre o conteúdo de ciência de dados disponível no canal.",
|
||||
agent=channel_researcher,
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(agents=[channel_researcher], tasks=[research_task])
|
||||
result = crew.kickoff(inputs={"youtube_channel_handle": "@exampleDataScienceChannel"})
|
||||
```
|
||||
|
||||
## Detalhes da Implementação
|
||||
|
||||
O `YoutubeChannelSearchTool` é implementado como uma subclasse de `RagTool`, que fornece a funcionalidade base para Retrieval-Augmented Generation:
|
||||
|
||||
```python Code
|
||||
class YoutubeChannelSearchTool(RagTool):
|
||||
name: str = "Search a Youtube Channels content"
|
||||
description: str = "A tool that can be used to semantic search a query from a Youtube Channels content."
|
||||
args_schema: Type[BaseModel] = YoutubeChannelSearchToolSchema
|
||||
|
||||
def __init__(self, youtube_channel_handle: Optional[str] = None, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
if youtube_channel_handle is not None:
|
||||
kwargs["data_type"] = DataType.YOUTUBE_CHANNEL
|
||||
self.add(youtube_channel_handle)
|
||||
self.description = f"A tool that can be used to semantic search a query the {youtube_channel_handle} Youtube Channels content."
|
||||
self.args_schema = FixedYoutubeChannelSearchToolSchema
|
||||
self._generate_description()
|
||||
|
||||
def add(
|
||||
self,
|
||||
youtube_channel_handle: str,
|
||||
**kwargs: Any,
|
||||
) -> None:
|
||||
if not youtube_channel_handle.startswith("@"):
|
||||
youtube_channel_handle = f"@{youtube_channel_handle}"
|
||||
super().add(youtube_channel_handle, **kwargs)
|
||||
```
|
||||
|
||||
## Conclusão
|
||||
|
||||
O `YoutubeChannelSearchTool` oferece uma forma poderosa de buscar e extrair informações do conteúdo de canais do YouTube utilizando técnicas RAG. Ao possibilitar que agentes busquem entre todos os vídeos de um canal, facilita tarefas de extração e análise de informações que seriam difíceis de executar manualmente. Esta ferramenta é especialmente útil para pesquisa, análise de conteúdo e extração de conhecimento de canais do YouTube.
|
||||
187
docs/pt-BR/tools/search-research/youtubevideosearchtool.mdx
Normal file
187
docs/pt-BR/tools/search-research/youtubevideosearchtool.mdx
Normal file
@@ -0,0 +1,187 @@
|
||||
---
|
||||
title: Pesquisa RAG em Vídeos do YouTube
|
||||
description: O `YoutubeVideoSearchTool` foi projetado para realizar uma busca RAG (Geração Auxiliada por Recuperação) no conteúdo de um vídeo do Youtube.
|
||||
icon: youtube
|
||||
---
|
||||
|
||||
# `YoutubeVideoSearchTool`
|
||||
|
||||
<Note>
|
||||
Ainda estamos trabalhando para melhorar as ferramentas, portanto podem ocorrer comportamentos inesperados ou mudanças no futuro.
|
||||
</Note>
|
||||
|
||||
## Descrição
|
||||
|
||||
Esta ferramenta faz parte do pacote `crewai_tools` e foi projetada para realizar buscas semânticas dentro do conteúdo de vídeos do Youtube, utilizando técnicas de Geração Auxiliada por Recuperação (RAG).
|
||||
É uma das diversas ferramentas de "Pesquisa" do pacote que aproveitam RAG para diferentes fontes.
|
||||
O YoutubeVideoSearchTool permite flexibilidade nas buscas: usuários podem pesquisar em qualquer conteúdo de vídeo do Youtube sem especificar uma URL,
|
||||
ou podem direcionar sua busca para um vídeo específico fornecendo sua URL.
|
||||
|
||||
## Instalação
|
||||
|
||||
Para utilizar o `YoutubeVideoSearchTool`, é necessário primeiro instalar o pacote `crewai_tools`.
|
||||
Esse pacote contém o `YoutubeVideoSearchTool` entre outras utilidades desenvolvidas para melhorar suas tarefas de análise e processamento de dados.
|
||||
Instale o pacote executando o seguinte comando em seu terminal:
|
||||
|
||||
```shell
|
||||
pip install 'crewai[tools]'
|
||||
```
|
||||
|
||||
## Exemplo
|
||||
|
||||
O exemplo a seguir demonstra como usar o `YoutubeVideoSearchTool` com um agente CrewAI:
|
||||
|
||||
```python Code
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import YoutubeVideoSearchTool
|
||||
|
||||
# Inicialize a ferramenta para buscas gerais em vídeos do YouTube
|
||||
youtube_search_tool = YoutubeVideoSearchTool()
|
||||
|
||||
# Defina um agente que usa a ferramenta
|
||||
video_researcher = Agent(
|
||||
role="Video Researcher",
|
||||
goal="Extract relevant information from YouTube videos",
|
||||
backstory="An expert researcher who specializes in analyzing video content.",
|
||||
tools=[youtube_search_tool],
|
||||
verbose=True,
|
||||
)
|
||||
|
||||
# Exemplo de tarefa para buscar informações em um vídeo específico
|
||||
research_task = Task(
|
||||
description="Search for information about machine learning frameworks in the YouTube video at {youtube_video_url}",
|
||||
expected_output="A summary of the key machine learning frameworks mentioned in the video.",
|
||||
agent=video_researcher,
|
||||
)
|
||||
|
||||
# Crie e execute a crew
|
||||
crew = Crew(agents=[video_researcher], tasks=[research_task])
|
||||
result = crew.kickoff(inputs={"youtube_video_url": "https://youtube.com/watch?v=example"})
|
||||
```
|
||||
|
||||
Você também pode inicializar a ferramenta com a URL de um vídeo específico do YouTube:
|
||||
|
||||
```python Code
|
||||
# Inicialize a ferramenta com a URL de um vídeo específico do YouTube
|
||||
youtube_search_tool = YoutubeVideoSearchTool(
|
||||
youtube_video_url='https://youtube.com/watch?v=example'
|
||||
)
|
||||
|
||||
# Defina um agente que usa a ferramenta
|
||||
video_researcher = Agent(
|
||||
role="Video Researcher",
|
||||
goal="Extract relevant information from a specific YouTube video",
|
||||
backstory="An expert researcher who specializes in analyzing video content.",
|
||||
tools=[youtube_search_tool],
|
||||
verbose=True,
|
||||
)
|
||||
```
|
||||
|
||||
## Parâmetros
|
||||
|
||||
O `YoutubeVideoSearchTool` aceita os seguintes parâmetros:
|
||||
|
||||
- **youtube_video_url**: Opcional. A URL do vídeo do YouTube para pesquisa. Se fornecida durante a inicialização, o agente não precisará especificar ao utilizar a ferramenta.
|
||||
- **config**: Opcional. Configuração para o sistema RAG subjacente, incluindo definições de LLM e embedder.
|
||||
- **summarize**: Opcional. Indica se o conteúdo recuperado deve ser resumido. O padrão é `False`.
|
||||
|
||||
Ao usar a ferramenta com um agente, é necessário fornecer:
|
||||
|
||||
- **search_query**: Obrigatório. A consulta de busca para encontrar informações relevantes no conteúdo do vídeo.
|
||||
- **youtube_video_url**: Obrigatório somente se não for fornecida na inicialização. A URL do vídeo do YouTube a ser pesquisado.
|
||||
|
||||
## Modelo e Embeddings Personalizados
|
||||
|
||||
Por padrão, a ferramenta utiliza OpenAI tanto para embeddings quanto para sumarização. Para personalizar o modelo, utilize um dicionário de configuração conforme exemplo:
|
||||
|
||||
```python Code
|
||||
youtube_search_tool = YoutubeVideoSearchTool(
|
||||
config=dict(
|
||||
llm=dict(
|
||||
provider="ollama", # ou google, openai, anthropic, llama2, ...
|
||||
config=dict(
|
||||
model="llama2",
|
||||
# temperature=0.5,
|
||||
# top_p=1,
|
||||
# stream=true,
|
||||
),
|
||||
),
|
||||
embedder=dict(
|
||||
provider="google", # ou openai, ollama, ...
|
||||
config=dict(
|
||||
model="models/embedding-001",
|
||||
task_type="retrieval_document",
|
||||
# title="Embeddings",
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
## Exemplo de Integração com Agente
|
||||
|
||||
Aqui está um exemplo mais detalhado de como integrar o `YoutubeVideoSearchTool` com um agente CrewAI:
|
||||
|
||||
```python Code
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import YoutubeVideoSearchTool
|
||||
|
||||
# Inicialize a ferramenta
|
||||
youtube_search_tool = YoutubeVideoSearchTool()
|
||||
|
||||
# Defina um agente que usa a ferramenta
|
||||
video_researcher = Agent(
|
||||
role="Video Researcher",
|
||||
goal="Extract and analyze information from YouTube videos",
|
||||
backstory="""You are an expert video researcher who specializes in extracting
|
||||
and analyzing information from YouTube videos. You have a keen eye for detail
|
||||
and can quickly identify key points and insights from video content.""",
|
||||
tools=[youtube_search_tool],
|
||||
verbose=True,
|
||||
)
|
||||
|
||||
# Crie uma tarefa para o agente
|
||||
research_task = Task(
|
||||
description="""
|
||||
Search for information about recent advancements in artificial intelligence
|
||||
in the YouTube video at {youtube_video_url}.
|
||||
|
||||
Focus on:
|
||||
1. Key AI technologies mentioned
|
||||
2. Real-world applications discussed
|
||||
3. Future predictions made by the speaker
|
||||
|
||||
Provide a comprehensive summary of these points.
|
||||
""",
|
||||
expected_output="A detailed summary of AI advancements, applications, and future predictions from the video.",
|
||||
agent=video_researcher,
|
||||
)
|
||||
|
||||
# Execute a tarefa
|
||||
crew = Crew(agents=[video_researcher], tasks=[research_task])
|
||||
result = crew.kickoff(inputs={"youtube_video_url": "https://youtube.com/watch?v=example"})
|
||||
```
|
||||
|
||||
## Detalhes de Implementação
|
||||
|
||||
O `YoutubeVideoSearchTool` é implementado como uma subclasse de `RagTool`, que fornece a funcionalidade base para Geração Auxiliada por Recuperação:
|
||||
|
||||
```python Code
|
||||
class YoutubeVideoSearchTool(RagTool):
|
||||
name: str = "Search a Youtube Video content"
|
||||
description: str = "A tool that can be used to semantic search a query from a Youtube Video content."
|
||||
args_schema: Type[BaseModel] = YoutubeVideoSearchToolSchema
|
||||
|
||||
def __init__(self, youtube_video_url: Optional[str] = None, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
if youtube_video_url is not None:
|
||||
kwargs["data_type"] = DataType.YOUTUBE_VIDEO
|
||||
self.add(youtube_video_url)
|
||||
self.description = f"A tool that can be used to semantic search a query the {youtube_video_url} Youtube Video content."
|
||||
self.args_schema = FixedYoutubeVideoSearchToolSchema
|
||||
self._generate_description()
|
||||
```
|
||||
|
||||
## Conclusão
|
||||
|
||||
O `YoutubeVideoSearchTool` oferece uma maneira poderosa de pesquisar e extrair informações de conteúdos de vídeos do YouTube utilizando técnicas RAG. Ao possibilitar que agentes pesquisem dentro do conteúdo dos vídeos, facilita tarefas de extração e análise de informação que anteriormente seriam difíceis de realizar. Esta ferramenta é especialmente útil para pesquisas, análise de conteúdo e extração de conhecimento a partir de fontes em vídeo.
|
||||
Reference in New Issue
Block a user