精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文讀懂LLM基于JSON Schema的結(jié)構(gòu)化輸出

人工智能
OpenAI推出基于JSON Schema的結(jié)構(gòu)化輸出以解決這一問題。結(jié)構(gòu)化輸出確保模型響應(yīng)遵循嚴(yán)格的格式,減少錯(cuò)誤,并使將大語言模型集成到需要一致的、機(jī)器可讀數(shù)據(jù)的應(yīng)用程序中變得更加容易,對(duì)于一致性和準(zhǔn)確性至關(guān)重要的任務(wù)其輸出更為可靠。

什么是基于JSON Schema的結(jié)構(gòu)化輸出

大語言模型通常會(huì)生成無特定結(jié)構(gòu)的自由格式文本,在能夠有效使用之前需要進(jìn)行大量的后期處理。這種不可預(yù)測(cè)性會(huì)導(dǎo)致錯(cuò)誤、浪費(fèi)時(shí)間并增加成本。

OpenAI推出基于JSON Schema的結(jié)構(gòu)化輸出以解決這一問題。結(jié)構(gòu)化輸出確保模型響應(yīng)遵循嚴(yán)格的格式,減少錯(cuò)誤,并使將大語言模型集成到需要一致的、機(jī)器可讀數(shù)據(jù)的應(yīng)用程序中變得更加容易,對(duì)于一致性和準(zhǔn)確性至關(guān)重要的任務(wù)其輸出更為可靠。

通常情況下,大語言模型基于概率預(yù)測(cè)逐個(gè)生成文本標(biāo)記。不過,如果需要以特定格式生成文本,這種方法就不太適用了。結(jié)構(gòu)化輸出通過預(yù)定義的規(guī)則或模式來引導(dǎo)這一過程,使每個(gè)標(biāo)記都符合所需的結(jié)構(gòu)。

如何使用基于JSON Schema的結(jié)構(gòu)化輸出

并非所有的模型都支持基于JSON Schema的結(jié)構(gòu)化輸出。經(jīng)測(cè)試,文心一言支持結(jié)構(gòu)化輸出。通義千問、豆包、deepseek還不支持。

下面以輸出方程求解過程的結(jié)構(gòu)化輸出為例,闡述OpenAI Python SDK使用結(jié)構(gòu)化輸出的兩種方法。

先準(zhǔn)備好開發(fā)環(huán)境,以windows開發(fā)環(huán)境為例:

設(shè)置Python開發(fā)環(huán)境

安裝uv。uv是一個(gè)用Rust編寫的極其快速的Python包和項(xiàng)目管理器。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

創(chuàng)建python虛擬環(huán)境(假設(shè)項(xiàng)目目錄為structured-output)

# Create a new directory for our project
uv init structured-output
cd structured-output

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add openai python-dotenv

設(shè)置環(huán)境變量

創(chuàng)建.env,.env內(nèi)容如下(注意修改OPENAI_API_KEY為您的key)

OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://qianfan.baidubce.com/v2
MODEL_NAME=ernie-3.5-128k

把.env添加到.gitignore

結(jié)構(gòu)化輸出方法1:手工定義Schema

通過設(shè)置chat completion的response_format打開結(jié)構(gòu)化輸出。response_format的格式為:

{
    type: "json_schema", 
    json_schema: {
        "strict": true, 
        "schema": ...
    } 
}

完整例子如下:

import os
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()  # load environment variables from .env


client = OpenAI()
chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "system",
            "content": "你是一位數(shù)學(xué)老師。一步步引導(dǎo)用戶完成解題過程"
        },
        {
            "role": "user",
            "content": "我該如何解7x + 6 = 41這個(gè)方程"
        }
    ],
    model=os.getenv("MODEL_NAME"),
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "math_response",
            "schema": {
                "type": "object",
                "properties": {
                    "steps": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "explanation": {"type": "string"},
                                "output": {"type": "string"}
                            },
                            "required": ["explanation", "output"],
                            "additionalProperties": False
                        }
                    },
                    "final_answer": {"type": "string"}
                },
                "required": ["steps", "final_answer"],
                "additionalProperties": False
            },
            "strict": True
        }
    },
)
content = chat_completion.choices[0].message.content
print(content)

輸出結(jié)果如下:

{
    "final_answer":"x = 5",
    "steps":[
        {
            "explanation":"首先,我們需要將方程中的常數(shù)項(xiàng)移至等式的另一邊,使方程左側(cè)只剩下未知數(shù)x的系數(shù)和x本身。",
            "output":"7x = 41 - 6"
        },
        {
            "explanation":"進(jìn)行減法運(yùn)算,簡(jiǎn)化方程。",
            "output":"7x = 35"
        },
        {
            "explanation":"接下來,我們需要將x的系數(shù)化為1,以求解x的值。為此,我們將方程兩邊同時(shí)除以7。",
            "output":"x = 35 ÷ 7"
        },
        {
            "explanation":"進(jìn)行除法運(yùn)算,得出x的值。",
            "output":"x = 5"
        }
    ]
}

結(jié)構(gòu)化輸出方法2:使用自定義的pydantic模型

通過設(shè)置chat completion的response_format為自定義的pydantic模型MathReasoning

完整例子如下:

import os
from openai import OpenAI
from dotenv import load_dotenv
from pydantic import BaseModel


class Step(BaseModel):
    explanation: str
    output: str


class MathReasoning(BaseModel):
    steps: list[Step]
    final_answer: str


load_dotenv()  # load environment variables from .env


client = OpenAI()
chat_completion = client.beta.chat.completions.parse(
    messages=[
        {
            "role": "system",
            "content": "你是一位樂于助人的數(shù)學(xué)老師。一步步引導(dǎo)用戶完成解題過程"
        },
        {
            "role": "user",
            "content": "我該如何解7x + 6 = 41這個(gè)方程"
        }
    ],
    model=os.getenv("MODEL_NAME"),
    response_format=MathReasoning,
)
math_reasoning = chat_completion.choices[0].message.parsed
print(math_reasoning.model_dump_json(indent=4))

輸出結(jié)果為:

{
    "steps":[
        {
            "explanation":"首先,我們需要將方程中的常數(shù)項(xiàng)移至等式的另一邊。從7x + 6 = 41開始,我們可以從兩邊同時(shí)減去6。",
            "output":"7x + 6 - 6 = 41 - 6"
        },
        {
            "explanation":"簡(jiǎn)化上一步的等式,得到7x = 35。",
            "output":"7x = 35"
        },
        {
            "explanation":"接下來,我們需要解出x的值。為此,我們可以將方程兩邊同時(shí)除以7。",
            "output":"7x / 7 = 35 / 7"
        },
        {
            "explanation":"簡(jiǎn)化上一步的等式,得到x = 5。",
            "output":"x = 5"
        }
    ],
    "final_answer":"x = 5"
}

JSON Schema結(jié)構(gòu)化輸出 VS JSON模式

JSON Schema結(jié)構(gòu)化輸出是JSON模式的進(jìn)階版本。JSON模式是通過設(shè)置response_format為{ "type": "json_object" }打開。使用JSON模式時(shí),你必須始終通過對(duì)話中的某些消息(例如系統(tǒng)消息)指示模型生成JSON。JSON 模式不能保證輸出符合任何特定的模式。

總結(jié)

JSON Schema結(jié)構(gòu)化輸出提供了一個(gè)強(qiáng)大的解決方案,可確保您的大語言模型生成可靠、可預(yù)測(cè)且機(jī)器可讀的回復(fù)。結(jié)構(gòu)化輸出有助于您在不同應(yīng)用程序中保持一致的數(shù)據(jù)格式,從而更輕松地管理復(fù)雜的工作流程。

責(zé)任編輯:龐桂玉 來源: AI大模型應(yīng)用開發(fā)
相關(guān)推薦

2024-06-04 12:59:41

2024-01-15 05:55:33

2018-01-31 18:10:15

數(shù)據(jù)庫(kù)HBase

2024-05-27 00:45:00

2025-03-12 06:55:00

2024-05-28 11:32:01

2022-02-15 08:07:17

測(cè)試軟件開發(fā)

2017-06-02 15:32:09

大數(shù)據(jù)數(shù)據(jù)可視化

2021-03-30 18:05:10

數(shù)字化轉(zhuǎn)型計(jì)算機(jī)技術(shù)

2024-06-24 14:32:33

2021-08-04 16:06:45

DataOps智領(lǐng)云

2023-12-22 19:59:15

2024-04-24 10:44:53

語言模型自然語言處理人工智能

2020-06-05 14:15:29

可視化數(shù)據(jù)集分析

2024-02-29 14:27:37

人工智能機(jī)器學(xué)習(xí)物聯(lián)網(wǎng)

2021-09-04 19:04:14

配置LogbackJava

2025-01-10 13:56:28

2022-09-22 09:00:46

CSS單位

2018-09-28 14:06:25

前端緩存后端

2025-04-03 10:56:47

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲欧美视频在线观看| 蜜桃av一区二区| 精品国精品自拍自在线| 美女日批免费视频| 国产网站在线播放| 国产一区二区不卡老阿姨| 国外视频精品毛片| 日韩欧美黄色网址| 国产福利资源一区| 欧洲在线/亚洲| 亚洲熟妇无码av在线播放| 青青久在线视频免费观看| 精品午夜久久福利影院| 2019国产精品自在线拍国产不卡| 熟女性饥渴一区二区三区| 午夜看片在线免费| 91欧美激情一区二区三区成人| 欧美日韩不卡合集视频| 欧美 日韩 成人| 国内精品麻豆美女在线播放视频| 亚洲一区二区三区中文字幕| 五月天亚洲综合| 少妇人妻精品一区二区三区| 久久成人麻豆午夜电影| 欧美亚洲视频在线看网址| 中文字幕在线有码| 国产精品一区二区三区av麻| 欧美大片国产精品| 天天综合网久久| 在线能看的av网址| 亚洲一区在线视频观看| 亚洲砖区区免费| 久青草国产在线| 成人激情校园春色| 91亚洲午夜在线| 亚洲性猛交富婆| 亚洲影音先锋| 97国产精品视频人人做人人爱| 91视频在线免费| 999久久久国产999久久久| 在线观看日韩毛片| 成年人视频网站免费观看| 国产色婷婷在线| 一区av在线播放| 肉大捧一出免费观看网站在线播放| 国产一区二区在线不卡| 日韩av中文在线观看| 91chinesevideo永久地址| 国产精品a成v人在线播放| 欧美成人嫩草网站| 欧美人与性动交| 999精品在线视频| 日韩激情一区| 日韩在线视频线视频免费网站| 一道本视频在线观看| 色黄视频在线观看| 日韩欧美在线看| 欧美一区二区三区爽大粗免费| 天天摸天天干天天操| 成人丝袜高跟foot| 国产精品国色综合久久| 黄色一级a毛片| 成人免费视频app| www国产亚洲精品| www.国产.com| 成人网在线播放| 久久精品女人的天堂av| 五月婷婷开心中文字幕| 久久先锋影音av鲁色资源| 欧美大香线蕉线伊人久久国产精品| 免费黄色小视频在线观看| 首页国产欧美日韩丝袜| 国产女同一区二区| 国产精品久久久久毛片| 国产成人aaa| 久久久综合香蕉尹人综合网| 国产对白叫床清晰在线播放| 中文字幕一区二区三中文字幕| 亚洲一区二区中文字幕| 亚洲免费黄色片| 91丝袜国产在线播放| 色狠狠久久av五月综合| 99热国产在线中文| 午夜影院在线观看欧美| 99视频精品免费| 久久69成人| 精品国产一区二区三区久久久蜜月 | 97视频久久久| 久久夜夜操妹子| 欧美一区二区福利在线| 香港三日本8a三级少妇三级99| 四虎影视成人精品国库在线观看| 欧美性生交大片免网| www.国产视频.com| 欧美激情影院| 中文字幕精品av| 国产一级做a爱免费视频| 久久人人97超碰国产公开结果| 性色av一区二区三区| 正在播放亚洲精品| 成人午夜激情片| 亚洲精品自在在线观看| heyzo在线播放| 欧美色偷偷大香| 91丝袜在线观看| 99精品综合| 全球成人中文在线| www.蜜桃av.com| 久久久久国产精品免费免费搜索| 久久久久一区二区三区| 午夜激情视频在线| 福利二区91精品bt7086| 亚洲AV无码久久精品国产一区| 精品视频成人| 伊人精品在线观看| 精品国产免费观看| 国产成人在线观看| 亚洲.欧美.日本.国产综合在线 | 91亚洲男人天堂| 亚洲午夜精品久久久中文影院av| av网站在线免费播放| 亚洲成人1区2区| 制服丝袜中文字幕第一页| 深爱激情综合| 91精品国产高清| www.精品久久| 亚洲人成伊人成综合网小说| 蜜臀久久99精品久久久酒店新书| 成人国产一区二区三区精品麻豆| 欧美探花视频资源| 少妇真人直播免费视频| 激情欧美日韩一区| 99久久自偷自偷国产精品不卡| 日韩一卡二卡在线| 亚洲免费在线观看| 国产欧美一区二| 999精品在线| 国产精品日韩在线观看| 黄上黄在线观看| 日韩欧美在线视频日韩欧美在线视频| 黑森林福利视频导航| 国产精品丝袜在线播放| 久久噜噜噜精品国产亚洲综合| 亚洲欧美另类在线视频| 99精品欧美一区二区蜜桃免费| 日本一区免费在线观看| 亚洲欧美韩国| 亚洲欧美日韩一区二区在线| 日韩av大片在线观看| 99久久免费精品高清特色大片| 亚洲欧洲免费无码| 国产亚洲欧美日韩精品一区二区三区 | 中文字幕在线观看精品| 国产日本亚洲高清| 在线免费视频一区| 婷婷亚洲综合| 91观看网站| 黑人另类精品××××性爽| 亚洲成人1234| 国产又黄又爽又色| 久久精品一区二区| 一道本在线免费视频| 91精品久久久久久久久久不卡| 久久久亚洲欧洲日产国码aⅴ| 国产精品suv一区二区三区| 97久久精品人人做人人爽50路| 伊人婷婷久久| 国产精品亚洲四区在线观看| 久久中文字幕在线视频| 欧美 日韩 国产 精品| 岛国av一区二区在线在线观看| 国产资源中文字幕| 一区二区视频欧美| 你懂的视频在线一区二区| www.一区| 久久99热这里只有精品国产| 四虎电影院在线观看| 欧美亚洲国产bt| 久久免费小视频| 久久综合丝袜日本网| 日日干夜夜操s8| 伊人蜜桃色噜噜激情综合| 美日韩精品免费| 成人自拍视频| 久久久这里只有精品视频| 成人h小游戏| 日韩一区二区三区电影| 波多野结衣国产| 国产精品国产三级国产aⅴ入口| 成人亚洲视频在线观看| 99久久精品网| 久久福利电影| aa亚洲一区一区三区| 91精品国产91久久久久久久久| 免费国产精品视频| 欧美午夜片在线看| 国产一级理论片| 欧美激情综合在线| 永久免费未满蜜桃| 老司机免费视频一区二区 | 涩涩视频在线观看免费| 欧美片在线播放| 男人日女人网站| 一区二区三区在线观看视频| 国产探花视频在线播放| 成人夜色视频网站在线观看| 国产精品入口免费软件| 伊人激情综合| 影音先锋成人资源网站| 国产精品亚洲人成在99www| 国产高清一区视频| 日韩免费大片| 国产成人精品999| av影视在线| 九九综合九九综合| 成人免费高清| 日韩亚洲综合在线| 狠狠色伊人亚洲综合网站l| 亚洲精品一区二区精华| 超碰在线人人干| 欧美精品久久99久久在免费线| 在线看的片片片免费| 欧美极品少妇xxxxⅹ高跟鞋| 久久久久亚洲av无码专区桃色| 久久一区激情| 黄页免费在线观看视频| 欧美午夜a级限制福利片| 国产精品亚洲天堂| 日韩一级毛片| 亚洲精品中字| 国产一区二区三区日韩精品| 国产自产精品| 国产乱论精品| 国产乱码精品一区二区三区中文| 3d性欧美动漫精品xxxx软件| 国内成人精品一区| 日韩三级电影视频| 欧美另类第一页| 在线看一级片| 欧美肥婆姓交大片| 欧洲在线视频| 久久国产精品久久久久| 免费在线看黄| 久久伊人精品天天| 一区二区三区伦理| 欧美黑人国产人伦爽爽爽| 主播国产精品| 欧美激情视频一区二区三区不卡| 黄色网址在线播放| 在线观看精品国产视频| 中国日本在线视频中文字幕| 一色桃子一区二区| 欧美成人高清在线| 最近中文字幕日韩精品| 好吊日视频在线观看| 中文字幕国产精品| 成人av免费| 欧美激情视频一区二区| 中文字幕乱码在线播放| 国产精品福利无圣光在线一区| 国产美女一区视频| 97免费中文视频在线观看| gay欧美网站| 国产精品情侣自拍| 麻豆国产一区| 精品国产第一页| 精品久久成人| 日本三日本三级少妇三级66| 黄色另类av| 久久国产乱子伦免费精品| 日韩国产在线一| 伊人国产精品视频| 成人av在线看| 国产激情av在线| 亚洲精品写真福利| 日韩在线观看第一页| 在线观看视频一区二区| 99久久精品日本一区二区免费| 91久久精品一区二区三区| 一起草av在线| 亚洲国产91色在线| 在线日本中文字幕| 欧美日本黄视频| 性欧美gay| 亚洲综合在线小说| 亚洲精品小区久久久久久| 亚洲一区bb| 日韩一区二区免费看| 日本黄大片一区二区三区| 丁香五精品蜜臀久久久久99网站 | 亚洲精品一区二区网址| 在线免费黄色| 性欧美暴力猛交69hd| 成人自拍视频网| 国产精品我不卡| 999精品色在线播放| 日韩欧美国产免费| 国产美女av一区二区三区| 手机av免费看| 一区二区三区久久久| 免费黄色小视频在线观看| 日韩欧美不卡在线观看视频| 国产系列在线观看| 久久久噜噜噜久噜久久| 色8久久久久| 日本高清不卡三区| 日韩午夜在线| 丰满人妻一区二区三区大胸 | 欧美日韩一级片网站| 黄色一级a毛片| 欧美老女人在线视频| 久久99国产精品二区高清软件| 成人精品久久一区二区三区| 精品国产一区二区三区不卡蜜臂| 国产伦精品一区二区三| 99久久精品费精品国产风间由美| 国产欧美综合一区| 美女精品一区二区| 国产伦精品一区二区三区妓女| 国产亚洲精品aa午夜观看| 久久精品这里有| 91精品国产综合久久久久久久| 国产理论片在线观看| 亚洲区免费影片| 小h片在线观看| 国产麻豆乱码精品一区二区三区| 免费成人高清在线视频theav| 人禽交欧美网站免费| 国产精品婷婷| 久久久老熟女一区二区三区91| 久久久青草青青国产亚洲免观| 91成人精品一区二区| 狠狠操狠狠色综合网| 手机看片福利在线| 午夜欧美大片免费观看| 精品国产乱子伦一区二区| 欧美乱大交xxxxx潮喷l头像| 高清不卡一区二区在线| 国产精品九九九九九九| 欧美一区二区视频在线观看2020| 四虎永久在线精品免费网址| 久久久在线视频| 欧美人妖在线观看| 黄色免费视频大全| 91网站在线播放| 日韩精品一区二区亚洲av| 日韩精品中文字幕在线观看| 热色播在线视频| 欧美13一14另类| 日韩电影在线一区| 香蕉成人在线视频| 欧美精品 国产精品| 成年人黄视频在线观看| 欧美成人中文| 激情图片qvod| 国产精品一区二区在线播放| 天天干中文字幕| 欧美成人伊人久久综合网| 黄网在线免费看| 精品在线不卡| 丝袜美腿亚洲色图| 亚洲女人毛茸茸高潮| 91精品国产入口在线| 欧美黑人猛交| 美女一区视频| 久久精品理论片| 国产精品99久久久久久成人| 欧美一区二区三区公司| jizz一区二区三区| 人偷久久久久久久偷女厕| 久久av中文字幕片| 久草视频手机在线观看| 日韩国产精品亚洲а∨天堂免| 国产天堂素人系列在线视频| 成人激情视频网| 亚洲精品孕妇| 国产极品视频在线观看| 日韩精品专区在线影院观看| 白浆在线视频| 午夜一区二区三区| 国产一区二区三区美女| 日韩高清免费av| 最新的欧美黄色| 第四色在线一区二区| 男女曰b免费视频| 亚洲欧美经典视频| 牛牛热在线视频| 91在线观看免费高清完整版在线观看 | 亚洲视频www| 久久精品国产亚洲AV成人婷婷| 色综合久久久久久久久久久| 在线免费看av| 久久草视频在线看| 国产伦精品一区二区三区免费| 日韩a级片在线观看 | www.com操| 亚洲大型综合色站| 亚洲精品传媒| 99久免费精品视频在线观看 | 夜夜爽妓女8888视频免费观看|