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

8.角色 Prompt 模板

# -*- coding: utf-8 -*-""" @Created on : 2026/6/2 9:44 @creator : er_nao @File :day77_role_prompt_template.py @Description :角色 Prompt 模板 """importrequestsimporttimefromconfigimportTONGYI_API_KEY,TONGYI_API_URL# ===================== 核心:角色 Prompt 模板函数 =====================defget_role_prompt(role_name):""" 角色模板库:输入角色名,返回完整的角色Prompt """role_template={# 学习角色"Python老师":"你是一位Python零基础老师,用大白话讲解,不使用专业术语,回答简洁易懂。",# 工作角色"专业翻译":"你是专业中英翻译官,只输出翻译结果,不添加任何多余解释、文字和符号。",# 技术角色"代码助手":"你是专业代码助手,只输出可运行代码,附带简洁注释,不废话。",# 生活角色"美食推荐官":"你是美食推荐官,根据需求推荐3个菜品,简洁不啰嗦。",# 默认角色"默认":"你是一个友好、简洁、专业的AI助手。"}# 返回对应角色的Promptreturnrole_template.get(role_name,role_template["默认"])# ===================== 历史消息拼接 =====================defconcat_history(history,new_question):msg_list=history.copy()msg_list.append({"role":"user","content":new_question})returnmsg_list# ===================== AI调用函数 =====================defai_chat(messages,temperature=0.6,max_retry=3):forretryinrange(max_retry):try:headers={"Authorization":f"Bearer{TONGYI_API_KEY}","Content-Type":"application/json"}data={"model":"qwen-plus","input":{"messages":messages},"temperature":temperature}res=requests.post(TONGYI_API_URL,headers=headers,json=data)result=res.json()returnresult["output"]["text"]exceptExceptionase:print(f"第{retry+1}次重试...")time.sleep(1)return"调用失败"# ===================== 带角色的对话函数 =====================defchat_with_role(user_input,role_name,history=None):ifhistoryisNone:history=[]# 1. 获取角色模板(今天核心)role_prompt=get_role_prompt(role_name)# 2. 拼接system角色 + 历史 + 用户问题messages=[{"role":"system","content":role_prompt}]messages.extend(history)messages.append({"role":"user","content":user_input})# 3. 获取AI回答ai_reply=ai_chat(messages)# 4. 更新历史history.append({"role":"user","content":user_input})history.append({"role":"assistant","content":ai_reply})returnai_reply,history# ===================== 测试 =====================if__name__=="__main__":history=[]print("===== 角色:Python老师 =====")reply,history=chat_with_role("什么是变量?","Python老师",history)print("AI:",reply)print("\n===== 角色:专业翻译 =====")reply,history=chat_with_role("I love coding","专业翻译",history)print("AI:",reply)

http://www.zskr.cn/news/1452529.html

相关文章:

  • 中小企业政策申报总踩坑?这可能是你没用对工具
  • 2026武汉宝格丽回收:看完这篇再出手,少亏50% - 奢侈品回收测评
  • 蓝桥杯17届软件测试预选赛4期Python版 自动化测试
  • GC 三色标记法的“并发安全性“误区,我也是踩了坑才明白
  • Mac Mouse Fix:如何让10美元鼠标在Mac上比触控板更好用
  • 物流AI集成失败率高达63%?揭秘头部企业私有化部署中未公开的4层协议对齐模型(含TMS/WMS/OMS三系统握手协议详解)
  • Java后台静默调用扫描仪的完整可运行工程(含jtwain.dll源码与Eclipse项目)
  • 别再只记事务代码了!深入理解SAP EWM三种盘点模式(定期/连续/周期)的配置逻辑与业务场景选择
  • Kinect麦克风阵列开发实战:从硬件解析到稳定部署
  • 利用快马平台快速构建dhnvr416h-hd高清视频处理应用原型
  • 如何用智慧树自动刷课插件高效完成网课学习:3步实现解放双手
  • 浙江国际物流服务选型指南 适配外贸全场景需求 - 奔跑123
  • 保姆级教程:用ENVI 5.6.1搞定高分二号(GF2)影像融合,从插件安装到出图避坑全流程
  • 保姆级教程:在银河麒麟V10服务器上配置bond双网卡(附7种模式详解与选型建议)
  • WPF大屏看板源码工程:含完整目录结构、双素材包与调试配置
  • 微软Project Silica:用石英玻璃实现千年数据存储的技术解析
  • 告别Keil!用CLion无缝接手同事的STM32项目(附CubeMX迁移文件清单)
  • 新手必看:用逻辑分析仪抓取杰发AC7840的CAN总线波形,一步步教你分析数据帧
  • 实战指南:基于快马平台,快速开发一个电商智能客服AI Agent
  • 开放软件设计:从互操作性到科学工作流构建的实践指南
  • 城市数字文化空间建设平台技术方案
  • STM32L431电池供电场景下的双路低功耗唤醒工程:RTC定时+按键即时响应
  • Claude项目计划书黄金结构:1份模板+6个数据锚点+12项必须签署的法律附件(限2024Q3内部流出版)
  • MPC-BE深度解析:Windows平台开源媒体播放器的架构设计与工程实践
  • 保姆级教程:用Pandas+Matplotlib搞定公交刷卡数据分析(从数据清洗到可视化)
  • 混合办公、提示工程与智能IDE:提升开发者生产力的三大前沿实践
  • 破解磁珠丢失瓶颈: 云克隆多因子检测试剂盒的高效解决方案及优势
  • 深入解析qBittorrent search-plugins:打造专业级种子搜索生态
  • 工地上班考勤打卡软件怎么选?通芝十年专研给出避坑指南
  • ESP-Bluedroid这个在C5上能不能用Psram内存