O agente de IA para gerenciar projetos Elasticsearch Serverless

Um agente de IA com capacidade de linguagem natural que gerencia projetos Elasticsearch Serverless sem esforço, permitindo a criação, exclusão e verificação de status de projetos.

Livre-se das operações com o Elastic Cloud Serverless. Redimensione automaticamente, lide com picos de carga e concentre-se na construção — comece uma avaliação gratuita de 14 dias para testá-lo você mesmo!

Você pode seguir estes guias para criar uma experiência de busca com IA ou buscar em sistemas e softwares empresariais.

Como usar um agente de IA para gerenciar projetos Elasticsearch sem servidor

  1. Clone o repositório: Baixe o código da ferramenta do GitHub usando git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent ae navegue até o diretório com cd serverless-ai-agent.
  2. Configurar ambiente: Crie um ambiente virtual (opcional) com python -m venv venv e ative-o (source venv/bin/activate ou venv\Scripts\activate no Windows). Em seguida, instale os pacotes Python necessários usando pip install -r requirements.txt.
  3. Configure as credenciais: Crie um arquivo .env na raiz do projeto e preencha-o com o URL da API do Elasticsearch (ES_URL), a chave da API (API_KEY), a região (REGION) e a chave da API do OpenAI (OPENAI_API_KEY).
  4. Execute a ferramenta: Execute a ferramenta executando python main.py em seu terminal. Isso iniciará o agente de IA e exibirá uma tela para que você insira seus comandos.
  5. Gerencie projetos com linguagem natural: interaja com a ferramenta usando comandos em inglês simples, como "Criar um projeto serverless chamado my_project", "Obter o status do projeto serverless chamado my_project" ou "Excluir o projeto serverless chamado my_project". A IA interpretará seus comandos e executará as funções correspondentes.

Histórico

Esta pequena ferramenta de linha de comando permite gerenciar seus projetos Serverless Elasticsearch em linguagem simples. Ele se comunica com uma IA (neste caso, a OpenAI) para entender o que você quer dizer e chamar as funções corretas usando o LlamaIndex!

O que o agente de IA Serverless do Elasticsearch pode fazer?

  • Criar um projeto: Inicie um novo projeto Elasticsearch sem servidor.
  • Excluir um projeto: Remove um projeto existente (sim, ele limpa tudo depois).
  • Obtenha o status do projeto: verifique como está o andamento do seu projeto.
  • Obtenha detalhes do projeto: Descubra todas as informações relevantes sobre o seu projeto.

Confira o código no GitHub.

Como funciona o agente de IA sem servidor do Elasticsearch

Quando você digita algo como:

"Crie um projeto sem servidor chamado my_project"

…eis o que acontece nos bastidores:

  • Entrada e contexto do usuário: Seu comando em linguagem natural é enviado ao agente de IA.
  • Descrição das funções: O agente de IA já conhece algumas funções — como create_ess_project, delete_ess_project, get_ess_project_status e get_ess_project_details — porque fornecemos descrições detalhadas. Essas descrições informam à IA o que cada função faz e quais parâmetros elas precisam.
  • Processamento LLM: Sua consulta, juntamente com as informações da função, é enviada para o LLM. Isso significa que a IA vê:
    • Consulta do usuário: Sua instrução em linguagem simples.
    • Funções e descrições disponíveis: Detalhes sobre o que cada ferramenta faz para que você possa escolher a mais adequada.
    • Informações de contexto/histórico do chat: Como se trata de uma conversa, o sistema se lembra do que foi dito anteriormente.
  • Chamada e resposta de função: A IA determina qual função chamar, passa os parâmetros corretos (como o nome do seu projeto) e, em seguida, a função é executada. A resposta será enviada a você em um formato amigável.

Resumindo, estamos enviando ao LLM tanto sua consulta em linguagem natural quanto uma lista de descrições detalhadas das ferramentas para que ele possa "entender" e escolher a ação correta para sua solicitação.

Configure o agente de IA

Pré-requisitos:

Antes de executar o agente de IA, certifique-se de que a seguinte configuração esteja correta:

  1. Python (versão 3.7 ou posterior) instalado.
  2. Configuração de uma conta serverless do Elasticsearch no Elastic Cloud.
  3. Conta OpenAI para interagir com o modelo de linguagem.

Passos:

1. Clone o repositório:

2. Criar um ambiente virtual (opcional, mas recomendado): Se você estiver enfrentando problemas relacionados ao ambiente, pode configurar um ambiente virtual para isolamento:

3. Instale as dependências: Certifique-se de que todas as dependências necessárias estejam instaladas executando o seguinte comando:

4. Configure seu ambiente: Crie um arquivo .env Arquivo na raiz do projeto com as seguintes variáveis. Aqui está um exemplo de arquivo .env.example para te ajudar:

Certifique-se de que você tem os valores corretos para ES_URL, API_KEY e OPENAI_API_KEY. Você pode encontrar suas chaves de API nos respectivos painéis de serviço.

5. Arquivo de Projetos: A ferramenta usa um arquivo projects.json para armazenar seus mapeamentos de projetos (nomes de projetos para seus detalhes). Este arquivo será criado automaticamente caso ainda não exista.

Executando o agente de IA

Você verá uma mensagem como esta:

Digite o comando e o agente de IA fará a sua mágica! Quando terminar, digite exit ou quit para sair.

Mais alguns detalhes

  • Integração com o LLM: O LLM recebe tanto a sua consulta quanto descrições detalhadas de cada função disponível. Isso ajuda a entender o contexto e a decidir, por exemplo, se deve chamar create_ess_project ou delete_ess_project.
  • Descrição das ferramentas: Cada ferramenta de função (criada usando FunctionTool.from_defaults) Possui uma descrição amigável. Essa descrição está incluída no prompt enviado ao LLM para que ele "saiba" quais ações estão disponíveis e o que cada ação espera.
  • Persistência: Seus projetos e seus detalhes são salvos em projects.json. Assim você não precisa inserir as informações novamente toda vez.
  • Registro detalhado: O agente está configurado para o modo detalhado, o que é ótimo para depuração e para ver como suas instruções são traduzidas em chamadas de função.

Exemplo de utilização do agente de IA do Elasticsearch

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)