通过instructor 对于LLM 进行结构化输出
很多时候我们是需要对于LLM 生成的内容进行结构化输出的,比如我们希望利用LLM的能力,对于用户发布的内容进行情感分析,或者对于文档内容提取关键信息并转换为结构化的内容,instructor 是一个很不错的选择(支持多种语言的),以下演示下基于python 的
参考使用
- 大模型部署
为了方便使用了基于ollama 的本地部署,使用了google 最近发布的gemma2 模型(9b) - 安装
python -m venv venv
pip install -U instructor
- 文本情感分析
import instructor
from pydantic import BaseModel
from openai import OpenAI
# Define your desired output structure
class Sentiment(BaseModel):
negative: bool
positive: bool
neutral: bool
client = instructor.from_openai(OpenAI(
base_url="http://localhost:11434/v1/",
api_key="gemma2",
), mode=instructor.Mode.JSON,)
# Extract structured data from natural language
response = client.chat.completions.create(
model= "qwen2:7b",
response_model=Sentiment,
messages=[{"role": "user", "content": "开开心心上班,开开心心下班"},],
)
print(response)
- 效果
说明
以上只是一个简单的使用,python 版本的instructor 基于了pydantic,我们可以进行很多灵活的控制,同时官方文档也比较全,值得仔细看看,有助于我们利用大模型的能力,解决不少实际的问题
参考资料
https://python.useinstructor.com/
https://python.useinstructor.com/examples/
https://github.com/jxnl/instructor/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
2021-07-28 docker 自定义网络解决网络冲突问题
2020-07-28 haproxy dataplaneapi golang sdk 简单使用
2020-07-28 haproxy dataplaneapi golang sdk 说明
2019-07-28 telegraf 学习二 几个概念
2018-07-28 cypress 端到端测试框架试用
2018-07-28 flow flow-typed 定义简单demo
2018-07-28 flow 编写flow-typed 定义(官方文档)