当前位置: 首页 > news >正文

广州市 住房建设局网站龙华网站网页设计

广州市 住房建设局网站,龙华网站网页设计,当牛做吗网站源代码分享,网站推广和优化的原因请设置正确你的deepseek的key,最近无法免费使用了,所以你需要充钱,然后获取key,key就是到官网注册账号,根据这个key进行计费的,所以需要保管好,其他key类似的,不明白的请百度吧&…

请设置正确你的deepseek的key,最近无法免费使用了,所以你需要充钱,然后获取key,key就是到官网注册账号,根据这个key进行计费的,所以需要保管好,其他key类似的,不明白的请百度吧,下面将直接上代码了:

from typing import Annotatedfrom langchain_deepseek import ChatDeepSeek
from langchain_tavily import TavilySearch
from langchain_core.messages import BaseMessage
from typing_extensions import TypedDictfrom langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_conditionfrom langchain.chat_models import init_chat_modelimport os 
from dotenv import load_dotenv# 加载.env文件中的环境变量
load_dotenv()class State(TypedDict):messages:Annotated[list, add_messages]graph_builder = StateGraph(State)# llm = init_chat_model(
#     "deepseek-chat",  # 使用DeepSeek模型
#     api_key=os.environ.get("DEEPSEEK_API_KEY")
# )llm = ChatDeepSeek(model="deepseek-chat",api_key=os.getenv("DEEPSEEK_API_KEY"))
# mess = llm.invoke(input = "你是谁?")# 初始化搜索工具
tool = TavilySearch(max_results=2)
tools =[tool]# 将工具绑定到llm中
llm_with_tools = llm.bind_tools(tools)
def chatbot(state:State):return {"messages":[llm_with_tools.invoke(state["messages"])]}# 添加聊天机器人节点
graph_builder.add_node("chatbot",chatbot)
# 添加工具节点
tool_node = ToolNode(tools=[tool])
graph_builder.add_node("tools",tool_node)
# 添加条件边
graph_builder.add_conditional_edges("chatbot",tools_condition)# 工具调用完成后,返回聊天机器人节点
graph_builder.add_edge("tools","chatbot")
graph_builder.set_entry_point("chatbot")
graph =graph_builder.compile()# 打印图结构
print(graph.get_graph().draw_mermaid())
graph_png = graph.get_graph().draw_mermaid_png()
with open("chatbot_workflow.png", "wb") as f:f.write(graph_png)def stream_graph_updates(user_input:str):for event in graph.stream({"messages": [{"role": "user", "content": user_input}]}):for value in event.values():print("Assistant:", value["messages"][-1].content)while True:try:user_input = input("User: ")if user_input.lower() in ["quit", "exit", "q"]:print("Goodbye!")breakstream_graph_updates(user_input)except KeyboardInterrupt:print("\nGoodbye!")breakprint("done")

这里我们导入了必要的库,包括:

  • typing 和 typing_extensions 用于类型注释
  • langchain.chat_models 用于初始化聊天模型
  • langgraph.graph 提供了构建状态图的核心组件
  • os 和 dotenv 用于环境变量管理
加载环境变量
load_dotenv()

这行代码会从项目根目录的 .env 文件中加载环境变量,包括我们的 DEEPSEEK_API_KEY。不懂的仔细百度这个函数和库,学习一下啊

其他的代码中都有注释

我们成功地增强了聊天机器人,使其具备了使用外部工具的能力。通过集成Tavily搜索API,我们的聊天机器人现在可以:

  1. 识别需要外部信息的问题
  2. 自动调用搜索工具获取相关信息
  3. 处理搜索结果并生成基于这些信息的回答

这种增强极大地扩展了聊天机器人的能力范围,使其不再局限于模型的训练数据。

我们还学习了LangGraph的几个重要概念:

  1. 工具绑定(Tool Binding):通过bind_tools方法将工具与LLM集成
  2. 预构建组件:使用ToolNodetools_condition简化工具处理
  3. 条件边:根据状态动态决定执行流程
  4. 循环流程:创建包含循环的复杂工作流
http://www.yayakq.cn/news/312962/

相关文章:

  • 怎么搭建局域网网站吉林省建设厅网站杨学武
  • html5 wap网站模板动画河北邢台房价多少钱一平方
  • 视频网站开发策划书seo网络推广方法
  • 洛阳 网站建设公司哪家好学校如何重视校园网站建设
  • 网站建设工作落实情况福建省住房和城乡建设厅官网
  • 语言网站建设海外网站加速
  • 网站一般做几个关键词中国核工业第二二建设有限公司是国企吗
  • 网站建设管理策划书品牌全案策划案例
  • c 做网站的六大对象昆明网站设计制作公司
  • 城市建设理论研究收录网站网站建设办公
  • 上饶做网站家政公司在哪个平台推广效果好
  • 成都网站建设交易网站项目建设规划书案例
  • 怎样选择 网站建设网站双线选择
  • 网站个人备案材料现在建网站赚钱吗
  • wordpress站点地址写错做照片视频的网站
  • 做贷超网站 前期需要什么分析杨园建设社区网站
  • 成都论坛网站建设督查营商环境建设网站
  • 淘宝客网站开发 猪八戒晋城住房保障和城乡建设管网站
  • 公园网站建设方案做网站多少钱?
  • 政协系统网站建设用手机制作招生简章的app
  • 网站数据库备份怎么做淘宝官网首页图片
  • 域名打不开原来的网站如何自己搭建游戏服务器
  • 电子商务网站建设和管理的含义wordpress js在哪
  • 邮轮哪个网站是可以做特价胃肠的网络营销产品价格策略
  • 搜搜网站收录北京网页设计师培训
  • 医疗知识普及网站开发招远做网站联系电话
  • 建设小辣猫的网站动漫网站建设的目的
  • 淘宝网站建设哪个类目青岛物流公司网站建设
  • 网站建设公司选哪个好咖啡豆网站模板
  • wordpress咋建站wordpress后台500