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

行业网站导航源码苏州网站建设公司排名

行业网站导航源码,苏州网站建设公司排名,网站建设与制作视频教学,广州公司网站制作在探索大语言模型的创意应用过程中,我们开发了一个基于多 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.hrbkazy.com/news/14477.html

相关文章:

  • 网站建设原型谷歌排名算法
  • 织梦网站怎么上传视频网站怎么优化推广
  • 做网站用什么语言简单seo综合查询软件排名
  • 公司备案证查询网站查询网站查询seo优化网站推广全域营销获客公司
  • 做网站销售会问哪些问题品牌运营策划
  • 冻品网站的建设背景最近的国内新闻
  • 重庆网站建设设计青岛网站设计微动力
  • 常州金坛建设局网站北京seo网络优化招聘网
  • 我要网站建设301313龙虎榜
  • 什么网站 是cms系统下载网站建设报价单
  • 乌鲁木齐房产集团网站建设搜狗推广
  • 网站如何带来流量广告推广免费
  • PHP 5 MySQL动态网站开发指南推广app大全
  • 安阳做网站推广最好的公司站长工具忘忧草
  • 猪八戒网做动漫弹幕网站网络营销心得体会
  • 缩短网址做钓鱼网站网站推广排名
  • 公安机关网站规范化建设应用产品线下推广方式都有哪些
  • 有个网站发任务 用手机可以做北京搜索排名优化
  • 凡科网做网站收费吗百度搜索资源管理平台
  • wordpress4.7源码下载杭州seo网站排名优化
  • 乾县网站建设信息流优化师是做什么的
  • 策划专业网站网络营销推广方式有哪些
  • 做视频素材网站seo快速工具
  • 不用ftp做网站下载优化大师
  • 网站收录需要多久武汉seo网站
  • 公司的网站建设免费推广论坛
  • 武汉google网站制作如何创建一个app
  • sql网站模板巨量千川广告投放平台
  • 做进口零食批发网站百度怎么投放广告
  • 怎样低成本做网站推广百度推广代理商与总公司的区别