Pular para o conteúdo principal

Visão Geral

A ferramenta Qdrant Vector Search permite adicionar capacidades de busca semântica aos seus agentes CrewAI utilizando o Qdrant, um mecanismo de busca por similaridade vetorial. Com essa ferramenta, seus agentes podem pesquisar em documentos armazenados em uma coleção Qdrant usando similaridade semântica.

Instalação

Instale os pacotes necessários:

Uso Básico

Veja um exemplo mínimo de como utilizar a ferramenta:

Exemplo Completo e Funcional

Veja um exemplo completo mostrando como:
  1. Extrair texto de um PDF
  2. Gerar embeddings usando OpenAI
  3. Armazenar no Qdrant
  4. Criar um fluxo de trabalho RAG agente CrewAI para busca semântica

Parâmetros da Ferramenta

Parâmetros Obrigatórios

  • qdrant_config (QdrantConfig): Objeto de configuração contendo todas as configurações do Qdrant

Parâmetros do QdrantConfig

  • qdrant_url (str): URL do seu servidor Qdrant
  • qdrant_api_key (str, opcional): Chave de API para autenticação com o Qdrant
  • collection_name (str): Nome da coleção Qdrant a ser pesquisada
  • limit (int): Número máximo de resultados a serem retornados (padrão: 3)
  • score_threshold (float): Limite mínimo de similaridade (padrão: 0.35)
  • filter (Any, opcional): Instância de Filter do Qdrant para filtragem avançada (padrão: None)

Parâmetros Opcionais da Ferramenta

  • custom_embedding_fn (Callable[[str], list[float]]): Função personalizada para vetorização de textos
  • qdrant_package (str): Caminho base do pacote Qdrant (padrão: “qdrant_client”)
  • client (Any): Cliente Qdrant pré-inicializado (opcional)

Filtragem Avançada

A ferramenta QdrantVectorSearchTool oferece recursos poderosos de filtragem para refinar os resultados da busca:

Filtragem Dinâmica

Use os parâmetros filter_by e filter_value na sua busca para filtrar resultados dinamicamente:

Filtros Pré-definidos com QdrantConfig

Para filtragens complexas, use instâncias de Filter do Qdrant na sua configuração:

Combinando Filtros

A ferramenta combina automaticamente os filtros pré-definidos do QdrantConfig com os filtros dinâmicos de filter_by e filter_value:

Parâmetros de Busca

A ferramenta aceita estes parâmetros em seu schema:
  • query (str): Consulta de busca para encontrar documentos similares
  • filter_by (str, opcional): Campo de metadado para filtrar
  • filter_value (Any, opcional): Valor para filtrar

Formato de Retorno

A ferramenta retorna resultados no formato JSON:

Embedding Padrão

Por padrão, a ferramenta utiliza o modelo text-embedding-3-large da OpenAI para vetorização. Isso requer:
  • Chave de API da OpenAI definida na variável de ambiente: OPENAI_API_KEY

Embeddings Personalizados

Em vez de utilizar o modelo padrão de embeddings, você pode utilizar sua própria função de embeddings nos casos em que:
  1. Deseja usar um modelo de embeddings diferente (ex: Cohere, HuggingFace, modelos Ollama)
  2. Precisa reduzir custos utilizando modelos de código aberto
  3. Tem requisitos específicos quanto à dimensão dos vetores ou à qualidade dos embeddings
  4. Deseja utilizar embeddings específicos para determinado domínio (ex: textos médicos ou jurídicos)
Veja um exemplo utilizando um modelo HuggingFace:

Tratamento de Erros

A ferramenta trata os seguintes erros específicos:
  • Lança ImportError se qdrant-client não estiver instalado (com opção de instalar automaticamente)
  • Lança ValueError se QDRANT_URL não estiver definido
  • Solicita instalação de qdrant-client se estiver ausente utilizando uv add qdrant-client

Variáveis de Ambiente

Variáveis de ambiente obrigatórias: