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

pydantic_ai 意图识别

code

from enum import Enum from dotenv import load_dotenv from pydantic import BaseModel class IntentEnum(str, Enum): eat = "吃饭" action = "运动" UNKNOWN = "UNKNOWN" class IntentResult(BaseModel): intent: IntentEnum confidence: float | None = None load_dotenv() from pydantic_ai import Agent intent_agent = Agent( 'deepseek:deepseek-chat', output_type=IntentResult, system_prompt=""" 根据用户输入判断其意图。只返回意图标签和(可选)置信度。 用户输入可能是自然语言查询。 """, ) def classify_intent(text: str): result = intent_agent.run_sync(text) return result.output.intent, result.output.confidence # 示例输入 texts = [ "明天去上海午饭怎么办?", "你喜欢打篮球吗", "我想听个笑话" ] for text in texts: intent, conf = classify_intent(text) print(f"输入: {text}") print(f"意图: {intent}, 置信度: {conf}") print("----")

输出

输入: 明天去上海午饭怎么办? 意图: IntentEnum.eat, 置信度: 0.8 ---- 输入: 你喜欢打篮球吗 意图: IntentEnum.UNKNOWN, 置信度: None ---- 输入: 我想听个笑话 意图: IntentEnum.UNKNOWN, 置信度: 0.8 ----

结果枚举限制

from enum import Enum from dotenv import load_dotenv from pydantic import BaseModel class MLType(str, Enum): regression = "回归" classifier = "分类" UNKNOWN = "UNKNOWN" class IntentResult(BaseModel): data_location: str ml_type_name: MLType data_source_limit: float | None = None load_dotenv() from pydantic_ai import Agent intent_agent = Agent( 'deepseek:deepseek-chat', output_type=IntentResult, system_prompt=""" """, ) def classify_intent(text: str): result = intent_agent.run_sync(text) return result.output.intent, result.output.confidence # 示例输入 texts = [ "对 /data/1.txt 进行回归分析,不需要全量,只提取125条即可", "我想听个笑话" ] for text in texts: out = intent_agent.run_sync(user_prompt=text).output print(f"输入: {text}") print(f"数据位置:{out.data_location},模型类型:{out.ml_type_name},数据源限制:{out.data_source_limit}") print("----") """ 输出结果: 输入: 对 /data/1.txt 进行回归分析,不需要全量,只提取125条即可 数据位置:/data/1.txt,模型类型:MLType.regression,数据源限制:125.0 ---- 输入: 我想听个笑话 数据位置:用户请求讲笑话,模型类型:MLType.UNKNOWN,数据源限制:None ---- """

system pt

from enum import Enum from dotenv import load_dotenv from pydantic import BaseModel, Field class MLType(str, Enum): regression = "回归" classifier = "分类" UNKNOWN = "UNKNOWN" class IntentResult(BaseModel): data_location: str = Field(..., description="数据路径") ml_type_name: MLType = Field(..., description="希望用来机器学习的模型类别") data_source_limit: float | None = Field(..., description="探索性数据分析,从全量中抽样的数据行数") load_dotenv() from pydantic_ai import Agent intent_agent = Agent( 'deepseek:deepseek-chat', output_type=IntentResult, system_prompt=""" 有些护具无法意图识别,则返回None填充即可 """, ) def classify_intent(text: str): result = intent_agent.run_sync(text) return result.output.intent, result.output.confidence # 示例输入 texts = [ "对 /data/1.txt 进行回归分析,不需要全量,只提取125条即可", "我想听个笑话" ] for text in texts: out = intent_agent.run_sync(user_prompt=text).output print(f"输入: {text}") print(f"数据位置:{out.data_location},模型类型:{out.ml_type_name},数据源限制:{out.data_source_limit}") print("----") """ 输出结果: 输入: 对 /data/1.txt 进行回归分析,不需要全量,只提取125条即可 数据位置:/data/1.txt,模型类型:MLType.regression,数据源限制:125.0 ---- 输入: 我想听个笑话 数据位置:用户请求讲笑话,模型类型:MLType.UNKNOWN,数据源限制:None ---- """
http://www.cnnetsun.cn/news/138041.html

相关文章:

  • Kotaemon AWS EC2部署实例:国际业务首选
  • 实在没货,简历(软件测试)咋写?
  • 网约车服务端线上流量巡检与测试验收技术
  • 公考日记7
  • 火电一次调频、自抗扰调频及群智能算法智能调频在MATLAB/Simulink中的应用
  • 科研实验室温湿度监控新范式:以太网 POE 技术全场景解决方案
  • RV1126 NO.57:ROCKX+RV1126人脸识别推流项目之读取人脸图片并把特征值保存到sqlite3数据库
  • 探索SAR ADC:45nm工艺下的高速高精度设计
  • 【小增长技术团队东哥分享】Electron vs Electron-Vite vs Electron-Egg:桌面端开发到底该选谁?
  • 测试价值的量化评估:从成本中心到价值证明的路径探索
  • 测试领导力:在敏捷洪流中筑造质量堤坝
  • C++常用设计模式
  • Spring Boot 自动配置深度解析:原理、实战与源码追踪
  • 无代码解决方案:破解企业数字化转型效率困局
  • SAM (Segment Anything Model):万物皆可分割-k学长深度学习专栏
  • Mysql 报错 “Public Key Retrieval is not allowed”
  • 熊市中最适用的公式==底部建仓
  • 100G双光口网卡技术解析:Intel E810-CAM2方案的性能与应用突破
  • BioSIM抗人组蛋白H1抗体SIM0385:广泛应用于表观遗传学、染色质结构分析等领域
  • 智慧灯杆数字孪生系统:“多杆合一“技术实现
  • SCI一稿多投会不会被发现?
  • RUI Builder-图形化UI设计-工程范例
  • win10 - 删除非法命名的文件夹的方法
  • 必看!2025年单北斗GNSS形变监测高口碑产品排行榜
  • 【计网】网络分层模型和http协议
  • Kotaemon在华为云上的部署实践:全流程记录
  • 校园便利平台|基于springboot + vue校园便利平台系统(源码+数据库+文档)
  • 38、Linux 脚本编程:bc 计算器、数组与特殊技巧
  • 揭秘高亮车灯升级2025年值得推荐的TOP8车灯产品
  • WSL2 / Ubuntu 下用 SDKMAN 管理多版本 Java(项目级切换,真香)