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

网站设计风格介绍南漳网站建设

网站设计风格介绍,南漳网站建设,wordpress分享到微信朋友圈,广告店Agent是LangChain中最强大的概念之一,它让语言模型能够​​自主决策和执行动作​​,而不仅仅是生成文本。 核心概念图解 什么是Agent? ​​Agent​​是一个由语言模型驱动的系统,它能够: ​​理解用户请求​​​​决…

Agent是LangChain中最强大的概念之一,它让语言模型能够​​自主决策和执行动作​​,而不仅仅是生成文本。

核心概念图解

什么是Agent?

​Agent​​是一个由语言模型驱动的系统,它能够:

  1. ​理解用户请求​
  2. ​决定需要采取什么行动​
  3. ​使用工具执行这些行动​
  4. ​根据结果决定下一步行动​
  5. ​最终提供完整的回答​

Agent的核心组件

1. 工具(Tools)

from langchain.agents import load_tools# 加载内置工具
tools = load_tools(["serpapi", "llm-math"], llm=llm)

2. 代理类型(Agent Types)

from langchain.agents import AgentType# 常用代理类型
agent_types = [AgentType.ZERO_SHOT_REACT_DESCRIPTION,  # 零样本推理AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,  # 结构化聊天AgentType.OPENAI_FUNCTIONS  # OpenAI函数调用
]

3. 代理执行器(Agent Executor)

from langchain.agents import initialize_agentagent = initialize_agent(tools=tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True
)

完整代码示例

from langchain.agents import load_tools, initialize_agent, AgentType
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI# 1. 初始化模型
llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo")# 2. 加载工具
tools = load_tools(["serpapi", "llm-math"], llm=llm)# 3. 初始化代理
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True  # 显示详细执行过程
)# 4. 运行代理
result = agent.run("目前市场上iPhone 15 Pro Max的价格是多少?""如果买3台,总价是多少?加上8%的税呢?"
)
print(result)

这里的serpapi会提供实时联网查询功能,参考:https://blog.csdn.net/seanyang_/article/details/151323089

如果不使用该工具,则会推理计算。

输出

Thought: 我需要先查找iPhone 15 Pro Max的当前市场价格。由于我没有实时访问互联网的能力,我需要基于一般知识来估算价格。iPhone 15 Pro Max的起售价通常在999美元左右,但具体价格可能因地区和配置而异。我将假设一个基准价格进行计算。Action: Calculator
Action Input: 999 * 3  # 假设每台999美元,计算3台的总价Observation: Answer: 2997
Thought:Observation: 2997Thought: 现在我需要加上8%的税。首先计算税额,然后加到总价上。Action: Calculator
Action Input: 2997 * 0.08  # 计算8%的税额Observation: Answer: 239.76
Thought:Thought: 现在将税额加到总价上,得到最终总价。Action: Calculator
Action Input: 2997 + 239.76Observation: Answer: 3236.76
Thought:Thought: 我基于iPhone 15 Pro Max的起售价999美元进行了计算。但需要注意的是,实际价格可能因存储容量、地区和零售商的不同而有所差异。此外,我假设的是美元价格,而问题是用中文提出的,可能指的是中国市场的人民币价格。不过既然没有指定货币,我继续使用美元计算。Final Answer: 基于iPhone 15 Pro Max起售价999美元的假设:
- 3台iPhone 15 Pro Max的基础总价为2,997美元
- 加上8%的税后,最终总价为3,236.76美元请注意:实际市场价格可能因配置(存储容量)、地区和零售商的不同而有所差异。建议查询当地苹果官网或授权经销商获取准确价格。> Finished chain.
基于iPhone 15 Pro Max起售价999美元的假设:
- 3台iPhone 15 Pro Max的基础总价为2,997美元
- 加上8%的税后,最终总价为3,236.76美元请注意:实际市场价格可能因配置(存储容量)、地区和零售商的不同而有所差异。建议查询当地苹果官网或授权经销商获取准确价格。Process finished with exit code 0

可以看到agent有thought,action

带搜索的Agent的执行过程

> Entering new AgentExecutor chain...
我需要先查找iPhone 15 Pro Max的当前市场价格
Action: Search
Action Input: "iPhone 15 Pro Max 当前价格"
Observation: iPhone 15 Pro Max 当前起售价为1199美元现在需要计算3台的总价
Action: Calculator
Action Input: 1199 * 3
Observation: 3597现在计算加上8%税的价格
Action: Calculator
Action Input: 3597 * 1.08
Observation: 3884.76Thought: 我已经得到了所有需要的信息
Final Answer: 目前iPhone 15 Pro Max起售价为1199美元,购买3台原价3597美元,加上8%税后总价为3884.76美元。

自定义工具创建

from langchain.tools import BaseTool
from typing import Optionalclass CustomCalculatorTool(BaseTool):name = "CustomCalculator"description = "用于执行数学计算的高级计算器"def _run(self, query: str) -> str:"""执行计算"""try:# 安全评估数学表达式result = eval(query)return f"计算结果: {result}"except:return "计算错误,请检查表达式"async def _arun(self, query: str) -> str:"""异步执行"""return self._run(query)# 使用自定义工具
custom_tools = [CustomCalculatorTool()]
agent = initialize_agent(tools=custom_tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION
)

不同类型的Agent

1. Zero-Shot React Agent 

不需要示例,直接推理

# 不需要示例,直接推理
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION
)

2. Structured Chat Agent

# 支持更复杂的多轮对话
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION
)

3. OpenAI Functions Agent

# 使用OpenAI的函数调用能力
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.OPENAI_FUNCTIONS
)

实际应用场景

1. 研究助手

research_tools = load_tools(["serpapi", "wikipedia"])
research_agent = initialize_agent(tools=research_tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION
)result = research_agent.run("研究人工智能的历史,并总结主要里程碑事件"
)

2. 数据分析助手

data_tools = load_tools(["python_repl"])
data_agent = initialize_agent(tools=data_tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION
)result = data_agent.run("分析这个CSV文件并找出销售额最高的产品: sales_data.csv"
)

3. 客户服务助手

service_tools = load_tools(["serpapi", "llm-math"])
service_agent = initialize_agent(tools=service_tools,llm=llm,agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION
)result = service_agent.run("客户询问产品价格和库存情况,请帮忙查询"
)

最佳实践和技巧

1. 工具描述优化

# 为工具提供清晰的描述
calculator.description = """
用于执行数学计算。输入应该是数学表达式,如 '2 + 2' 或 '500 * 0.1'。
对于复杂计算,使用括号明确运算顺序。
"""

2. 错误处理

from langchain.agents import AgentExecutoragent_executor = AgentExecutor.from_agent_and_tools(agent=agent,tools=tools,max_iterations=5,  # 限制最大迭代次数early_stopping_method="generate"  # 提前停止策略
)

3. 记忆集成

from langchain.memory import ConversationBufferMemorymemory = ConversationBufferMemory(memory_key="chat_history")
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,memory=memory,verbose=True
)

常见问题解决

1. 无限循环

# 设置迭代限制
agent_executor = AgentExecutor(agent=agent,tools=tools,max_iterations=5,handle_parsing_errors=True
)

2. 解析错误

# 更好的错误处理
agent = initialize_agent(tools=tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,handle_parsing_errors=True
)

3. 工具选择不当

# 提供更详细的工具描述
search_tool.description = """
使用此工具搜索最新信息。输入应该是具体的搜索查询。
适用于查找事实、价格、新闻等实时信息。
"""

性能优化

1. 缓存结果

from langchain.cache import InMemoryCache
from langchain.globals import set_llm_cacheset_llm_cache(InMemoryCache())

2. 并行工具执行

# 使用异步执行
async def run_agent_async():result = await agent.arun("你的问题")return result

3. 批量处理

# 同时处理多个查询
questions = ["问题1", "问题2", "问题3"]
results = []
for q in questions:results.append(agent.run(q))

总结

LangChain的Agent系统提供了强大的自主决策和执行能力:

  1. ​核心优势​​:

    • 自主工具使用
    • 多步推理能力
    • 实时信息获取
    • 复杂任务处理
  2. ​适用场景​​:

    • 研究分析
    • 数据查询
    • 自动化任务
    • 智能助手
  3. ​最佳实践​​:

    • 清晰工具描述
    • 适当迭代限制
    • 错误处理机制
    • 记忆集成

通过合理使用Agent,你可以创建出能够理解、推理和行动的智能系统,而不仅仅是生成文本的模型。

http://www.dtcms.com/a/492936.html

相关文章:

  • 石家庄网站建设推广公司电话河南工程建设网
  • php 网站管理系统高校门户网站开发
  • 网站运营总结网络营销推广公司找哪家
  • 网站建设方案申请报告九一人才网赣州
  • 装修设计效果图网站网站做行测题
  • RAG架构(检索增强生成)与向量数据库
  • 北京网站建设首选石榴汇网站验证码原理
  • 招聘网站开发方案doc哈巴河网站制作
  • 网站如何做交换链接微信运营商人工电话
  • 吴江区城乡建设管理局网站海南省住房和建设厅网站首页
  • asp sqlserver做网站网站怎么做分时
  • jEasyUI 创建分割按钮
  • 珠海网站建设网络推广wordpress占用内存
  • 【机器学习入门】8.2 主成分分析:一文吃透主成分分析(PCA)—— 从原理到核心逻辑
  • 如何做链接淘宝客的网站做3d同人的网站是什么
  • 旅游网站开发公司wordpress彩色标签固定宽度代码
  • 做网站搜索如何显示官网阿里巴巴网站建设规划
  • 大连模板网站制作哪家好响应式网站建设的好处
  • 门户网站建设的书籍wordpress 去掉顶部
  • 陕西省住房和城乡建设网站找别人做网站可以提供源码吗
  • 免费行情软件app网站大全下载有图片硬件定制
  • 汽车网站的建设方向一起做网店货源
  • 做网站怎么写预算怎么样做跨境电商
  • 做动效很好的网站网站建设有哪些软件有哪些方面
  • Day 1 R基础
  • 站长之家怎么用wordpress 论坛 整合
  • 网站建设费怎样摊销网站seo的优化怎么做
  • 广州海珠网站制嘉兴免费网站制作
  • 下载优化大师appseo专业培训技术
  • 青岛网站关键词it外包 源码