【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)

相关新闻

5G建设转型与卫星通信技术解析

5G建设转型与卫星通信技术解析

1. 5G无线集采缩水40%背后的行业变局最近三大运营商5G无线主设备集采规模同比减少40%的消息引发行业震动。作为从业十余年的通信工程师,我认为这反映了5G建设进入深水区的典型特征。从技术角度看,5G网络建设可分为三个阶段:2019-2021年的规模…

2026/10/12 15:55:58 阅读更多 →
TM4C1294模拟比较器内部参考电压配置与实战指南

TM4C1294模拟比较器内部参考电压配置与实战指南

1. 项目概述与核心价值在嵌入式硬件开发,尤其是涉及模拟信号监测和阈值检测的应用中,模拟比较器是一个既基础又至关重要的外设。它就像一个反应极快的“电压裁判”,实时比较两个输入端的电压高低,并立即给出一个“高”或“低”的数…

2026/10/10 8:10:09 阅读更多 →
SolidWorks 2019 64位安装与优化全指南

SolidWorks 2019 64位安装与优化全指南

1. 安装前的准备工作在开始安装SolidWorks 2019 64位版本之前,有几个关键准备工作需要完成。首先确认你的电脑配置是否满足最低系统要求:操作系统需要Windows 7 SP1、Windows 8.1或Windows 10(64位版本);处理器至少需要…

2026/10/7 16:09:51 阅读更多 →

最新新闻

基于微信小程序与Spring Boot的社区团购系统实战开发

基于微信小程序与Spring Boot的社区团购系统实战开发

上个月,一位做社区团购的团长朋友跟我抱怨,说还在用Excel表格记账,每天早上在微信群里接龙,晚上对账对到头疼。这几乎是社区团购刚起步阶段的真实写照:订单靠接龙、收款靠私聊、货品靠人工清点,等到单量上了…

2026/10/14 7:53:44 阅读更多 →
DAY37@浙大疏锦行:从崩溃边缘到关系质变,一份长期项目实操复盘

DAY37@浙大疏锦行:从崩溃边缘到关系质变,一份长期项目实操复盘

DAY37浙大疏锦行——如果你在朋友圈刷到这个打卡格式,大概率会以为又是某个卷王在记录学习日常。其实这是我所在的浙江大学"疏锦行"项目执行到第37天的一个标签。疏锦行是我们的实践项目名字,六个人,一百天的驻扎式生活&#xff0c…

2026/10/14 7:53:44 阅读更多 →
Discuz X3.4实现独立可DIY页面的完整方案

Discuz X3.4实现独立可DIY页面的完整方案

1. 为什么Discuz X3.4原生不支持“独立可DIY页面”——从模板机制说起Discuz X3.4发布已近十年,至今仍有大量社区系统基于它持续运行。但凡接手过这类老项目的开发者,几乎都遇到过同一个扎心问题:想做个纯粹的活动页、产品介绍页、或嵌入第三…

2026/10/14 7:53:44 阅读更多 →
RAG表格数据导入全攻略:CSV、Excel与数据库接入实战

RAG表格数据导入全攻略:CSV、Excel与数据库接入实战

不得不承认,RAG项目做到中期,最磨人的往往不是模型选型,也不是向量库调优,而是“喂数据”这一步。尤其是当你手里的资料不是干净的Markdown文档,而是一堆CSV导出报表、带合并单元格的Excel、还有藏在业务数据库里的关系…

2026/10/14 7:53:44 阅读更多 →
【2027精品毕设】基于spring boot的员工管理系统(附源码资料)增删改查,运行部署,选题推荐_网站项目_Java项目

【2027精品毕设】基于spring boot的员工管理系统(附源码资料)增删改查,运行部署,选题推荐_网站项目_Java项目

💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括…

2026/10/14 7:53:44 阅读更多 →
Agent任务规划与推理模式重构:从过度规划到高效执行

Agent任务规划与推理模式重构:从过度规划到高效执行

一个任务丢给 Agent,很多时候都会得到一份漂亮但没法落地的计划。我在调 Pi agent 的时候就撞上过这类问题:让它做稍微复杂一点的事,它要么把简单任务拆出十来个步骤,要么在执行中反复重新评估,迟迟不调用工具&#xf…

2026/10/14 7:52:44 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/14 7:53:34 阅读更多 →