paint-brush
Прагназаваныя вынікі: функцыя OpenAI, якую вы, верагодна, прапусціліпа@iamarsenibragimov
Новая гісторыя

Прагназаваныя вынікі: функцыя OpenAI, якую вы, верагодна, прапусцілі

па iamarsenibragimov4m2024/11/20
Read on Terminal Reader

Занадта доўга; Чытаць

Прагназаваныя вынікі значна скарачаюць затрымку для адказаў мадэлі, асабліва калі вялікая частка вынікаў вядомая загадзя. Гэтая функцыя асабліва карысная для прыкладанняў, якія ўключаюць рэгенерацыю тэкставых дакументаў або файлаў кода з нязначнымі мадыфікацыямі. Здаецца, гэтая функцыя з'яўляецца унікальнай прапановай, якая вырашае канкрэтную патрэбу ў скарачэнні затрымкі пры рэгенерацыі кантэнту.
featured image - Прагназаваныя вынікі: функцыя OpenAI, якую вы, верагодна, прапусцілі
iamarsenibragimov HackerNoon profile picture
0-item


Нядаўна 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. Гэта дазваляе распрацоўшчыкам вельмі лёгка рэалізаваць гэтую функцыю ў сваіх існуючых праграмах.


Абмежаванні

У той час як прадказаныя вынікі даюць значныя перавагі, ёсць важныя меркаванні:

  • Сумяшчальнасць мадэляў : толькі мадэлі gpt-4o і gpt-4o-mini падтрымліваюць прагназуемыя вынікі. Я думаю, што той факт, што ён даступны толькі на гэтых мадэлях, не з'яўляецца праблемай, таму што на дадзены момант гэта лепшыя мадэлі ад OpenAI, а арыгінальны GPT-4 занадта павольны для гэтага.
  • Наступствы для выстаўлення рахункаў : за адхіленыя прагназаваныя токены выстаўляюцца рахункі па той жа стаўцы, што і за згенераваныя токены. Сачыце за 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 ад іншых пастаўшчыкоў штучнага інтэлекту, прапаноўваючы унікальныя рашэнні, якія адпавядаюць пэўным патрэбам супольнасці распрацоўшчыкаў.