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

win7 iis 网站网络销售的工作内容

win7 iis 网站,网络销售的工作内容,济南网站建设选聚搜网络,婚恋网站建设方案简单来说,智能体无法区分内容的好坏,我们设计智能体的人需要考虑到需要用户接收哪些信息,哪些不需要用户接收,或者让用户做判断的,如果我们设计者可以提取判断,这可以通过这个环节进行解决,怎么…

     简单来说,智能体无法区分内容的好坏,我们设计智能体的人需要考虑到需要用户接收哪些信息,哪些不需要用户接收,或者让用户做判断的,如果我们设计者可以提取判断,这可以通过这个环节进行解决,怎么解决呢?很简单,当智能体打算调用大模型可以进行检测输入是否符合预期,工具结果返回是否达到我们设计者的预期,如果无法达到,则返回我们人为定义的数据,这就是所谓的人工参与,另一层含义就是智能体的最终决策由人类控制,但是内部实现都是一样的,下面就详细介绍:

LangGraph 支持强大的人在环(HIL) 工作流,在自动化流程的任何点都可以进行人工干预。这在大型语言模型(LLM)驱动的应用程序中特别有用,因为在这些应用程序中,模型输出可能需要验证、校正或其他上下文。

持久执行状态 :LangGraph 在每个步骤后检查图状态,允许执行在定义的节点处无限期暂停。这支持异步人工审查或输入,而没有时间限制。

灵活的集成点 :HIL 逻辑可以在工作流程中的任何点引入。这允许有针对性的人工参与,例如批准 API 调用、纠正输出或指导对话。

典型用例 ¶

🛠️审查工具调用 :人类可以在工具执行之前审查,编辑或批准 LLM 请求的工具调用。

验证 LLM 输出 :人类可以审查、编辑或批准 LLM 生成的内容。 

提供上下文 :使 LLM 能够明确请求人类输入以澄清或其他细节,或支持多轮对话。

 

实现

interrupt :在特定点暂停执行,提供信息供人查看。 

Command:用于使用人类提供的值恢复执行。

例子:

import os 
from dotenv import load_dotenv# 加载.env文件中的环境变量
load_dotenv()
from typing import Annotated,List,Literal
from typing_extensions import TypedDict
from langchain_deepseek import ChatDeepSeek
from langchain_tavily import TavilySearch
from langchain_core.messages import BaseMessage,SystemMessage,AIMessage,HumanMessage,ToolMessage
from typing_extensions import TypedDict
from langgraph.graph import StateGraph,START, END
from langgraph.graph.message import add_messages
from langgraph.prebuilt import ToolNode, tools_condition
from langchain_core.tools import tool
from langgraph.checkpoint.memory import MemorySaver
from langgraph.types import Command, interrupt
from pydantic import BaseModel
from langgraph.checkpoint.memory import MemorySaver
memory = MemorySaver()
from langchain_tavily import TavilySearch
from langchain_community.tools.tavily_search import TavilySearchResults
from langgraph.prebuilt import ToolNode,tools_condition class State(TypedDict):messages:Annotated[list, add_messages] # 增加不覆盖llm = ChatDeepSeek(model="deepseek-chat",api_key=os.getenv("DEEPSEEK_API_KEY"))
tool = TavilySearchResults(max_results=2)
tool_node  =ToolNode(tools=[tool])
tools  =[tool]
llm_with_tools = llm.bind_tools(tools)from langchain_core.messages import BaseMessage,SystemMessage,AIMessage,HumanMessage,ToolMessage
def chatbot(state:State):message_content = state["messages"][0].contentmessage = [SystemMessage(content="你是一个聊天机器人"),HumanMessage(content=message_content)]return {"messages":[llm_with_tools.invoke(message)]}graph_builder = StateGraph(State)
graph_builder.add_node("chatbot",chatbot)
graph_builder.add_node("tools", tool_node)
graph_builder.add_edge(START,"chatbot")
graph_builder.add_conditional_edges("chatbot",tools_condition,["tools"])
graph_builder.add_edge("tools","chatbot")
graph_builder.add_edge("chatbot",END)graph = graph_builder.compile(checkpointer=memory,interrupt_before=["tools"]
)
# 打印图结构
print(graph.get_graph().draw_mermaid())
graph_png = graph.get_graph().draw_mermaid_png()
with open("human_in_loop.png", "wb") as f:f.write(graph_png)

config = {"configurable":{"thread_id":"4"}}
user_input = "我想学习langgraph,你有什么好的建议吗?"
events = graph.stream({"messages":[("user",user_input)]},config)
for event in events:if"messages" in event:event["messages"][-1].pretty_print()snapshot = graph.get_state(config)
snapshot.next
('tools',)
existing_message = snapshot.values["messages"][-1]
existing_message.pretty_print()================================== Ai Message ==================================
Tool Calls:tavily_search_results_json (call_0_ef66d138-4949-4e47-a1ac-f49552d6e0f0)Call ID: call_0_ef66d138-4949-4e47-a1ac-f49552d6e0f0Args:query: 学习langgraph的建议
from langchain_core.messages import AIMessage,ToolMessage
# 使用下面的回答直接代替工具返回的数据
answer = ("langgraph是比较安全的lib,现在应用广泛应用到agent上了")
new_message = [ToolMessage(content=answer,tool_call_id= existing_message.tool_calls[0]["id"]),AIMessage(content=answer),]
new_message[-1].pretty_print()================================== Ai Message ==================================langgraph是比较安全的lib,现在应用广泛应用到agent上了
graph.update_state(config,{"messages":new_message},as_node="tools")
{'configurable': {'thread_id': '4','checkpoint_ns': '','checkpoint_id': '1f04f511-cc15-6946-8004-f67f17bd4c97'}}
snapshot = graph.get_state(config)
after_update_messages = snapshot.values["messages"][-1]
after_update_messages
AIMessage(content='langgraph是比较安全的lib,现在应用广泛应用到agent上了', additional_kwargs={}, response_metadata={}, id='39d280d9-92f3-4d86-8746-f056d95dc9a8')
snapshot.next
('chatbot',)

 

events = graph.stream(None, config,stream_mode="values")
for event in events:if "messages" in event:event["messages"][-1].pretty_print()

http://www.dtcms.com/wzjs/338746.html

相关文章:

  • 网站建设先有域名然后呢铁力seo
  • 网站设计与制作是网页吗营销推广方法有哪些
  • 给你一个网站你怎么做永久免费的建站系统有哪些
  • 济南济南网站建设公司seo研究中心qq群
  • 烟台公司建网站西安seo包年服务
  • 哪个网站做线路攻略做得好糕点烘焙专业培训学校
  • 网页制作与网站建设windows优化大师下载
  • 好的设计师互动网站seo引擎搜索网站关键词
  • 建设网站赚钱吗公众号推广引流
  • 涿州做网站的公司cdq百度指数
  • 上海建桥学院门户网站搜索百度下载安装
  • 网站名字重复营销推广是什么意思
  • 游戏网站建设系统介绍北京计算机培训机构前十名
  • 什么兼职网站可以做视频剪辑山东关键词快速排名
  • 百度网盟 网站定向国内快速建站
  • 拍婚纱照线下课程seo
  • 唐山医疗网站建设百度客服中心
  • 简约型网站建设百度关键词优化策略
  • 几百的网站整合营销传播工具有哪些
  • 國家建设协会官方网站百度知道在线问答
  • 佛山seo优化代理搜索引擎优化的方式
  • 网站如何做传输网盘泉州关键词优化软件
  • 网站开发步骤海外seo是什么
  • 三明网站建设搜索引擎营销的作用
  • 自媒体网站程序seo霸屏软件
  • 深圳市建设工程造价信息seo精华网站
  • cnnic可信网站必须做吗域名申请
  • 佛山乐从网站建设成都seo优化
  • 好大学网站设计百度指数排名热搜榜
  • 四川电大住房和城乡建设厅网站企业邮箱网页版