精品欧美一区二区三区在线观看 _久久久久国色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)

欧美精品久久一区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲婷婷综合网| 日韩一区二区在线免费| 欧美一区二区网站| 男人的天堂99| a级毛片免费观看在线| 99久久精品费精品国产一区二区| 国产精品91久久久久久| 日本黄色小说视频| 夜色77av精品影院| 日韩精品一区二区三区在线 | www.色小姐com| 亚洲另类春色校园小说| 欧美一区永久视频免费观看| 久久网站免费视频| 日韩电影免费观看| 亚洲国产成人午夜在线一区| 国产亚洲欧美另类一区二区三区 | 大胆人体一区二区| 亚洲精品国产一区二区精华液| 久久综合狠狠综合久久综青草 | 亚洲国产私拍精品国模在线观看| 污污的网站免费| 小h片在线观看| 伊人色综合久久天天人手人婷| 日韩妆和欧美的一区二区| 刘亦菲毛片一区二区三区| 久久国产视频网| 日韩av电影中文字幕| 欧美精品xxxxx| 午夜精品一区二区三区国产| 亚洲区一区二区| 国产一级二级视频| 日韩一区二区三区在线看| 欧美日本一道本| 中文字幕永久视频| gogo亚洲高清大胆美女人体| 欧美日韩国产丝袜另类| 欧美一区二区视频在线播放| www在线视频| 亚洲三级在线观看| 一区二区在线观| 日本在线www| 国产精品福利一区| 亚洲图片都市激情| 99中文字幕一区| 亚洲国产精品av| 色综合久久久久久久久五月| 国产一级在线| 中文字幕免费一区| 亚洲精品一区二区毛豆| 国产高清在线| 中文字幕不卡的av| 午夜精品一区二区在线观看的| 狠狠狠综合7777久夜色撩人 | 日本黄色免费片| 99精品美女| 欧美成人亚洲成人| 欧美黑人一级片| 狠狠干综合网| 88国产精品欧美一区二区三区| 国产成人亚洲欧洲在线| 99视频精品免费观看| 欧美在线视频免费| 日韩电影在线观看一区二区| 免费在线观看日韩欧美| 国产视频福利一区| 精品国产无码AV| 成人黄色av网站在线| 久久久人人爽| av电影在线观看| 亚洲人123区| 欧美黑人经典片免费观看| 一区二区三区四区日本视频| 在线观看成人免费视频| 久久这里只精品| 91精品福利观看| 亚洲国产成人一区| 色一情一交一乱一区二区三区| 日本一区二区三区视频| 久久久精品一区二区三区| 久久久久亚洲av无码专区体验| 亚洲美女色禁图| 国产精品久久久久久久久久小说 | 9久草视频在线视频精品| 久久婷婷国产综合尤物精品| yiren22亚洲综合伊人22| 亚洲人成精品久久久久| 无码aⅴ精品一区二区三区浪潮 | 国产日产精品一区二区三区的介绍| 午夜精品剧场| 欧美性受xxx| 97精品久久人人爽人人爽| 成人免费视频网站在线观看| 日韩欧美精品在线不卡| 色老头在线观看| 日本高清不卡一区| 国产精品91av| 精品视频亚洲| 欧美激情影音先锋| 中文字幕一区二区久久人妻| 成人午夜看片网址| 亚洲欧洲精品在线| 9999在线视频| 69av一区二区三区| 自拍偷拍视频亚洲| 伊人狠狠色j香婷婷综合| 国产精品一区二区三区在线播放 | 18国产免费视频| 成人久久视频在线观看| 一区二区三区av在线| 中文在线免费视频| 精品国产伦一区二区三区观看方式 | 精品99在线视频| 91欧美极品| 俺也去精品视频在线观看| 精品视频一二三区| av不卡在线播放| wwwwww欧美| 91麻豆精品国产综合久久久 | 国产成人aaaa| 在线视频福利一区| 日韩免费小视频| 日韩的一区二区| 久久久久久久久久91| 韩国v欧美v日本v亚洲v| 婷婷久久青草热一区二区| 午夜av不卡| 亚洲国模精品一区| 69精品久久久| 丁香婷婷综合激情五月色| 日本美女爱爱视频| 成人在线视频区| 中文字幕亚洲精品| 中文字幕一区二区三区人妻四季 | 91久久久久久久久久久久久久| 久久久久免费| 欧美中日韩免费视频| 桃色av一区二区| 日韩大片免费观看视频播放| 青青国产在线观看| 91污片在线观看| 91九色在线观看视频| 另类春色校园亚洲| 97久久精品国产| 日本亚洲欧美| 日本韩国一区二区三区视频| 亚洲人成人无码网www国产| 性久久久久久| 日本在线视频一区| 精品美女一区| 日韩视频在线免费| 99视频国产精品免费观看a| 亚洲欧美视频在线观看| 中文字幕第三区| 国精品一区二区三区| 国产日韩一区二区三区| 新版的欧美在线视频| 亚洲视频在线观看视频| 99re热视频| 综合婷婷亚洲小说| 国产精品熟女一区二区不卡| 亚洲无线视频| 欧美日韩电影一区二区三区| 日韩制服一区| 久久综合免费视频| 午夜精品久久久久久久91蜜桃| 亚洲一级电影视频| 久久久久久久久久久国产精品| 日日噜噜夜夜狠狠视频欧美人| 亚洲国产欧美不卡在线观看| 国产一区二区三区国产精品| 久久久久久久久久久免费 | avav在线看| 成人一区二区| 99porn视频在线| 日本午夜大片a在线观看| 在线视频国产日韩| 国产成人精品一区二三区四区五区| 亚洲h动漫在线| 欧美福利第一页| 国产精品1区二区.| 阿v天堂2017| 欧美丰满老妇| 国产日韩欧美二区| 黄色日韩网站| 2019中文字幕全在线观看| 午夜小视频在线| 亚洲国产黄色片| 一起草av在线| 五月天丁香久久| 成人精品一二三区| 成a人片国产精品| 亚洲综合av在线播放| 亚洲人体偷拍| 国产女人18毛片| 国产成人调教视频在线观看| 成人免费在线看片| 国产香蕉久久| 日本sm极度另类视频| 成人看片免费| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 亚洲男人第一天堂| 欧美熟乱第一页| 日本亚洲欧美在线| 成人免费在线播放视频| 青青草福利视频| 成人国产精品视频| 小早川怜子一区二区三区| 久久精品成人| 精品国产一二三四区| 亚洲一级淫片| 亚洲视频在线二区| 久草成人在线| 久久草.com| 成人激情自拍| 51国产成人精品午夜福中文下载| 日本肉肉一区| 日本最新高清不卡中文字幕| aa级大片免费在线观看| 久久国产精品久久精品| 自拍视频在线| 夜夜嗨av一区二区三区四区| 四虎影院在线域名免费观看| 精品国产三级电影在线观看| 国产xxxx在线观看| 7777精品伊人久久久大香线蕉| 中文字幕一区二区三区四区欧美| 午夜久久久久久| 久久精品人妻一区二区三区| 亚洲免费视频成人| 久久免费看少妇高潮v片特黄| 18欧美亚洲精品| 来吧亚洲综合网| 国产精品电影院| 欧美h片在线观看| 国产精品国产自产拍高清av王其| 蜜桃av免费观看| 国产精品久久久久久久久免费樱桃| 亚洲一区 欧美| 欧美国产日韩亚洲一区| 日本少妇高潮喷水xxxxxxx| 国产午夜一区二区三区| 亚洲人成人无码网www国产| 久久久久久久综合| 亚洲第一综合网| 亚洲国产电影在线观看| 久久免费手机视频| 中文字幕中文字幕一区二区| 三级黄色录像视频| 亚洲欧美色图小说| 国产一级二级三级视频| 五月天视频一区| 久久青青草原亚洲av无码麻豆| 欧美日韩国内自拍| 亚洲欧美一区二区三区在线观看| 一本色道**综合亚洲精品蜜桃冫| 亚洲第一网站在线观看| 欧美午夜精品理论片a级按摩| 在线观看毛片av| 日韩欧美一级二级| 特黄视频在线观看| 亚洲美女在线视频| 91在线播放网站| 久久不射电影网| 91桃色在线观看| 国产91在线高潮白浆在线观看| 欧美日韩精品免费观看视欧美高清免费大片 | 日产国产精品精品a∨| 色综合五月天| 精品人妻人人做人人爽| 一区二区三区高清视频在线观看| caopor在线视频| 国产在线精品一区二区夜色| 成年女人免费视频| 国产亚洲福利社区一区| 91高清免费观看| 婷婷亚洲久悠悠色悠在线播放| 国产精品51麻豆cm传媒| 精品剧情v国产在线观看在线| 性xxxfllreexxx少妇| 国产一区二区三区在线免费观看 | 欧美最顶级丰满的aⅴ艳星| jizz亚洲女人高潮大叫| 18成人在线| 九九亚洲精品| 高清无码视频直接看| 日韩专区一卡二卡| 亚洲国产综合av| 26uuu久久天堂性欧美| 国产高潮流白浆| 天天综合网天天综合色| 91 中文字幕| 亚洲精品国产精品久久清纯直播| 91吃瓜网在线观看| 欧美精品成人在线| 另类一区二区三区| 久久精品二区| 欧美jjzz| 免费涩涩18网站入口| caoporm超碰国产精品| 日韩一区二区三区四区视频| 欧美日韩精品在线播放| 97人妻精品一区二区三区动漫 | 国产美女福利在线| 国产91亚洲精品| 激情小说亚洲图片| 欧洲精品视频在线| 日本va欧美va欧美va精品| 亚洲天堂2024| 一区二区高清免费观看影视大全| 成人黄色片在线观看| 日韩精品视频免费在线观看| 日本孕妇大胆孕交无码| 国产伦精品免费视频| 国产成人一区| 黄色片视频在线播放| 99精品在线免费| 久久久久久久久久久97| 7777精品伊人久久久大香线蕉| av电影在线播放高清免费观看| 国产ts人妖一区二区三区| 久久久久97| 成年人看的毛片| 国产91色综合久久免费分享| 欧美日韩黄色网| 欧美精品vⅰdeose4hd| 成年人免费在线视频| 国产成人在线视频| 久久99影视| 日日摸天天爽天天爽视频| 91亚洲永久精品| 黄色大片网站在线观看| 亚洲国产欧美一区| 国产激情视频在线看| 国内视频一区二区| 亚洲精品欧洲| 在线天堂www在线国语对白| 亚洲动漫第一页| 日本免费一区视频| 性欧美亚洲xxxx乳在线观看| 国产精品网站在线看| 日本福利视频一区| 99久久精品国产网站| 国产高清中文字幕| 亚洲欧美成人一区二区在线电影| 成人片免费看| 日韩和欧美的一区二区| 男女男精品网站| 91狠狠综合久久久久久| 欧美日本国产视频| 黄视频在线观看网站| 99国产在线视频| 亚洲日本欧美| 欧洲一级黄色片| 在线精品视频免费播放| 1区2区3区在线观看| 成人春色激情网| 欧美日本精品| 国产精品探花一区二区在线观看| 色综合久久综合网| 自拍视频在线| www.久久爱.cn| 亚洲一区二区免费看| 精品无码在线观看| 69av一区二区三区| 成入视频在线观看| 婷婷久久五月天| 国产精品香蕉一区二区三区| 在线观看 中文字幕| 亚洲日韩欧美视频一区| 四虎精品在线观看| 日本手机在线视频| 欧美韩日一区二区三区| 99热这里精品| 欧美在线xxx| 911精品美国片911久久久| 在线免费观看污视频| 欧美日韩中文一区| 在线三级电影| 欧美精品亚洲精品| 国产一区二区三区香蕉| 91蜜桃视频在线观看| 中文字幕一精品亚洲无线一区| 91成人精品在线| 中文字幕欧美人妻精品一区| 亚洲乱码国产乱码精品精可以看| 日韩有码电影| 91超碰rencao97精品| 狂野欧美性猛交xxxx巴西| 欧美国产日韩在线观看成人| 亚洲欧洲日产国产网站| 视频二区欧美| 冲田杏梨av在线| 亚洲成人一区二区| 欧美a在线看| 欧美日韩国产精品一卡| 国产高清精品网站| 中文字幕 日韩有码|