LogoAIRosetta

快速上手:使用Gemini 2.5与LangGraph构建全栈智能代理

Github

Summary本文介绍了一个基于React前端和LangGraph后端的全栈应用,利用Google Gemini模型动态生成搜索查询,通过Google搜索API进行网络调研,反思并优化查询,最终生成带有引用的答案。文中详细说明了项目结构、开发测试步骤、后端代理工作原理及生产部署方案,展示了如何构建增强研究能力的对话式AI。

Google刚刚开源的这个项目,短短三天就斩获了14000多颗星,对于想理解并实践deepresearch的同学来说,简直是一大福音。快来看看吧,动手实践一下,马上可以集成到你自己的项目中,实现你的梦想。

Gemini Fullstack LangGraph Quickstart

该项目演示了一个使用 React 前端和 LangGraph 驱动的后端代理的全栈应用程序。该代理旨在通过动态生成搜索词、使用 Google 搜索进行网页查询、反思搜索结果以识别知识缺口,并不断优化搜索,直到能够提供包含引文的、支持充分的答案,从而对用户查询进行全面的研究。此应用程序是使用 LangGraph 和 Google Gemini 模型构建研究增强型对话式 AI 的示例。

Gemini 全栈 LangGraph

特征

  • 💬 具有 React 前端和 LangGraph 后端的全栈应用程序。
  • 🧠 由 LangGraph 代理提供支持,用于高级研究和会话式 AI。
  • 🔍 使用 Google Gemini 模型生成动态搜索查询。
  • 🌐 通过 Google 搜索 API 集成网络研究。
  • 🤔 通过反思推理来发现知识差距并改进搜索。
  • 📄 根据收集到的来源的引文生成答案。
  • 🔄 在开发过程中对前端和后端进行热加载。

项目结构

该项目分为两个主要目录:

  • frontend/:包含使用 Vite 构建的 React 应用程序。
  • backend/:包含 LangGraph/FastAPI 应用程序,包括研究代理逻辑。

入门:开发和本地测试

按照以下步骤使应用程序在本地运行以进行开发和测试。

1. 先决条件:

  • Node.js 和 npm(或 yarn/pnpm)
  • Python 3.11+
  • GEMINI_API_KEY:后端代理需要 Google Gemini API 密钥。
  1. 导航到backend/目录。
  2. .env通过复制文件来创建一个名为的文件backend/.env.example。
  3. 打开.env文件并添加您的 Gemini API 密钥:GEMINI_API_KEY="YOUR_ACTUAL_API_KEY"

2.安装依赖项:

后端:

cd backend
pip install .

前端:

cd frontend
npm install

3.运行开发服务器:

后端和前端:

make dev

这将运行后端和前端开发服务器。打开浏览器并导航到前端开发服务器的 URL(例如http://localhost:5173/app)。

或者,您可以分别运行后端和前端开发服务器。对于后端,请在backend/目录中打开一个终端并运行langgraph dev。后端 API 将在 处可用http://127.0.0.1:2024。它还会打开一个浏览器窗口,指向 LangGraph UI。对于前端,请在目录中打开一个终端frontend/并运行npm run dev。前端将在 处可用http://localhost:5173。

后端代理的工作原理(高级)

后端的核心是 中定义的 LangGraph 代理backend/src/agent/graph.py。它遵循以下步骤:

代理流程

  1. 生成初始查询:根据您的输入,它使用 Gemini 模型生成一组初始搜索查询。
  2. 网络研究:对于每个查询,它使用 Gemini 模型和 Google 搜索 API 来查找相关的网页。
  3. 反思与知识差距分析:代理会分析搜索结果,以确定信息是否充足或是否存在知识差距。它使用 Gemini 模型进行此反思过程。
  4. 迭代细化:如果发现差距或信息不足,它会生成后续查询并重复网络研究和反思步骤(最多配置的最大循环次数)。
  5. 最终确定答案:一旦研究被认为充分,代理就会使用 Gemini 模型将收集到的信息综合成一个连贯的答案,包括来自网络来源的引用。

CLI 示例

对于快速的一次性问题,您可以从命令行执行代理。该脚本backend/examples/cli_research.py将运行 LangGraph 代理并打印最终答案:

cd backend
python examples/cli_research.py "What are the latest trends in renewable energy?"

部署

在生产环境中,后端服务器负责优化的静态前端构建。LangGraph 需要一个 Redis 实例和一个 Postgres 数据库。Redis 用作发布‑订阅代理,用于实现后台运行的流式实时输出。Postgres 用于存储助手、线程、运行、持久线程状态和长期内存,并使用“恰好一次”语义管理后台任务队列的状态。有关如何部署后端服务器的更多详细信息,请参阅LangGraph 文档。以下示例展示了如何构建包含优化的前端构建和后端服务器的 Docker 镜像并通过 运行它docker-compose。

注意:对于 docker‑compose.yml 示例,您需要一个 LangSmith API 密钥,您可以从LangSmith获取一个。

注意:如果您没有运行 docker‑compose.yml 示例或将后端服务器公开到公共互联网,则应将文件apiUrl中的更新frontend/src/App.tsx到您的主机。目前,docker‑compose 或开发环境 的apiUrl设置为。http://localhost:8123http://localhost:2024

1.构建Docker镜像:

从项目根目录运行以下命令:

docker build -t gemini-fullstack-langgraph -f Dockerfile .

2. 运行生产服务器:

GEMINI_API_KEY=<your_gemini_api_key> LANGSMITH_API_KEY=<your_langsmith_api_key> docker-compose up

打开浏览器并导航至http://localhost:8123/app/以查看该应用程序。API 可在 处获取http://localhost:8123。

使用的技术

许可协议

本项目遵循 Apache License 2.0 许可协议。详情请参阅LICENSE文件。

CopyrightStatement

Comment

Please login before commenting

NoComments

RelatedNews

LoadingMore

快速上手:使用Gemini 2.5与LangGraph构建全栈智能代理 - Airosetta News