支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


本以为Google只是简单放个Demo,哪想到是”开源版”Perplexity!

发布日期:2025-06-04 17:35:16 浏览次数: 2048
作者:字节笔记本

微信搜一搜,关注“字节笔记本”

推荐语

Google开源了全栈智能研究助手Gemini Fullstack LangGraph,实现自动生成搜索词、检索信息、识别知识盲区,输出权威引用答案。

核心内容:
1. Gemini Fullstack LangGraph项目介绍及集成组件
2. LangGraph智能体的“反思—补全—再反思”循环机制
3. LangGraph工具的基本使用和核心概念

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

本以为Google只是简单放个Demo,哪想到”开源版的Perplexity“

Google最近开源了一个名叫Gemini Fullstack LangGraph的全栈项目。

这个项目集成了 Google Gemini 2.5 大模型和 LangGraph 框架的全栈智能研究助手。

前端React ,后 FastAPI 与 LangGraph,实现“研究增强型”对话式 AI。

提出问题后自动生成搜索词,调用 Google Search API 检索信息,用大模型反思结果、识别知识盲区、不断补全,最终输出带有权威引用的答案。

689d72bd-0a37-41a7-98d2-65a8316a1f20.png

整个架构的核心是“LangGraph 智能体”。

它不仅能根据用户输入自动生成多组搜索词,还能分析每轮检索结果,判断是否存在知识盲区。

如果信息不够充分,智能体会自动生成下一轮更精准的搜索词,直到收集到足够支撑答案的资料为止。

形成了一种“反思—补全—再反思”的循环,比常规的只会爬取和粗略总结的所谓代理要强很多。

项目支持 Docker 和 docker-compose 一键部署。

5017c745-c6cb-4b03-8a59-98b5dc49671f.png

对于想做类似深度思考的个人或者企业完全必要从头开始了,改一下就可以直接投入运营。

项目仓库的根目录中有一个docker-compose.yml,可以一键拉起整个项目:

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

运行完成后

49bfa253-90ed-4705-92d7-203847fb6a6a.png

以“Grok 3.5 什么时候发布?” 为任务来进行全网的搜索。

943226ae-e33d-4b48-8f1f-c6d360fefe01.png

执行过程对于每个查询,它使用Gemini模型和Google Search API来查找相关的网页。

按官方说法, 如果发现差距或信息不足,它会生成后续查询并重复网络研究和反思步骤,最多达到配置的最大循环次数。

一旦研究被认为足够,代理会将收集的信息合成为连贯的答案,包括来自网络来源的引用,使用Gemini模型。

测试结果,时间准确而且引用内容还比较的权威可靠,不会乱答一气。

7a1be1ca-5963-4790-8d2e-555db5b27564.png

上次字节开源的DeepSearch也是用的langgraph,两个大厂同时采用这个技术必有其过人之处,下面简单演示一下langgraph的基本使用。

LangGraph 是 LangChain 团队推出的一个工具,专门用来编排AI工作流,简单来讲就是用代码画流程图,让多个 AI 模型、工具、逻辑步骤按顺序或条件执行,完成复杂任务。

比如:

-先让 GPT-4 分析用户问题,
-然后根据结果调用搜索引擎查资料,
-最后用 Claude 3 总结答案。

要实现上面的逻辑用普通代码写,可能会又臭又长。

而 LangGraph像搭积木一样,把这些步骤连起来,还能处理循环、分支、并行等复杂逻辑。

核心概念:

  • 节点(Node):一个步骤(比如调用一次 AI、查数据库、判断条件)。
  • 边(Edge):箭头,决定下一步走哪儿(比如“如果用户骂人,就结束对话”)。
  • 状态(State):共享的数据包,所有步骤都能读写它(比如用户问题、AI 的中间结果)。

节点添加过程,就和界面连线一样,串联数据和函数:

graph.add_node("analyze", analyze_user_input)  # 节点1:分析用户输入  
graph.add_node("search", call_search_api)     # 节点2:搜索  
graph.add_edge("analyze", "search")           # 箭头:分析完就搜索

完整概念版本

from langgraph.graph import StateGraph, START, END
from typing import TypedDict

# 定义状态 - 共享数据结构
class State(TypedDict):
    messages: list[str]

# 定义节点 - 处理函数
def say_hello(state: State):
    print("Hello World!")
    return {"messages": state["messages"] + ["Hello"]}

def say_goodbye(state: State):
    print("Goodbye World!")
    return {"messages": state["messages"] + ["Goodbye"]}

# 构建图
graph = StateGraph(State)
graph.add_node("hello", say_hello)
graph.add_node("goodbye", say_goodbye)

# 添加边 - 定义流程
graph.add_edge(START, "hello")
graph.add_edge("hello", "goodbye")
graph.add_edge("goodbye", END)

# 编译并执行
app = graph.compile()
result = app.invoke({"messages": []})
print(result)  # {'messages': ['Hello', 'Goodbye']}

用 LangGraph就非常简单构建了AI 工作流。

先是定义数据State,然后再定义处理这个数据的节点,也就是处理函数,接着通过构建图把各种节点进行连接,最后在这条流水线上拼接出结果。

实现起来非常的优雅和高效,很有代码版本的Coze的感觉。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询