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

app网站建设公司网络营销推广外包

app网站建设公司,网络营销推广外包,寻找石家庄网站建设,学电商运营的培训机构在探索大语言模型的创意应用过程中,我们开发了一个基于多 Agent 的智能诗歌创作系统。本文将介绍如何通过多个专业化的 Agent 协同工作,实现根据地点和天气信息自动创作诗歌的功能。 GitHub Code 项目地址 核心架构设计 1. Agent 基类设计 from pydan…

在探索大语言模型的创意应用过程中,我们开发了一个基于多 Agent 的智能诗歌创作系统。本文将介绍如何通过多个专业化的 Agent 协同工作,实现根据地点和天气信息自动创作诗歌的功能。
GitHub Code 项目地址

核心架构设计

1. Agent 基类设计

from pydantic import BaseModel
from typing import Optionalclass Agent(BaseModel):name: str = "Agent"model: str = "gpt-4o"  # deepseek-chat, mixtral-8x7b-32768, Qwen/Qwen2-72B-Instruct, gpt-4o, llama3-70b-8192instructions: str = "你是一个非常有用的人工智能助手,你使用中文回答用户的问题。"tools: list = []

2. 消息处理机制

def run_full_turn(agent, messages, logger):current_agent = agentnum_init_messages = len(messages)messages = messages.copy()while True:# turn python functions into tools and save a reverse maptool_schemas = [function_to_schema(tool) for tool in current_agent.tools]tools = {tool.__name__: tool for tool in current_agent.tools}# === 1. get openai completion ===response = get_model_response_with_tools(model_name=current_agent.model,messages=[{"role": "system", "content": current_agent.instructions}]+ messages,tools=tool_schemas or None)message = response.choices[0].messagemessages.append(message)# 记录agent会话logger.start_agent_session(current_agent.name)if message.content:print(f"{current_agent.name}:", message.content)logger.log_agent_message(current_agent.name, message.content)if not message.tool_calls:break# === 2. handle tool calls ===for tool_call in message.tool_calls:tool_name = tool_call.function.nametool_args = json.loads(tool_call.function.arguments)result = execute_tool_call(tool_call, tools, current_agent.name)logger.log_tool_call(tool_name, tool_args, result)if type(result) is Agent:current_agent = resultresult = f"交接给 {current_agent.name}. 请立即进入角色."result_message = {"role": "tool","tool_call_id": tool_call.id,"content": str(result),}messages.append(result_message)return Response(agent=current_agent, messages=messages[num_init_messages:])

3. Agent 切换机制

def transfer_back_to_triage():"""如果用户提出了一个超出你职责的话题,就调用这个选项。"""return triage_agentdef transfer_to_poem_agent():"""交接给诗歌创作agent"""return poem_agentdef transfer_to_get_env_agent():"""交接给环境信息查询agent"""return get_env_agent

4. 工具系统设计

def get_data_info(location: str) -> str:"""获取当前日期信息"""current_date = datetime.now()formatted_date = current_date.strftime("%Y年%m月%d日")return formatted_datedef poetry_creation(weather: str, location: str, date: str) -> str:"""根据天气、地点和当前的时间信息创作一首诗。"""if not date:date = datetime.now().strftime("%Y年%m月%d日")weather = weather or "晴天"location = location or "塞纳河畔"poem = get_model_response_with_tools(model_name="deepseek-chat",messages=[{"role": "system", "content": """你是一位才华横溢的诗人,擅长捕捉当下的时空之美。创作时请注意:1. 准确把握季节特征,将天气、温度等自然元素融入诗中2. 体现地域特色,紧密结合当前地点,展现当地独特的景观和人文气息3. 用优美的意象和细腻的感受打动读者4. 根据用户需求灵活选择诗歌形式(古诗、现代诗等)"""}] + [{"role": "user", "content": f"请根据以下信息创作一首诗:\n地点:{location}\n天气状况:{weather},当前日期:{date}"}])return poem

专业化 Agent 设计

1. 分发任务 Agent

triage_agent = Agent(name="Triage Agent",instructions=("你是一个专门分发任务的小助手,擅长使用工具。你的工作是收集信息,调用不同的agent来解决用户的问题。你和用户交流的语气和善而自然。"),tools=[transfer_to_get_env_agent, transfer_to_poem_agent],
)

2. 环境信息收集 Agent

get_env_agent = Agent(name="Get Weather Agent",instructions=("你的任务根据用户所在地点,收集该地的环境信息,你擅长使用工具。你需要 \1. 根据用户所在地点进行天气的查询,并返回天气信息 \2. 获取当前日期信息 \3. 交接给诗歌创作agent"),tools=[get_weather, get_data_info, transfer_to_poem_agent, transfer_back_to_triage]
)

3. 诗歌创作 Agent

poem_agent = Agent(name="Poetry Creation Agent",instructions=("你的职责是根据天气信息和地点信息写一首诗。如果用户没有指明诗歌的风格,就写一首现代诗;如果用户有要求诗歌的风格,则按照用户要求的风格写诗。"),tools=[poetry_creation, transfer_back_to_triage],
)

系统特点

  1. 分层协作

    • 任务分发层:智能路由用户请求
    • 信息收集层:获取环境数据
    • 创作执行层:生成诗歌内容
  2. 完整日志记录

    • Agent 会话追踪
    • 工具调用记录
    • 完整对话历史
  3. 灵活的创作模式

    • 支持多种诗歌风格
    • 融合环境元素
    • 个性化创作指导

实例展示

以下是一个完整的诗歌创作对话示例:

user: 我在上海,请给我写一首七言绝句Triage Agent: 好的,我需要先查询一下今天上海的环境信息,然后再为你创作一首七言绝句。请稍等片刻。
Triage Agent: transfer_to_get_env_agent({})Get Weather Agent: get_weather({'city': 'shanghai'})
Get Weather Agent: get_data_info({'location': 'shanghai'})
Get Weather Agent: transfer_to_poem_agent({})Poetry Creation Agent: poetry_creation({'weather': '晴朗', 'location': '上海', 'date': '2024年12月07日'})
Poetry Creation Agent: 《上海晴日》十二月七日,上海晴空万里,  
阳光洒满黄浦江畔,温暖如春。  
外滩的钟声悠扬,穿越百年沧桑,  
东方明珠塔顶,云端之上,俯瞰繁华。梧桐叶落,铺就金色地毯,  
南京路步行街,人潮如织,笑语盈盈。  
豫园的古色古香,与现代高楼相映成趣,  
城隍庙的香火,缭绕着岁月的痕迹。陆家嘴金融区,玻璃幕墙闪耀,  
世纪大道上,车流如梭,时光匆匆。  
在这座魔都,古老与现代交织,  
晴朗的日子,每一处都是诗意的画卷。2024年12月07日,上海的晴朗,  
是冬日里的一抹暖阳,温暖人心。  
在这座城市的每一个角落,  
都能感受到,那份独特的魅力与活力。user: 不要写这么长,我要的是七言绝句Poetry Creation Agent: poetry_creation({'weather': '晴朗', 'location': '上海', 'date': '2024年12月07日'})
Poetry Creation Agent: 《上海晴日》黄浦江畔日光暖,  
外滩钟声百年传。  
东方明珠映蓝天,  
晴日漫步心悠然。user: 好的谢谢

这个示例展示了系统如何通过多个 Agent 的协作完成诗歌创作:首先由 Triage Agent 接收请求并转发,然后由 Get Weather Agent 收集环境信息,最后由 Poetry Creation Agent 根据收集到的信息进行创作。当用户对诗歌长度不满意时,系统能够快速调整并重新创作符合要求的作品。

http://www.yayakq.cn/news/595879/

相关文章:

  • 安徽省建设总站网站网页设计师工资一般多少钱一个月
  • 免费咨询法律问题的网站雄安移动网站建设
  • 九江网站建设多少钱世界交互设计最好的前10大学
  • 买房子最好的网站建设官方网站的作用
  • 做网站违反广告法国内大宗商品交易平台有哪些
  • 北京网站外包公司php 网站超市
  • 怎么样做公司网站建工网校官网登录入口
  • 北京做网站建设公司个人简历模板免费下载网站
  • 如何建网站老鱼网google海外版入口
  • 安卓app整站织梦网站源码wordpress表单 post
  • 网站的链接结构响应式网站用什么工具做
  • 用dw做的网站容易变形网站开发遇到什么问题
  • 江苏高校品牌专业建设工程网站南宁企业官网设计
  • 招标网站免费平台wordpress登入账户
  • 眼科医院网站设计怎么做6网站建设方案详解
  • 网站建设培训四川网站广告推广平台
  • 全国建设项目验收信息网站有什么网站可以做运动
  • wordpress网站存放在个人如何注册微信公众号怎么创建
  • 食品网站网页设计wordpress评论框插件
  • wordpress+企业站模版怎么网站怎么建设框架
  • 深圳平价的专业建站公司向百度提交网站
  • vip视频解析网站建设暴雪战网国际服
  • 网站登录页模板好的开源网站
  • 网站后台html模板下载免费开源的建站系统
  • 网站域名备案查询系统网站建设第二年费用
  • 源创派网站建设在线给图片加水印
  • 网站 网站 建设wordpress升级报错
  • 做网站用什么框架最方便wordpress 主题够买
  • 连云港网站seo格尔木有做网站的吗
  • 小企业做网站有没有用网站内容建设注意事项