Inteligência Artificial (IA)

Codelab: Criando um agente de IA com os serviços de IA e o catálogo de agentes do Couchbase

Neste CodeLab, você aprenderá a criar um Agente de busca de hotéis usando LangChain, Serviços de IA do Couchbasee Catálogo de agentes. Também incorporaremos Arize Phoenix para observabilidade e avaliação para garantir que nosso agente tenha um desempenho confiável.

Este tutorial leva você do zero a um agente totalmente funcional que pode pesquisar hotéis, filtrar por comodidades e responder a consultas em linguagem natural usando dados do mundo real.

Observação: Você pode encontrar o caderno completo do Google CodeLab para este CodeLab aqui.

O que são os serviços de IA do Couchbase?

A criação de aplicativos de IA geralmente envolve a combinação de vários serviços: um banco de dados vetorial para memória, um provedor de inferência para LLMs (como OpenAI ou Anthropic) e uma infraestrutura separada para incorporar modelos.

Serviços de IA do Couchbase simplifica isso fornecendo uma plataforma unificada onde seus dados operacionais, pesquisa vetorial e modelos de IA convivem juntos. Ela oferece:

  • API de inferência e incorporação de LLM: Acesse LLMs populares (como o Llama 3) e modelos de incorporação diretamente no Couchbase Capella, sem chaves de API externas, sem infraestrutura extra e sem saída de dados. Os dados de seu aplicativo permanecem dentro do Capella. As consultas, os vetores e a inferência de modelos ocorrem onde os dados residem. Isso permite experiências de IA seguras e de baixa latência, ao mesmo tempo em que atende aos requisitos de privacidade e conformidade. Portanto, o principal valor: dados e IA juntos, sem enviar informações confidenciais para fora do seu sistema.
  • Plataforma unificada: Banco de dados + Vetorização + Pesquisa + Modelo
  • Pesquisa vetorial integrada: Realize pesquisas semânticas diretamente em seus dados JSON com latência de milissegundos.

Por que isso é necessário?

À medida que passamos de simples chatbots para fluxos de trabalho autênticos, Quando os modelos de IA usam ferramentas de forma autônoma, a latência e a complexidade da configuração tornam-se gargalos. Ao co-localizar seus dados e serviços de IA, você reduz a sobrecarga operacional e a latência. Além disso, ferramentas como a Catálogo de agentes ajudam a gerenciar centenas de prompts e ferramentas de agentes e fornecem registro integrado para seus agentes.

Pré-requisitos

Antes de começarmos, verifique se você tem:

  • A Couchbase Capella conta.
  • Python 3.10+ instalado.
  • Familiaridade básica com Python e notebooks Jupyter.

Criar um cluster no Couchbase Capella

  1. Faça login no Couchbase Capella.
  2. Crie um novo cluster ou use um já existente. Observe que o cluster precisa executar a versão mais recente do Couchbase Server 8.0 com os serviços Data, Query, Index e Eventing.
  3. Crie um balde.
  4. Crie um escopo e uma coleção para seus dados.

Etapa 1: Instalar dependências

Começaremos instalando os pacotes necessários. Isso inclui o pacote infraestrutura de couchbase para configuração, o auxiliar agente CLI para o catálogo e os pacotes de integração do LangChain.

Etapa 2: Infraestrutura como código

Em vez de clicar manualmente na interface do usuário, usamos o infraestrutura de couchbase para provisionar programaticamente nosso ambiente Capella. Isso garante uma configuração reproduzível.

Nós o faremos:

  1. Crie um projeto e um cluster.
  2. Implantar um modelo de incorporação (nvidia/llama-3.2-nv-embedqa-1b-v2) e um LLM (meta/llama3-8b-instruct).
  3. Carregar o amostra de viagem conjunto de dados.

O Couchbase AI Services fornece pontos de extremidade compatíveis com OpenAI que são usados pelos agentes.

Certifique-se de seguir as etapas para configurar o certificado raiz de segurança. As conexões seguras com o Couchbase Capella exigem um certificado raiz para verificação do TLS. Você pode encontrá-lo na seção ## 📜 Configuração do certificado raiz da seção do Google Colab Notebook.

Etapa 3: Integração do catálogo de agentes

O Catálogo de agentes é uma ferramenta avançada para gerenciar o ciclo de vida dos recursos do seu agente. Em vez de codificar prompts e definições de ferramentas em seus arquivos Python, você os gerencia como ativos com versão. É possível centralizar e reutilizar suas ferramentas entre as equipes de desenvolvimento. Também é possível examinar e monitorar as respostas do agente com o Agent Tracer.

Inicialização e download de ativos

Primeiro, inicializamos o catálogo e baixamos nossos prompts e ferramentas predefinidos.

Indexar e publicar

Usamos agente para indexar nossos arquivos locais e publicá-los no Couchbase. Isso armazena os metadados em seu banco de dados, tornando-os pesquisáveis e detectáveis pelo agente em tempo de execução.

Etapa 4: Preparando o Vector Store

Para permitir que nosso agente pesquise hotéis semanticamente (por exemplo, “lugar aconchegante perto da praia”), precisamos gerar embeddings vetoriais para nossos dados de hotéis.

Definimos um auxiliar para formatar os dados do nosso hotel em uma representação de rich text, priorizando a localização e as comodidades.

Etapa 5: Criação do agente LangChain

Usamos o Catálogo de agentes para buscar nossas definições de ferramentas e prompts dinamicamente. O código permanece genérico, enquanto seus recursos (ferramentas) e personalidade (prompts) são gerenciados separadamente. Também criaremos nosso ReAct agentes.

Etapa 6: Execução do agente

Com o agente inicializado, podemos realizar consultas complexas. O agente irá:

  1. Receber a entrada do usuário.
  2. Decidir que ele precisa usar o banco de dados de pesquisa de vetores ferramenta.
  3. Execute a pesquisa em relação ao Capella.
  4. Sintetize os resultados em uma resposta em linguagem natural.

Exemplo de saída:

Agente: Encontrei um hotel em Giverny que oferece café da manhã gratuito chamado Le Clos Fleuri. Ele está localizado na 5 rue de la Dîme, 27620 Giverny. Oferece internet e estacionamento gratuitos.

Observação: No Capella Model Services, os resultados do modelo podem ser em cache (cache semântico e padrão). O mecanismo de cache aumenta a eficiência e a velocidade do RAG, principalmente ao lidar com consultas repetidas ou semelhantes. Quando uma consulta é processada pela primeira vez, o LLM gera uma resposta e, em seguida, armazena essa resposta no Couchbase. Quando consultas semelhantes chegam posteriormente, as respostas armazenadas em cache são retornadas. A duração do armazenamento em cache pode ser configurada nos serviços do Capella Model.

Adição de cache semântico

O armazenamento em cache é particularmente valioso em cenários em que os usuários podem enviar consultas semelhantes várias vezes ou em que determinadas informações são solicitadas com frequência. Ao armazenar essas informações em um cache, podemos reduzir significativamente o tempo necessário para responder a essas consultas, melhorando a experiência do usuário.

Etapa 7: Observabilidade com o Arize Phoenix

Na produção, você precisa saber por que um agente deu uma resposta específica. Usamos o Arize Phoenix para rastrear o “processo de pensamento” do agente (a cadeia ReAct).

Também podemos executar avaliações para verificar alucinações ou relevância.

Ao inspecionar a UI do Phoenix, você pode visualizar a sequência exata de chamadas de ferramentas e ver a latência de cada etapa da cadeia.

Conclusão

Criamos com sucesso um agente de busca de hotéis robusto. Essa arquitetura aproveita:

  1. Serviços de IA do Couchbase: Para uma camada de dados e IA unificada e de baixa latência.
  2. Catálogo de agentes: Para um gerenciamento organizado e com controle de versão das ferramentas e prompts do agente. O catálogo de agentes também oferece rastreamento. Ele permite que os usuários usem o SQL++ com rastreamentos, aproveitem o desempenho do Couchbase e obtenham informações sobre detalhes de prompts e ferramentas na mesma plataforma.
  3. LangChain: Para uma orquestração flexível.
  4. Arize Phoenix: Para observabilidade.

Essa abordagem é bem dimensionada para equipes que criam sistemas multiagentes complexos, em que o gerenciamento de dados e a descoberta de ferramentas são desafios críticos.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Laurent Doguin

Laurent é um nerd metaleiro que mora em Paris. Em sua maior parte, ele escreve código em Java e texto estruturado em AsciiDoc, e frequentemente fala sobre dados, programação reativa e outras coisas que estão na moda. Ele também foi Developer Advocate do Clever Cloud e do Nuxeo, onde dedicou seu tempo e experiência para ajudar essas comunidades a crescerem e se fortalecerem. Atualmente, ele dirige as Relações com Desenvolvedores na Couchbase.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.