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

搭建农村电商平台湖南关键词优化首选

搭建农村电商平台,湖南关键词优化首选,汕头网站关键排名,怎么制作一个团购小程序实战简单的agent示例 代码功能概述 目标:创建一个能自主思考(推理)并调用工具(行动)的 AI Agent,用于回答需要实时信息的问题(如“Agent 最新研究进展”)。 核心组件: …

实战简单的agent示例

代码功能概述

  • 目标:创建一个能自主思考(推理)并调用工具(行动)的 AI Agent,用于回答需要实时信息的问题(如“Agent 最新研究进展”)。

  • 核心组件

    • LLM(GPT-4):负责推理和决策。

    • SerpAPI(搜索引擎):当 LLM 缺乏知识时,用于搜索外部信息。

    • ReAct 框架:让 Agent 循环执行“思考→行动→观察→优化”。

from dotenv import load_dotenv
load_dotenv() #load_dotenv() 加载 .env 文件中的环境变量(如 OpenAI 和 SerpAPI 的 API 密钥)from langchain import hub
from langchain_openai import ChatOpenAI
from langchain_community.utilities import SerpAPIWrapper
from langchain_core.tools import Tool
from langchain.agents import create_react_agent, AgentExecutor# Initialize prompt
prompt = hub.pull("hwchase17/react")
print(prompt)   # 从 LangChain Hub 加载预定义的 ReAct 提示模板(hwchase17/react),该模板包含思考、工具调用和最终回答的引导语。# Initialize LLM - using ChatOpenAI instead of OpenAI for better compatibility
llm = ChatOpenAI(model="gpt-4o-mini",  # Use a known working modeltemperature=0
)# Initialize search tool
search = SerpAPIWrapper()
tools = [Tool(name="Search",func=search.run,description="当大模型没有相关知识时,用于搜索知识"),
]# Create agent
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)#通过 AgentExecutor 执行两次相同查询,观察结果一致性。
#verbose=True 会打印工具调用和 LLM 输出的详细日志,便于调试。# Run queries
print("第一次运行的结果:")
try:result1 = agent_executor.invoke({"input": "当前Agent最新研究进展是什么?"})print(result1)
except Exception as e:print(f"Error in first query: {e}")print("第二次运行的结果:")
try:result2 = agent_executor.invoke({"input": "当前Agent最新研究进展是什么?"})print(result2)
except Exception as e:print(f"Error in second query: {e}")

 自行解决各类api key

.env 文件

OPENAI_API_KEY="sk-xxx"
OPENAI_API_BASE="https:xxx"
SERPAPI_API_KEY="1abd77afxxxxx"

有记忆版本:

import sys
from dotenv import load_dotenv
load_dotenv()from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain_community.utilities import SerpAPIWrapper
from langchain_core.tools import Tool
from langchain.agents import create_react_agent, AgentExecutor
from langchain.memory import ConversationBufferMemory# Initialize LLM 
llm = ChatOpenAI(model="gpt-4o-mini",temperature=0
)# Enhanced search tool
search = SerpAPIWrapper()
tools = [Tool(name="Search",func=search.run,description="Useful for searching latest AI research."),
]# Standard ReAct template (English)
react_template = """Answer the following questions as best you can. You have access to the following tools:{tools}Use the following format:Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [{tool_names}]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input questionConversation History:
{chat_history}Begin!Question: {input}
Thought:{agent_scratchpad}"""custom_prompt = PromptTemplate.from_template(react_template)# Create agent with memory
agent = create_react_agent(llm, tools, custom_prompt)
memory = ConversationBufferMemory(memory_key="chat_history",return_messages=True,input_key="input",output_key="output"
)agent_executor = AgentExecutor(agent=agent,tools=tools,memory=memory,verbose=True,handle_parsing_errors=True,max_iterations=3,return_intermediate_steps=False
)def clean_output(output):"""Extract final answer if exists"""if "Final Answer:" in output:return output.split("Final Answer:")[-1].strip()return output# First query
print("\n🔍 Query 1:")
result1 = agent_executor.invoke({"input": "What are the top 3 AI Agent research breakthroughs"})
answer1 = clean_output(result1["output"])
print("\n💡 Answer:", answer1)# Second query (with memory)
print("\n🔍 Query 2 (with memory):")
result2 = agent_executor.invoke({"input": "just list these 3 breakthroughs briefly",# Explicit memory injection"chat_history": [("human", result1["input"]),("ai", answer1)]
})
print("\n💡 Answer:", clean_output(result2["output"]))# Debug: Show full memory
print("\n🧠 Current Memory:")
print(memory.load_memory_variables({}))

测试 接口

from openai import OpenAIclient = OpenAI(api_key="sk-xxx28aD5",base_url = "https://xxxx"
)completion = client.chat.completions.create(model="gpt-4o-mini",store=True,messages=[{"role": "user", "content": "write a haiku about ai"}]
)print(completion.choices[0].message)

测试 图片模型

from openai import OpenAI
import os
from dotenv import load_dotenv
import requests# 加载环境变量
load_dotenv()# 初始化客户端(自动从环境变量读取OPENAI_API_KEY)
client = OpenAI(api_key="sk-xxx",base_url = "https://xxxxv1")try:response = client.images.generate(model="dall-e-3",  # 必须使用DALL·E模型prompt="电商生日礼物宣传海报",size="1024x1024",quality="standard",n=1,)# 安全获取URLif response.data and len(response.data) > 0:image_url = response.data[0].urlprint("图片生成成功,URL:", image_url)# 下载图片image_data = requests.get(image_url).contentwith open("flower_poster.png", "wb") as f:f.write(image_data)print("图片已保存为 flower_poster.png")else:print("错误:未收到有效的图片URL")except Exception as e:print(f"发生错误: {str(e)}")

参考书籍:大模型应用开发动手做AI Agent
 

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

相关文章:

  • 地产股最新消息杭州seo工作室
  • 做网站二级域名随便用吗登封网络推广公司
  • 自己买域名建设网站长沙seo推广优化
  • 网站建设一般多少钱官网厦门网页搜索排名提升
  • 网站如何加入百度网盟steam交易链接在哪
  • 沈阳网站的建设西安seo全网营销
  • 大兴区住房城乡建设委官方网站太原做网站推广的公司
  • 如何制作短视频seo是指什么
  • 使用循环视频做背景的网站经典模板网站建设
  • wap网站建设公司营销网站建设专家
  • 珠海网站建设珠海易推网网站权重查询接口
  • 常熟网站设计百度开户返点
  • 删除网站留言板功能阿里巴巴seo排名优化
  • 在本地用dedecms做好的网站如何上传到服务器?营销型网站建设排名
  • 南京做网站公司地点百度指数查询入口
  • 专门做包装的网站网站关键词优化推广哪家好
  • 网站描述技巧班级优化大师是干什么用的
  • 天津模板建站定制网站网络营销公司如何建立
  • 网站开发需要多久免费发外链的网站
  • 2017网站建设方案国内免费域名注册
  • 兰州高端网站建设怎么创建网站的快捷方式
  • 温州建网站哪家强必应搜索引擎网站
  • 企业网站建设思路永久免费用的在线客服系统
  • 网站建设 入门知识网站排名怎么做
  • 深圳 网站建设培训学校steam交易链接可以随便给别人吗
  • 个人网站 icp企业品牌推广策划方案
  • app网站下载免费网站服务器怎么搭建
  • 信宜做网站设置微信怎么做推广
  • 山东企业pc网站优化排名软件
  • 自己服务器做网站如何备案做网站价格