Como implantar o LangGraph AI Agent Boilerplate

O LangGraph AI Agent Boilerplate contém as configurações para criar agentes de IA em tempo real que podem consultar e interagir com dados armazenados em um banco de dados do EdgeSQL da Azion, entregando desempenho otimizado e latência reduzida para suas aplicações.

Este template foi projetado para aproveitar a robusta infraestrutura de edge computing da Azion, garantindo escalabilidade, segurança e integração eficiente com EdgeSQL.

A implantação deste template cria um banco de dados do EdgeSQL com duas tabelas: uma para o histórico de conversas e outra para documentos de referência. Além disso, cria uma aplicação backend desenvolvida com LangGraph para gerenciamento de documentos e funcionalidades do agente, e uma interface frontend baseada em Vue para interação do usuário.

Este template utiliza a versão 3.3.4 do Vue.


Pré-requisitos


Implante o template

Você pode obter e configurar seu template pelo Azion Console. Para implantá-lo facilmente no edge, clique no botão abaixo.

Implantar

Configure o template

No formulário de configuração, forneça as informações para configurar sua aplicação. Preencha os campos apresentados.

Os campos identificados com asterisco são obrigatórios.

  1. Conecte a Azion com sua conta no GitHub.
  • Uma janela pop-up será aberta para confirmar a instalação da Azion GitHub App, uma ferramenta que conecta sua conta do GitHub com a plataforma da Azion.
  • Defina suas permissões e acesso ao repositório conforme desejado.
  1. Selecione o Git Scope com o qual trabalhar.
  2. Defina um nome para seu agente.
    • Por padrão, o nome do banco de dados segue o padão˜ <agent_name>-database.
    • Use um nome único e fácil de lembrar. Se o nome já tiver sido usado, a plataforma retornará uma mensagem de erro.
  3. Insira sua chave da API da OpenAI.
  4. Clique no botão Deploy para iniciar o processo de implantação.

Durante a implantação, você poderá acompanhar o processo através de uma janela mostrando os logs. Quando estiver concluída, a página mostra informações sobre a aplicação e algumas opções para continuar sua jornada.


Gerencie o template

Configure o banco de dados

Este template cria duas tabelas no banco de dados, uma para o histórico de conversas e outra para os documentos de referência. Para começar a usar seus próprios documentos, você deve configurar o banco de dados seguindo os passos abaixo:

  1. Acesse o repositório do Github para a aplicação de backend criada durante a implantação. O nome dele será semelhante a <seu-nome-de-agente>-backend-agent.
  2. Você precisa ter um arquivo .env com suas variáveis de ambiente. Se você quiser criar um novo, ele deve seguir a estrutura abaixo:
AZION_TOKEN=
OPENAI_API_KEY=
OPENAI_MODEL=
EMBEDDING_MODEL=
LANGSMITH_API_KEY=
LANGCHAIN_PROJECT=
LANGCHAIN_TRACING_V2=false
MESSAGE_STORE_DB_NAME=
MESSAGE_STORE_TABLE_NAME=
VECTOR_STORE_DB_NAME=
VECTOR_STORE_TABLE_NAME=

Observe que nem todas as variáveis de ambiente são obrigatórias. Verifique os detalhes na tabela abaixo.

Variável de ambienteDescriçãoObrigatória
AZION_TOKENO token para autenticação na plataforma da Azion.Sim
OPENAI_API_KEYSua chave de API para acessar serviços da OpenAI.Sim
OPENAI_MODELO modelo da OpenAI a ser usado para processamento. Se não for definido, o valor padrão é gpt-4o.Não
EMBEDDING_MODELO modelo usado para gerar embeddings. Se não for definido, o valor padrão é text-embedding-3-small. Se quiser usar um modelo diferente, você precisa criar um banco de dados com colunas configuradas para o mesmo modelo.Não
LANGSMITH_API_KEYChave de API para acessar serviços da Langsmith.Não
LANGCHAIN_PROJECTO identificador do projeto Langchain.Não
LANGCHAIN_TRACING_V2Habilita ou desabilita o rastreamento do Langchain (defina como true ou false).Não
MESSAGE_STORE_DB_NAMEO nome do banco de dados para armazenar mensagens do histórico de conversas. Por padão, é o mesmo banco de dados usado para armazenar seus documentos. Nome padrão: <nome-do-agente>-database.Sim
MESSAGE_STORE_TABLE_NAMEO nome da tabela dentro do banco de dados de mensagens para armazenar o histórico de conversas. Nome padrão: messages.Sim
VECTOR_STORE_DB_NAMEO nome do banco de dados para armazenar seus documentos como embeddings de vetores. Por padão, é o mesmo banco de dados usado para armazenar suas mensagens. Nome padrão: <nome-do-agente>-database.Sim
VECTOR_STORE_TABLE_NAMEO nome da tabela dentro do banco de dados de documentos para armazenar embeddings. Nome padrão: <vectors.Sim
  1. Abra o arquivo setup/setup.ts. Este arquivo contém a função que configura os bancos de dados e você pode editá-lo para atender às suas necessidades:
  • Você pode alterar os nomes das variáveis de ambiente para corresponder ao seu arquivo .env se necessário, ou passá-las diretamente no código.

  • Edite o valor da constante productDocs. Ela usa, por padrão, o retorno da função getDocs, que é configurada no boilerplate para processar dados de um arquivo de exemplo. Você pode adicionar seu próprio arquivo de documentos na pasta setup.

  • O template cria automaticamente o banco de dados durante a implantação, mas você pode configurar a função para que crie seu banco de dados de acordo com as variáveis de ambiente. Existem duas opções disponíveis no código para fazer isso. Elas estão escritas em forma de comentários e você pode descomentar a opção que prefere usar.

    A primeira opção usa um método static factory:

const vectorStore = await AzionVectorStore.createVectorStore(
embeddingModel,
{
dbName: VECTOR_STORE_DB_NAME,
tableName: VECTOR_STORE_TABLE_NAME
},
{
columns,
mode: "hybrid"
}
);

Alternativamente, você pode optar por criar uma instância e configurar o banco de dados separadamente:

const vectorStore = new AzionVectorStore(embeddingModel, {
dbName: VECTOR_STORE_DB_NAME,
tableName: VECTOR_STORE_TABLE_NAME
});
await vectorStore.setupDatabase({
columns,
mode: "hybrid"
});

Descomente a opção que você desejar para criar o banco de dados de documentos.

  1. Execute o seguinte comando no diretório raiz do projeto para executar a função que configura o banco de dados:
Terminal window
yarn setup

O banco de dados com os documentos de referência agora está pronto e disponível para sua aplicação acessá-lo. Leia a documentação do template para obter mais detalhes sobre como configurar o projeto.

Gerencie a edge application

Considerando que essa configuração inicial pode não ser ideal para sua aplicação, todas as configurações podem ser personalizadas sempre que você precisar usando o Azion Console.

Para gerenciar e editar as configurações da sua aplicação, siga estas etapas:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo, selecione Products menu > Edge Application.
  • Você será redirecionado para a página de Edge Application. Ela lista todas as edge applications que você criou.
  1. Encontre a edge application relacionada ao template e selecione-a.
  • A lista é organizada em ordem alfabética. Você também pode usar a barra de busca localizada no canto superior esquerdo da lista; atualmente, ela é filtrada apenas pelo Application Name, ou nome da edge application.

Depois de selecionar a aplicação em que você trabalhará, você será direcionado para uma página que contém todas as configurações que você pode configurar.

Adicione um domínio personalizado

A edge application criada tem um domínio Azion atribuído para torná-la acessível através do navegador. O domínio tem o seguinte formato: xxxxxxxxxx.map.azionedge.net/. No entanto, você pode adicionar um domínio personalizado para que os usuários acessem sua aplicação por meio dele.

Consulte o guia para configurar domínios

Contribuidores