尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【ollama】自定义结构化输出
自定义字段models.pyfromtypingimportUnion,LiteralfrompydanticimportBaseModel,FieldclasssendGroupMsg(BaseModel):type:Literal[send_group_msg]Field(description指令类型标识固定为 send_group_msg)carenum:strField(description发送群消息的问题单号单号如567)msg:strField(description群消息的内容)oper:strField(default发群消息,description具体的操作名称固定是发群消息)classsendMsg(BaseModel):type:Literal[send_msg]Field(description指令类型标识固定为 send_msg)carenum:strField(description发送消息的问题单号例如567)msg:strField(description发送的消息内容。若用户未指定具体内容)oper:strField(default发消息,description具体的操作名称固定是发消息)classsendPhoneMsg(BaseModel):type:Literal[send_phone_msg]Field(description指令类型标识固定为 send_phone_msg)carenum:strField(description待发送短信的问题单号例如567)oper:strField(default手机短信,description具体的操作名称固定是手机短信)classAllCommands(BaseModel):task:Union[sendGroupMsg,sendPhoneMsg,sendMsg]Field(description根据输入文本判断指令类型。)main.pyfromtypingimportUnion,LiteralfrompydanticimportBaseModel,FieldimportollamaimportosfrommodelsimportAllCommandsimportsys os.environ[NO_PROXY]xxxx,127.0.0.1,localhost,::1clientollama.Client(hosthttp://xxxx:11434)defgenerate_command(user_text):promptf请从以下文本中严格提取指令任务。 要求 1. 必须严格提取原文的单号和操作名严禁翻译或改写。 2. 必须根据操作语义准确判断 type 字段。 3. 严格按照给定的 JSON Schema 格式输出。 4. 如果文本包含“加内容”时使用 add_first_inof。如果文本包含“加记录”、“添加记录”时使用add_new_info 文本内容{user_text} print(f 正在请求模型计算:...)responseclient.chat(modelds05288b:latest,# modelqwen3:8b,messages[{role:user,content:prompt}],formatAllCommands.model_json_schema(),options{temperature:0})print(f 模型计算完毕即将返回结果:...)resultAllCommands.model_validate_json(response.message.content)print(result)returnresultwhileTrue:print(请输入多行文本输入完成后按 CtrlD/CtrlZ)user_questionsys.stdin.read()final_answergenerate_command(user_question)print(\n✅ 最终答案,final_answer)print( [系统提示] 准备迎接下一个问题。\n)
RELATED

相关推荐

2026写小说软件盘点:亲测10款AI生成小说工具(内含避坑建议)

2026写小说软件盘点:亲测10款AI生成小说工具(内含避坑建议)

最近带新人发现卡文是最大的痛点。大家天天催出教程教你如何写小说,其实思路不畅时利用写小说软件能省下大量时间。很多朋友不知道新手如何开始写小说,在第一步就被劝退。 今天我把半年测试过的10款工具盘点出来,帮你找到适合的写小说的软件&…

📅 2026/9/14 17:22:48
模拟BOSS招聘项目——求职者端功能实现

模拟BOSS招聘项目——求职者端功能实现

一、登录部分求职者表设计,在models中添加job_seek.pyclass JobSeeker(Model):"""求职者表 t_job_seeker"""# 主键ID,自增id fields.IntField(pkTrue, description"主键ID,自增")# 手机号,唯一mobi…

📅 2026/9/17 0:56:43
游戏开发中的定时器与冷却机制实现

游戏开发中的定时器与冷却机制实现

1. 千星沙箱中的定时器与机关交互机制在游戏开发领域,千星沙箱以其高度自由的交互设计而闻名。这个引擎允许开发者通过可视化编程和脚本结合的方式,创造出复杂的游戏逻辑。今天我要分享的是如何利用定时器实现选项卡激活机关的冷却效果——这是许多解谜类…

📅 2026/8/23 9:19:21
MORE NEWS

更多资讯

📰

搞懂月球自转周期,手写实现天体同步算法

搞懂月球自转周期,手写实现天体同步算法 你复制的那段模拟代码跑起来就报错,变量名对不上,逻辑更是乱成一锅粥,根本不知道怎么调?别急着删库,问题往往出在底层逻辑没搞清。今天咱们不背公式,直接上手,通过 手写实现…

📰

Webots机器人开发环境搭建与多机械臂协同仿真实战

1. 为什么选Webots?——不是“又一个仿真工具”,而是工程师手里的物理沙盒你搜“机器人仿真平台选择”,页面上跳出来的全是ROSGazebo、V-REP(现在叫CoppeliaSim)、MATLAB Simulink、还有UnityROS插件。但真正坐下来搭一…

📰

Bright Data CLI 装成 Codex Skill,模型请求这侧改走 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

QGroundControl二次开发:从源码编译到自定义功能实战

1. 为什么值得折腾QGC二次开发QGC地面站(QGroundControl)在无人机圈子里基本是绕不开的工具。不管你是飞PX4还是ArduPilot固件,QGC都是最主流的航线规划、参数调试、固件烧录平台。但很多人用着用着就会发现,官方版本虽然稳定&…

📰

SpringBoot+Vue白酒销售系统开发与协同过滤算法实践

1. 项目概述与核心价值黔醉酒业白酒销售系统是一个典型的B2B电商平台解决方案,采用SpringBootVue前后端分离架构,核心特色是集成了协同过滤推荐算法。这个项目特别适合计算机相关专业学生作为毕业设计或课程设计的选题,也适合Java开发者作为全…

📰

魔兽血精灵源码解析:3个致命坑让你少走弯路

魔兽血精灵源码解析:3个致命坑让你少走弯路 报错堆满屏幕,StackTrace 看得人头皮发麻,连个断点都打不准位置。这种时候,别急着改代码,先打开源码看看底层到底在干嘛。很多人卡在“魔兽血精灵”相关的渲染逻辑或数据同步上,以为是自己业务逻…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬