gemini-fullstack-langgraph-quickstart
É um projeto de exemplo de código aberto do Google, que mostra como usar o modelo Gemini do Google e a estrutura LangGraph para criar um aplicativo de pesquisa inteligente de pilha completa. O front-end usa o React para fornecer uma interface de usuário, o back-end por meio de agentes inteligentes alimentados pelo LangGraph para concluir tarefas de pesquisa complexas. Este projeto gera uma consulta de pesquisa com base na entrada do usuário, obtém informações da página da Web por meio da API de pesquisa do Google, analisa as lacunas de informações e as otimiza iterativamente e, por fim, gera uma resposta detalhada com citações. O projeto é adequado para que os desenvolvedores aprendam a combinar grandes modelos de linguagem e estruturas de código aberto para criar um aplicativo de IA que ofereça suporte à pesquisa e ao diálogo dinâmicos. Ele enfatiza um processo de pesquisa transparente e é adequado para cenários que exigem pesquisa aprofundada ou verificação de informações.
Lista de funções
- Geração de consultas dinâmicasCom base na entrada do usuário, o modelo Gemini gera consultas de pesquisa relevantes.
- Recuperação de informações da WebObtenha dados da Web em tempo real por meio da API de pesquisa do Google.
- Reflexão e otimizaçãoAgentes: analisam os resultados da pesquisa, identificam lacunas nas informações e otimizam as consultas de forma iterativa.
- Síntese e citação de respostasSintetize as informações coletadas para gerar respostas detalhadas com citações da Web.
- arquitetura de pilha completaO front-end do React fornece a interface interativa e o back-end do FastAPI lida com a lógica complexa.
- Pesquisa de linha de comandoSuporte para execução rápida de tarefas de pesquisa individuais a partir da linha de comando.
- Saída de streaming em tempo realTransmissão de dados em tempo real para tarefas em segundo plano usando o Redis.
- Persistência de estadoBanco de dados Postgres: O banco de dados Postgres armazena o estado do agente, os threads e a memória de longo prazo.
Usando a Ajuda
Processo de instalação
Para usargemini-fullstack-langgraph-quickstart
Para garantir que o ambiente seja configurado corretamente, as etapas de instalação a seguir precisam ser concluídas. A seguir, um guia detalhado de instalação e tempo de execução:
- Clonagem do depósito do projeto
Execute o seguinte comando no terminal para clonar o projeto localmente:git clone https://github.com/google-gemini/gemini-fullstack-langgraph-quickstart.git cd gemini-fullstack-langgraph-quickstart
- Obter chave de API
- Chave da API da Gemini: AcessoEstúdio de IA do GoogleRegistre-se e gere uma chave de API Gemini.
- Chave da API do LangSmith(Opcional): AcessoSite oficial do LangSmithRegistre e gere chaves para depuração e observação.
- Configuração de variáveis de ambiente
entrar embackend
diretório, crie.env
e adicione a chave de API:cd backend echo 'GEMINI_API_KEY="YOUR_ACTUAL_API_KEY"' > .env echo 'LANGSMITH_API_KEY="YOUR_ACTUAL_LANGSMITH_API_KEY"' >> .env
comandante-em-chefe (militar)
YOUR_ACTUAL_API_KEY
substituindo-a pela chave real da API do Gemini.YOUR_ACTUAL_LANGSMITH_API_KEY
Substitua por uma chave LangSmith (se usada). - Instalação de dependências de back-end
existirbackend
instale as dependências do Python:pip install .
Certifique-se de que a versão do Python seja a 3.8 ou superior e que a variável
pip
Aponta para a versão correta. - Instalação de dependências de front-end
Retorne ao diretório raiz do projeto e vá parafrontend
instale as dependências do Node.js:cd ../frontend npm install
- Executando o servidor de desenvolvimento
- Execução de front-end e back-end ao mesmo tempoInicie os servidores de desenvolvimento front-end e back-end executando o seguinte comando no diretório raiz do projeto:
npm run dev
Por padrão, o front-end é executado no diretório
http://localhost:5173/app
A API de back-end é executada nohttp://127.0.0.1:2024
. - Execução de um back-end separado: em
backend
para executar:langgraph dev
Isso iniciará o serviço de backend e abrirá a interface do usuário do LangGraph.
- Executando o front-end sozinho: em
frontend
para executar:npm run dev
- Execução de front-end e back-end ao mesmo tempoInicie os servidores de desenvolvimento front-end e back-end executando o seguinte comando no diretório raiz do projeto:
- Implantação com o Docker (opcional)
Se quiser executá-lo por meio do Docker, você precisará instalar o Docker e o Docker Compose primeiro e, em seguida, executá-lo:docker build -t gemini-fullstack-langgraph -f Dockerfile . GEMINI_API_KEY=<your_gemini_api_key> LANGSMITH_API_KEY=<your_langsmith_api_key> docker-compose up
Quando o aplicativo estiver em execução, acesse o
http://localhost:8123/app
Exibir interface.
Função Fluxo de operação
1. pesquisa por meio da interface da Web
- Acesso ao front-endAbra seu navegador e acesse
http://localhost:5173/app
. - Insira uma consultaDigite a pergunta de pesquisa na caixa de entrada, por exemplo, "Recent trends in renewable energy in 2025" (Tendências recentes em energia renovável em 2025).
- Veja o processo de pesquisaApós o envio, a interface mostrará todas as etapas da operação do agente, incluindo a geração de consultas, a pesquisa em páginas da Web e a análise dos resultados.
- Obter respostasA resposta final será exibida em forma de texto, contendo um link para a página citada.
2. pesquisa rápida por meio da linha de comando
- existir
backend
para executar:python examples/cli_research.py "你的研究问题"
- O agente emitirá os resultados do estudo e as citações diretamente no ponto final, o que é adequado para uma validação rápida.
3. saída de streaming em tempo real
- O projeto usa o Redis como um corretor de publicação e assinatura para garantir a saída em tempo real de tarefas em segundo plano. É necessário instalar o Redis localmente e certificar-se de que ele esteja em execução.
- Configuração do Redis: Na seção
.env
para adicionar informações de conexão do Redis (o padrão é usar o arquivoredis://localhost:6379
). - A saída de streaming exibe o progresso do estudo em tempo real em uma interface da Web ou terminal.
4. persistência de dados
- O projeto usa o Postgres para armazenar o estado do agente e as informações de thread. Você precisa instalar o Postgres localmente e configurar a conexão:
echo 'DATABASE_URL="postgresql://user:password@localhost:5432/dbname"' >> .env
- O banco de dados registra o contexto de cada estudo para memória de longo prazo e gerenciamento de status.
advertência
- Certifique-se de que a conexão com a Internet esteja estável, pois o agente precisará obter dados em tempo real por meio da API de pesquisa do Google.
- Se você encontrar um erro de chave de API, verifique o
.env
está configurado corretamente. - O projeto requer muitos recursos de computação e é recomendável executá-lo em um dispositivo de melhor desempenho.
cenário do aplicativo
- pesquisa acadêmica
Os pesquisadores podem usar o aplicativo para reunir rapidamente as informações mais recentes em um determinado campo. Por exemplo, ao digitar "avanços recentes em computação quântica", o agente gerará consultas relevantes, pesquisará recursos acadêmicos e reunirá respostas com links para fontes confiáveis. - Análise de inteligência de negócios
Os analistas de negócios podem usar a ferramenta para estudar as tendências do mercado ou a dinâmica da concorrência. Por exemplo, digite "Electric Vehicle Market Trends 2025" (Tendências do mercado de veículos elétricos 2025) e o aplicativo fornecerá relatórios detalhados e fontes de dados. - Auxílios educacionais
Alunos e professores podem usar a ferramenta para verificar rapidamente as informações ou preparar os materiais do curso. Por exemplo, digitar "impacts of climate change" (impactos da mudança climática) fornece uma resposta abrangente com citações adequadas para discussão em sala de aula. - Referência de desenvolvimento de tecnologia
Os desenvolvedores podem aprender a combinar o modelo Gemini e a estrutura LangGraph para criar agentes de pesquisa semelhantes e explorar o desenvolvimento de aplicativos orientados por IA.
QA
- Quais chaves de API são necessárias para executar o projeto?
É necessário fornecer uma chave de API Gemini, disponível no Google AI Studio. A chave de API LangSmith é opcional e é usada para depuração e observação. - Como posso visualizar o processo de pesquisa do agente?
Na interface da Web, após o envio de uma consulta, a interface exibe todas as etapas da operação do agente em tempo real, incluindo a geração da consulta, a pesquisa na Web e o processo de reflexão. - Quais linguagens de programação são compatíveis com o projeto?
Python (LangGraph e FastAPI) para o backend e JavaScript (React) para o frontend. docker para implantação. - Ele oferece suporte à operação off-line?
Não há suporte para operação totalmente off-line, pois o agente precisa obter dados da Web em tempo real por meio da API de pesquisa do Google.