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

重0到1基于langchain框架搭建一个智能体(chapter 1)

什么是智能体

智能体(Agent)指能够感知环境、自主决策并执行行动以实现目标的实体,通常具备一定程度的智能或自动化能力。智能体可以是软件程序、机器人或混合系统,其核心特征包括自主性、反应性、目标导向性和社会性(多智能体协作)。

快速实现

from langchain_deepseek import ChatDeepSeek import os from typing import Literal from tavily import TavilyClient from deepagents import create_deep_agent # sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from langchain_core.tools import BaseTool # from demo3 import agent class WeatherTool(BaseTool): name: str = "get_weather" description: str = "获取指定城市的实时天气,输入城市名(如 '北京')" # 核心运行逻辑 def _run(self, query: str) -> str: # 这里应该是真实的 API 调用 return f"{query} 的天气是晴朗的,温度 25°C。" # 异步支持(可选) async def _arun(self, query: str) -> str: return self._run(query) # 实例化并使用 weather_tool = WeatherTool() api_key=os.environ["OPENAI_API_KEY"] tavily_client = TavilyClient(os.environ["TAVILY_API_KEY"]) # Print the agent's response def internet_search( query: str, max_results: int = 5, topic: Literal["general", "news", "finance"] = "general", include_raw_content: bool = False, ): """Run a web search""" return tavily_client.search( query, max_results=max_results, include_raw_content=include_raw_content, topic=topic, ) # System prompt to steer the agent to be an expert researcher research_instructions = """你是一名专注【护肤】领域3年的主播,性格直爽,说话语速中等偏快。 请为【一款主打提亮肤色的精华液】写一段5分钟的直播讲解话术。 要求: 开场:用“熬夜脸”“暗沉”等痛点开场,展示使用前后对比。 塑品:重点强调【成分:高浓度烟酰胺】和【效果:7天提亮】,用生活化比喻解释技术(如“就像给皮肤开了补光灯”)。 互动:中间穿插2次互动,例如“觉得早上起来脸黄黄的扣1”。 逼单:结尾用“库存告急/限时3分钟”制造紧迫感,话术要直接(如“运营准备好了吗?3、2、1,上链接!拍下立减20!”)。 语气:像闺蜜种菜一样真实,多用“姐妹们听我说”、“这个真的不一样”等短语""" model = ChatDeepSeek( model="deepseek-chat", temperature=0, api_key=api_key, # 从环境变量读取 base_url="https://api.deepseek.com/v1" ) print("模型初始化完成",) agent = create_deep_agent( model=model, # 通过 OpenAI 兼容接口 tools=[internet_search,weather_tool], system_prompt=research_instructions, ) result = agent.invoke({"messages": [{"role": "user", "content": "你来点开场白?,顺便说一下上海现在的温度"}]}) print("智能体生成完成") # Print the agent's response print(result["messages"][-1].content)

生成效果

http://www.jsqmd.com/news/622352/

相关文章:

  • 雪女-斗罗大陆-造相Z-Turbo在元宇宙中的应用:为用户虚拟化身生成个性化动漫形象
  • 5分钟学会TurboDiffusion:Wan2.1快速生成产品演示视频教程
  • 奥运排行榜背后的数据博弈:如何为不同国家定制最佳排名策略
  • 2026停车场照明哪家好?智慧节能方案对比参考 - 品牌排行榜
  • C编码小技巧(代码注释,日志开启/关闭,#pragma once)
  • SmolVLA企业级应用:基于.NET框架的智能业务系统集成
  • TitanHide核心原理:SSDT Hook技术深度解析
  • Pixel Dream Workshop 控制生成技术:Depth与Canny控制网实战
  • SDMatte在嵌入式设备上的轻量化部署探索:基于STM32的启发
  • 终极ink运行时引擎解析:容器、控制命令与故事状态管理全指南
  • 2026年专业的论文降重网站助力学术写作高效完成 - 品牌排行榜
  • Sentinel-1 Burst数据处理避坑实录:从aria2c报错到wget脚本救场
  • HsMod:炉石传说终极个性化定制方案,实现游戏体验8倍效率提升
  • 2022.12四级听力真题解析:高效备考策略与实战技巧
  • Claude参数曝光,AI模型竞争格局再掀波澜
  • Klib入门指南:5分钟掌握C语言高性能通用库
  • 基于伏羲大模型的全球气象可视化:JavaScript与Vue前端交互实现
  • 量化交易自学指南其七——策略编写
  • 如何防止别人恶意刷接口?
  • HsMod终极指南:深入解析炉石传说BepInEx插件架构与高级定制
  • Gemma-3-12b-it部署成本优化:INT4量化后显存降低60%且精度损失<2%实测
  • RVC效果展示:AI翻唱作品集,听听我的声音有多像
  • 2026年论文降重效果好的网站选择与实用参考 - 品牌排行榜
  • Vue前端集成StructBERT零样本分类模型的实战教程
  • Lychee-Rerank多模态探索初试:结合CLIP模型进行图文跨模态检索排序
  • frpc-desktop自动化版本号管理:使用standard-version
  • Pepperoni App Kit:React Native跨平台应用开发终极指南
  • Qwen2.5-VL-7B-Instruct图文对话进阶:多图对比分析、跨图逻辑推理技巧
  • 【Blazor 2026技术前瞻白皮书】:一线架构师亲授3步极速接入现代Web开发栈
  • 陈晓彤律师联系方式查询:关于杭州地区经济与商事纠纷法律服务的联系指引与通用建议 - 品牌推荐