当前位置: 首页 > 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.jsqmd.com/news/941098/

相关文章:

  • AI助力创意实现:让快马平台生成你的“弹性抓钩”等新颖hookshot玩法
  • 中小企业政策申报总踩坑?这可能是你没用对工具
  • 别再为个人网站收款发愁了!实测三款免签支付平台,手把手教你选对省钱省心的那个
  • Ettercap实战:用ARP欺骗“钓”出你内网里的明文密码(仅供安全学习)
  • 别再手动解析文本了!用LangChain的StructuredOutputParser,5分钟搞定商品信息自动提取
  • 2026武汉宝格丽回收:看完这篇再出手,少亏50% - 奢侈品回收测评
  • 蓝桥杯17届软件测试预选赛4期Python版 自动化测试
  • SAP CDS视图实战:用SEGW和/IWFND/MAINT_SERVICE快速发布只读OData服务(附自动同步CDS变更技巧)
  • GC 三色标记法的“并发安全性“误区,我也是踩了坑才明白
  • Mac Mouse Fix:如何让10美元鼠标在Mac上比触控板更好用
  • 北京黄金回收实力排行2026新鲜出炉!全城TOP精选商户综合实力评选 - 奢侈品回收测评
  • 从靶场到实战:用Pikachu靶场复现真实Web漏洞的5个关键步骤
  • 告别破解风险!手把手教你用Docker部署开源漏洞扫描工具替代AppScan
  • 【AI产品经理】传统产品经理 VS AI产品经理谁更好?
  • 物流AI集成失败率高达63%?揭秘头部企业私有化部署中未公开的4层协议对齐模型(含TMS/WMS/OMS三系统握手协议详解)
  • TMSpeech:Windows本地实时语音转文字,让你的会议记录效率提升300%
  • Java后台静默调用扫描仪的完整可运行工程(含jtwain.dll源码与Eclipse项目)
  • CefFlashBrowser:拯救Flash时代数字遗产的专业浏览器
  • Mermaid Live Editor深度解析:基于SvelteKit的实时可视化架构设计实践
  • 别再只记事务代码了!深入理解SAP EWM三种盘点模式(定期/连续/周期)的配置逻辑与业务场景选择
  • 2026年最新安康市黄金回收铂金回收白银回收彩金回收解析:口碑排行前五门店筛选及避坑要点和联系方式推荐 - 亦辰小黄鸭
  • 阴阳师自动化脚本终极指南:一键托管20+日常任务,解放双手的智能游戏管家
  • 2026 深度测评|全网视频去水印工具实测,主流方法 + 适配场景全盘点
  • Kinect麦克风阵列开发实战:从硬件解析到稳定部署
  • 手把手教你搞定Xilinx CPRI IP核的时钟同步(附Slave端Cleanup PLL配置避坑指南)
  • 利用快马平台快速构建dhnvr416h-hd高清视频处理应用原型
  • 如何用智慧树自动刷课插件高效完成网课学习:3步实现解放双手
  • 如何高效解锁网易云音乐NCM格式?智能解密工具一站式解决方案
  • 青岛AI营销获客公司怎么选?2026青岛AI优化推广、GEO推广公司TOP3深度测评
  • AI + Map 文件:高质量还原 Vite 打包源码实战