O LangChain na Vertex AI permite aproveitar a biblioteca de código aberto LangChain para criar aplicativos personalizados de IA generativa e usar a Vertex AI para modelos, ferramentas e implantação. Ele permite selecionar o modelo de linguagem grande com que você quer trabalhar, definir ferramentas para acessar APIs externas, estruturar a interface entre o usuário e os componentes do sistema em um framework de orquestração e implantar o framework para um ambiente de execução gerenciado.
Componentes do sistema
A criação e a implantação de um aplicativo de IA generativa personalizado usando o OSS LangChain e a Vertex AI consiste nos quatro componentes a seguir:
Componente | Descrição |
---|---|
Modelo Gemini |
Quando o usuário envia uma consulta para o aplicativo personalizado, o modelo de linguagem grande processa a consulta e fornece uma resposta. É possível definir um conjunto de ferramentas que se comuniquem com APIs externas e fornecê-las ao modelo. Ao processar uma consulta, o modelo pode delegar determinadas tarefas às ferramentas. Isso pode inerentemente implicar uma ou mais chamadas de modelo para modelos genéricos ou ajustados. Para saber mais, consulte Versões e ciclo de vida do modelo. |
Ferramentas Chamada de função do Gemini |
É possível definir um conjunto de ferramentas que se comunicam com APIs externas (como bancos de dados etc.) e fornecê-las ao modelo. Ao processar uma consulta, o modelo pode optar por delegar determinadas tarefas às ferramentas definidas anteriormente. A implantação pelo ambiente de execução gerenciado da Vertex AI é otimizada para usar ferramentas baseadas na chamada de função do Gemini, mas oferece suporte a qualquer implementação de ferramenta do OSS LangChain. Para saber mais sobre como chamar uma função, consulte Chamada de função. |
Framework de orquestração Agente |
O LangChain na Vertex AI permite usar o framework de orquestração do OSS LangChain na Vertex AI. Usando o LangChain, você decide o nível de determinismo do seu aplicativo. Se você já usa o LangChain, pode simplesmente utilizar o código do LangChain de código aberto atual para implantar seu aplicativo na Vertex AI. Caso contrário, é possível criar seu código do aplicativo e estruturá-lo em um framework de orquestração aproveitando os modelos do LangChain da Vertex AI. Para saber mais, consulte Desenvolver um aplicativo. |
Ambiente de execução gerenciado Reasoning Engine |
O LangChain na Vertex AI permite implantar o aplicativo em um ambiente de execução gerenciado do Reasoning Engine. Esse ambiente de execução é um serviço da Vertex AI que tem todos os benefícios da integração da Vertex AI: segurança, privacidade, observabilidade e escalonabilidade. Você pode colocar o aplicativo em produção e escalonar o aplicativo com uma simples chamada de API, transformando rapidamente protótipos testados localmente em implantações prontas para a empresa. Para saber mais, consulte Implantar o aplicativo. |
Há muitas maneiras diferentes de prototipar e criar aplicativos personalizados de IA generativa que aproveitam os recursos agentes, criando camadas para ferramentas, funções personalizadas e complementando modelos como o Gemini. Quando for a hora de mover o aplicativo para a produção, considere como implantar e gerenciar seu agente e todos os componentes subjacentes.
Se trabalhar em um nível inferior na pilha, você vai acabar tentando gerenciar muitas coisas. Se trabalhar em um nível superior na pilha, vai acabar perdendo o controle do desenvolvedor. Com os componentes do LangChain na Vertex AI, o objetivo é ajudar você a se concentrar e personalizar os aspectos da funcionalidade do agente que são mais importantes para você, como funções personalizadas, comportamento do agente e parâmetros de modelos, enquanto o Google cuida da implantação, do empacotamento de escalonamento, das versões etc.
Fluxo do sistema no ambiente de execução
Quando o usuário faz uma consulta, ela é formatada pelo agente em um comando para o LLM. O LLM processa o comando e determina se quer usar alguma das ferramentas.
Se o LLM optar por usar uma ferramenta, ele gera um FunctionCall
com o nome
e os parâmetros com que a ferramenta precisa ser chamada. O agente invoca a ferramenta
com o FunctionCall
e fornece os resultados da ferramenta de volta ao LLM.
Se o LLM optar por não usar nenhuma ferramenta, ele vai gerar um conteúdo que será
transmitido pelo agente de volta ao usuário.
O diagrama a seguir ilustra o fluxo do sistema no ambiente de execução:
Criar e implantar um aplicativo de IA generativa
O fluxo de trabalho geral para criar aplicativos de IA generativa é o seguinte:
Etapas | Descrição |
---|---|
1: configurar o ambiente | Configure o projeto do Google e instale a versão mais recente do SDK da Vertex AI para Python. |
2: desenvolver um aplicativo | Desenvolva um aplicativo LangChain que possa ser implantado no Reasoning Engine. |
3: implantar o aplicativo | Implante um aplicativo no Reasoning Engine. |
4: usar o aplicativo | Mecanismo de consulta do Reasoning Engine. |
5: gerenciar o aplicativo implantado | Gerencie e exclua os aplicativos que você implantou no Reasoning Engine. |
As etapas estão ilustradas no diagrama a seguir:
Benefícios
- Totalmente personalizável: com as interfaces padronizadas do LangChain, o LangChain na Vertex AI pode ser adotado para criar todos os tipos de aplicativos. É fácil personalizar a lógica do aplicativo e incorporar qualquer framework de código aberto ou interno, proporcionando um alto grau de flexibilidade.
- Fácil de usar: o LangChain na Vertex AI usa as mesmas APIs simples e intuitivas que o LangChain OSS para interagir com LLMs e criar aplicativos. Ele torna a implantação rápida e fácil com LLMs da Vertex AI, já que o ambiente de execução do Reasoning Engine oferece suporte à implantação de um só clique para gerar uma API compatível com base na sua biblioteca.
- Integração com ecossistemas do Google Cloud e da Vertex AI: o Reasoning Engine para o LangChain na Vertex AI usa a infraestrutura e os contêineres pré-criados da Vertex AI para acelerar a implantação do aplicativo LLM. Ele tem uma integração limpa de SDK com os serviços do Google Cloud, como a API Gemini, chamadas de função e extensões, de maneira integrada e segura.
- Seguro, particular e escalonável: é possível usar uma única chamada do SDK em vez de gerenciar o processo de desenvolvimento por conta própria. O ambiente de execução gerenciado do Reasoning Engine libera você de tarefas como desenvolvimento do servidor de aplicativos, criação de contêineres e configuração de autenticação, IAM e escalonamento. A Vertex AI lida com escalonamento automático, expansão regional, vulnerabilidades de contêiner, observabilidade e horizontais. Ela cria cada Reasoning Engine em um contêiner separado e dá suporte a várias otimizações horizontais.
Casos de uso
É possível usar o LangChain na Vertex AI para as seguintes tarefas:
- Extrair entidades de histórias com linguagem natural: extraia listas de personagens, relacionamentos, coisas e lugares de uma história.
Notebook do SDK da Vertex AI para Python - Extração de dados estruturados usando chamada de função - Consultar e entender bancos de dados SQL usando linguagem natural: peça ao modelo para converter perguntas como
What percentage of orders are returned?
em consultas SQL e criar funções que enviam essas consultas ao BigQuery.
Postagem do blog - Como criar um aplicativo de análise detalhada de dados do BigQuery com tecnologia de IA usando chamada de função no Gemini - Ajudar clientes a interagir com empresas: crie funções que se conectem à API de uma empresa, permitindo que o modelo forneça respostas precisas para consultas como
Do you have the Pixel 8 Pro in stock?
ouIs there a store in Mountain View, CA that I can visit to try it out?
Notebook do SDK da Vertex AI para Python - Chamada de função com a API Gemini e o SDK para Python da Vertex AI - Crie aplicativos de IA generativa conectando-se a APIs públicas, como:
- Converter moedas: crie uma função que se conecte a um aplicativo de câmbio, permitindo que o modelo forneça respostas precisas a consultas como
What's the exchange rate for euros to dollars today?
Codelab - Como interagir com APIs usando chamada de função no Gemini - Ver a previsão do tempo de um determinado local: crie uma função que se conecte a uma API de um serviço meteorológico, permitindo que o modelo dê respostas precisas a consultas como
What's the weather like in Paris?
Notebook do SDK da Vertex AI para Python - Chamada de função com a API Gemini e o SDK para Python da Vertex AI
Postagem do blog - Chamada de função: um framework nativo para conectar o Gemini a sistemas externos, dados e APIs - Converter um endereço em coordenadas de latitude e longitude: crie uma função que converta dados de local estruturados em coordenadas de latitude e longitude. Peça ao modelo para identificar o endereço, a cidade, o estado e o CEP em consultas como
I want to get the lat/lon coordinates for the following address: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, US.
Notebook do SDK da Vertex AI para Python - Chamada de função com a API Gemini e o SDK para Python da Vertex AI
- Converter moedas: crie uma função que se conecte a um aplicativo de câmbio, permitindo que o modelo forneça respostas precisas a consultas como
- Interpretar comandos de voz: crie funções que correspondam a tarefas no veículo. Por exemplo, crie funções que liguem o rádio ou ativem o ar-condicionado. Envie arquivos de áudio com os comandos de voz do usuário ao modelo e peça que ele converta o áudio em texto e identifique a função que o usuário quer chamar.
- Automatizar fluxos de trabalho com base em gatilhos ambientais: crie funções para representar processos que podem ser automatizados. Forneça dados de sensores ambientais ao modelo e peça que ele analise e processe os dados para determinar se um ou mais fluxos de trabalho precisam ser ativados. Por exemplo, um modelo pode processar dados de temperatura em um armazém e ativar uma função de sprinkler.
- Automatizar a atribuição de tíquetes de suporte: forneça ao modelo tíquetes de suporte, registros e regras baseadas no contexto. Peça ao modelo para processar todas essas informações e determinar a quem o tíquete será atribuído. Chame uma função para atribuir o tíquete à pessoa sugerida pelo modelo.
- Recuperar informações de uma base de conhecimento: crie funções que recuperem e resumam artigos acadêmicos sobre um determinado assunto. Habilite o modelo a responder perguntas sobre matérias acadêmicas e fornecer citações das respectivas respostas.