Нядаўна OpenAI прадставіў магутную функцыю пад назвай Прагназуемыя вынікі , якая ціха ўвайшла ў сцэну без асаблівай увагі з боку тэхнічных сродкаў масавай інфармацыі - недагляд, які заслугоўвае выпраўлення. Я заўважыў, што яны згадалі гэта на X у сваім уліковым запісе распрацоўшчыка , але гэта не атрымала асаблівай агалоскі. Я вырашыў звярнуць на гэта ўвагу, бо гэта сапраўды крутая і карысная функцыя.
Прагназаваныя вынікі значна скарачаюць затрымку для адказаў мадэлі, асабліва калі вялікая частка вынікаў вядомая загадзя. Гэтая функцыя асабліва карысная для прыкладанняў, якія ўключаюць рэгенерацыю тэкставых дакументаў або файлаў кода з нязначнымі мадыфікацыямі.
Прагназаваныя вынікі дазваляюць распрацоўшчыкам паскорыць адказы API ад завяршэння чатаў, калі чаканы вынік у значнай ступені прадказальны. Прадказваючы чаканы адказ з дапамогай параметра prediction
ў Завяршэннях чата, мадэль можа больш эфектыўна генераваць неабходны вынік. У цяперашні час гэтая функцыя даступная з апошнімі мадэлямі gpt-4o і gpt-4o-mini .
Калі ў вас ёсць адказ, у якім большая частка змесціва ўжо вядомая, вы можаце падаць гэты чаканы змест у якасці прагнозу для мадэлі. Затым мадэль выкарыстоўвае гэты прагноз для паскарэння генерацыі адказу, скарачэння затрымкі і павышэння прадукцыйнасці.
Уявіце, што ў вас ёсць файл канфігурацыі JSON, які патрабуе нязначнага абнаўлення. Вось прыклад такога файла:
{ "appName": "MyApp", "version": "1.0.0", "settings": { "enableFeatureX": false, "maxUsers": 100 } }
Выкажам здагадку, вы хочаце абнавіць "enableFeatureX"
на true
. Замест таго, каб ствараць увесь файл з нуля, вы можаце прадаставіць зыходны файл у якасці прагнозу і даручыць мадэлі ўнесці неабходныя змены.
import OpenAI from "openai"; const config = ` { "appName": "MyApp", "version": "1.0.0", "settings": { "enableFeatureX": false, "maxUsers": 100 } } `.trim(); const openai = new OpenAI(); const updatePrompt = ` Change "enableFeatureX" to true in the following JSON configuration. Respond only with the updated JSON, without any additional text. `; const completion = await openai.chat.completions.create({ model: "gpt-4o", messages: [ { role: "user", content: updatePrompt }, { role: "user", content: config } ], prediction: { type: "content", content: config } }); // Output the updated configuration console.log(completion.choices[0].message.content);
У гэтым прыкладзе мадэль хутка стварае абноўлены файл канфігурацыі, выкарыстоўваючы прагноз для мінімізацыі часу адказу.
Для прыкладанняў, якія патрабуюць струменевых адказаў, Прагназаваныя вынікі прапануюць яшчэ большае скарачэнне затрымкі. Вось як вы можаце рэалізаваць папярэдні прыклад з дапамогай струменевай перадачы:
import OpenAI from "openai"; const config = `...`; // Original JSON configuration const openai = new OpenAI(); const updatePrompt = `...`; // Prompt as before const completion = await openai.chat.completions.create({ model: "gpt-4o", messages: [ /* ... */ ], prediction: { type: "content", content: config }, stream: true }); for await (const chunk of completion) { process.stdout.write(chunk.choices[0]?.delta?.content || ""); }
На момант напісання артыкула альтэрнатыў гэтаму рашэнню ў канкурэнтаў няма. Функцыя прадказаных вынікаў OpenAI з'яўляецца унікальнай прапановай, якая вырашае канкрэтную патрэбу ў скарачэнні затрымкі пры аднаўленні вядомага кантэнту з нязначнымі мадыфікацыямі.
Самае цікавае, што каб пачаць яго выкарыстоўваць, вам практычна нічога не трэба. Проста вазьміце яго і выкарыстоўвайце, дадаўшы толькі адзін новы параметр у запыт API. Гэта дазваляе распрацоўшчыкам вельмі лёгка рэалізаваць гэтую функцыю ў сваіх існуючых праграмах.
У той час як прадказаныя вынікі даюць значныя перавагі, ёсць важныя меркаванні:
rejected_prediction_tokens
у даных аб выкарыстанні, каб кіраваць выдаткамі.n
(значэнні вышэй за 1)logprobs
presence_penalty
(значэнні большыя за 0)frequency_penalty
(значэнні большыя за 0)max_completion_tokens
tools
(выклік функцый не падтрымліваецца)
OpenAI's Predicted Outputs - гэта наватарская функцыя, якая вырашае агульную праблему ў праграмах штучнага інтэлекту: скарачэнне затрымкі, калі адказ у значнай ступені прадказальны. Дазваляючы распрацоўшчыкам прадастаўляць чаканыя вынікі, гэта паскарае час водгуку і паляпшае карыстацкі досвед.
На мой асабісты погляд, мадэлі OpenAI не такія моцныя, як мадэлі Anthropic. Аднак OpenAI выпускае шмат класных і сапраўды патрэбных рашэнняў у іншых сферах. Такія функцыі, як Predicted Outputs, адрозніваюць OpenAI ад іншых пастаўшчыкоў штучнага інтэлекту, прапаноўваючы унікальныя рашэнні, якія адпавядаюць пэўным патрэбам супольнасці распрацоўшчыкаў.