Mis on CLOVA Studio API ja millal seda kasutada
CLOVA Studio on NAVER Cloud Platformi arendajatele mõeldud platvorm HyperCLOVA X-i kasutamiseks. See ühendab brauseripõhise tööala REST API-dega, mida rakendused saavad kasutada teksti genereerimiseks ja töötlemiseks, piltide töötlemiseks, vastuste voogedastuseks, rakenduse määratud funktsioonide käivitamiseks, struktureeritud JSON-i tagastamiseks, embedding'ute loomiseks, mudelite häälestamiseks ning valitud otsinguga täiendatud genereerimise ja marsruutimise tööriistade kasutamiseks.
Kasutage API-t siis, kui teie rakendus vajab tehisintellektil põhinevat funktsiooni, näiteks koreakeelset teksti genereerimist, kokkuvõtete loomist, klassifitseerimist, küsimustele vastamist, dokumendipõhiseid töövooge, pilte arvestavaid viipasid või tööriistade abil juhitavat rakendusloogikat. See ei ole eraldiseisev tarbijatele mõeldud vestlusrakendus ning platvorm ei paku eraldi dokumenteeritud esimese osapoole püsivate assistentide käituskeskkonda.
Uue integratsiooni puhul on soovitatav kasutada natiivset liidest Chat Completions v3 aadressil POST /v3/chat-completions/{modelName}. See on parem valik, kui vajate CLOVA Studio funktsioone, nagu natiivne multimodaalne sisend, funktsioonikutseid, struktureeritud väljundeid või mõtlemise juhtimist. OpenAI-ga ühilduv lõpp-punkt on kasulik siis, kui olemasolev rakendus või raamistik eeldab juba OpenAI kliendiliidest.
Juurdepääsu saamine ja API-võtmete hankimine
Alustuseks tellige CLOVA Studio NAVER Cloud Platformi konsooli kaudu. Menüüs CLOVA Studio API Key väljastage arenduseks test-API-võti või registreeritud teenuserakenduse jaoks teenuse-API-võti. Hoidke võtit serveripoolselt, eelistatavalt keskkonnamuutujas või saladuste halduris; ärge lisage seda brauserikoodi ega salvestage seda lähtekoodihoidlasse.
Päringute autentimiseks kasutatakse bearer-token'it. Dokumenteeritud teenuse piirkond on Korea ning CLOVA Studio on saadaval NAVER Cloud Platformi Classici ja VPC keskkondades. Enne tootmiskeskkonda juurutamist tuleb kontrollida konto, piirkonna, teenuserakenduse ülevaatuse ja mudelite kättesaadavuse nõudeid.
export CLOVA_STUDIO_API_KEY="your-key-here"API ja mudeli valimine
Praegu on kasutusel kaks integratsioonistiili:
| Valik | Kasutage seda siis, kui | Päringu vorm |
|---|---|---|
| Natiivne Chat Completions v3 | Vajate CLOVA Studio spetsiifilisi funktsioone, sealhulgas natiivset pildisisendit, struktureeritud väljundeid, funktsioonikutseid või mõtlemise juhtimist. | /v3/chat-completions/{modelName} camelCase-väljadega |
| OpenAI-ga ühilduv API | Teie rakendus kasutab juba OpenAI SDK-d või selle liidese ümber loodud raamistikku. | /v1/openai/chat/completions snake_case-väljadega |
Mudeli käitumine ja piirangud erinevad mudeliti. Uuringus tuuakse praegustes päringunäidetes välja HCX-005 ning struktureeritud väljundid on dokumenteeritud mudeli HCX-007 jaoks. Ärge eeldage, et kõik mudelid toetavad kõiki tööriistu, pildipäringuid või väljundifunktsioone; enne mudeli valimist kontrollige mudelipõhist API dokumentatsiooni.
Esimese natiivse päringu tegemine
Praegune peamine API host on https://clovastudio.stream.ntruss.com/. Järgmine päring kasutab Chat Completions v3 API-t ning hoiab natiivsed camelCase-väljade nimed järjepidevana.
curl --fail-with-body --silent --show-error
--request POST "https://clovastudio.stream.ntruss.com/v3/chat-completions/HCX-005"
--header "Authorization: Bearer ${CLOVA_STUDIO_API_KEY}"
--header "Content-Type: application/json"
--header "Accept: application/json"
--header "X-NCP-CLOVASTUDIO-REQUEST-ID: $(uuidgen 2>/dev/null || date +%s)"
--data '{
"messages": [
{"role": "system", "content": "You are a concise technical assistant."},
{"role": "user", "content": "Explain what an API is in two sentences."}
],
"topP": 0.8,
"topK": 0,
"maxCompletionTokens": 256,
"temperature": 0.3
}'Massiiv messages sisaldab vestlust. Süsteemisõnum määrab üldise käitumise, kasutajasõnum aga sisaldab ülesannet. Genereerimise juhtelemendid, nagu temperatuur, top-p ja lõpetamise lubatud märgendite piirang, mõjutavad väljundi stiili ja pikkust. Hoidke päringu ID päis tootmiskeskkonnas alles, et päringuid saaks tõrkeotsingu ajal jälgida.
Vastuse mõistmine
Edukas natiivne vastus sisaldab genereeritud sõnumiga result-objekti. Veavastused ja olekuteave võivad kasutada olekuvälju, HTTP olekukoodid aga annavad teada päringu taseme tõrgetest. Teie rakendus peaks kontrollima nii HTTP olekut kui ka tagastatud sisu, mitte eeldama, et iga vastus sisaldab genereeritud teksti.
OpenAI-ga ühilduva lõpp-punkti puhul loetakse genereeritud sisu tavaliselt väljast choices[0].message.content. Tööriistapäring tagastab selle asemel tööriistakutse teabe, mille teie rakendus peab valideerima ja täitma. Ärge kunagi käivitage mudeli loodud argumente ilma oma skeemi valideerimise, autoriseerimise ja ärireeglite rakendamiseta.
Kuidas hinnastamine toimib
CLOVA Studio kasutab kasutuspõhist arveldamist. Summa sõltub mudelist, kasutusotstarbest ning töödeldud või genereeritud märgendite arvust. Konsulteeritud avalik API dokumentatsioon ei esita üht püsivat universaalset hinnatabelit, seega tuleks kehtivaid mudelipõhiseid hindu kontrollida NAVER Cloud Platformi portaalis vastava CLOVA Studio teenuse juures.
Eelarvestamisel mõõtke esinduslike töökoormuste viiba- ja lõpetamismärgendeid, arvestage korduspäringute ja voogedastuspäringutega ning eraldage arenduse liiklus tootmisliiklusest. Ärge käsitlege näidetes toodud QPM- ja TPM-piiranguid hindade ega garanteeritud mahuna.
Arendajatele olulised funktsioonid
Vastuste voogedastus
Voogedastus saadab väljundi järk-järgult, selle asemel et oodata kogu lõpetuse valmimist. See on kasulik vestlusliideste ja pikkade vastuste puhul, sest kasutaja näeb osa väljundist varem. Natiivne voogedastus kasutab event-stream-vastust ja päist Accept: text/event-stream. OpenAI-ga ühilduv liides kasutab tuttavat päringuvälja stream: true.
Teksti- ja pildisisend
Chat Completions v3 toetab teksti- ja pildisisendit, kuid sellele kehtivad mudeli- ja sõnumipõhised piirangud. Pildisisend saadetakse vestluspäringu osana, mitte üldotstarbelise püsiva failikogumise API kaudu. Natiivset funktsioonikutset ei saa samas päringus kombineerida pildi tõlgendamise ega järeldamisega.
Funktsiooni- ja tööriistakutsed
Funktsioonikutse võimaldab mudelil teha ettepaneku kutsuda teie rakenduses määratletud funktsiooni, näiteks tellimuse andmete otsimiseks või ilmaandmete hankimiseks. CLOVA Studio tagastab funktsiooni nime ja argumendid; teie server teeb tegeliku toimingu ning võib seejärel saata tulemuse mudelile tagasi. Platvorm toetab funktsioonikutseid Chat Completions v3 ja OpenAI-ga ühilduva API kaudu, kuid funktsioonikutseid ja struktureeritud väljundeid ei saa samas natiivses päringus kombineerida.
Struktureeritud väljundid
Struktureeritud väljundid on mõeldud vastustele, mis peavad järgima kindlat JSON-struktuuri, mitte olema vabas vormis tekst. Praegune dokumentatsioon tuvastab selle funktsiooni mudeli HCX-007 puhul. Kontrollige kehtivast teatmikust toetatud skeemivormingut ja mudelipiiranguid ning valideerige tagastatud andmed sellest hoolimata oma rakenduse koodis. Struktureeritud vastus ei asenda autoriseerimist ega sisendi valideerimist.
Embedding'id, häälestamine ja otsingupõhised töövood
Platvorm sisaldab embedding'u API-sid, andmekogumitel põhinevat häälestamist, ümberjärjestamist, RAG-iga seotud tööriistu, marsruutimisfunktsioone ja oskuste treenija töövooge. Häälestamise andmekogumeid hallatakse NAVER Cloud Object Storage'i kaudu. Need funktsioonid on tavapärastest vestluse lõpetamise päringutest eraldi ning neil võivad olla oma juurdepääsu-, mudeli-, andmekogumi- ja ülevaatusnõuded.
OpenAI-ga ühilduva API kasutamine
OpenAI-ga ühilduva API baas-URL on https://clovastudio.stream.ntruss.com/v1/openai. Allolevas näites kasutatakse praegust OpenAI Pythoni kliendi süntaksit, suunates selle CLOVA Studiole.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["CLOVA_STUDIO_API_KEY"],
base_url="https://clovastudio.stream.ntruss.com/v1/openai"
)
response = client.chat.completions.create(
model="HCX-005",
messages=[
{"role": "system", "content": "You are a concise technical assistant."},
{"role": "user", "content": "Explain REST APIs in three bullet points."}
],
temperature=0.3,
max_completion_tokens=256
)
print(response.choices[0].message.content)Ühilduv lõpp-punkt kasutab snake_case-nimesid, näiteks max_completion_tokens. Ärge kopeerige sellesse päringuvormingusse natiivseid välju, näiteks maxCompletionTokens.
Funktsioonitööriista lisamine
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the weather for a city.",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="HCX-005",
messages=[{"role": "user", "content": "What is the weather in Seoul?"}],
tools=tools,
tool_choice="auto",
max_completion_tokens=1024
)
message = response.choices[0].message
if message.tool_calls:
call = message.tool_calls[0]
print(call.function.name, call.function.arguments)See kood kuvab ainult väljapakutud kutse. Tootmisrakendus peab argumendid sõeluma ja valideerima, kontrollima, kas kasutajal on toimingu tegemiseks õigus, käivitama funktsiooni ning käsitlema tõrkeid, enne kui vestlust vajaduse korral jätkatakse.
Tööala, SDK-d ja arendajatööriistad
CLOVA Studio sisaldab veebipõhist tööala, kus saab enne rakenduse koodi kirjutamist katsetada viipasid ja toetatud töövooge. Platvorm pakub üksikasjalikku REST-dokumentatsiooni ja OpenAI-ga ühilduvat liidest. Konsulteeritud dokumentatsioonis ei nimetata teenusepakkujaspetsiifilist ametlikku Pythoni, JavaScripti ega PHP SDK-d.
Pythoni ja JavaScripti rakendused saavad ühilduva baas-URL-i kaudu kasutada ametlikke OpenAI klienditeeke. PHP-rakendused ja muud keeled saavad REST-lõpp-punkti kutsuda standardsete HTTPS-tööriistadega. Hoidke paketi versioon ja kliendi süntaks ajakohasena ning järgige lõpp-punkti dokumenteeritud parameetrinimesid, selle asemel et segada natiivseid ja ühilduvaid päringuvorminguid.
Piirangud ja tootmiskeskkonna kaalutlused
Kasutuspiiranguid väljendatakse QPM-i ehk päringute arvuna minutis ning TPM-i ehk märgendite arvuna minutis. Piirangud erinevad mudeli, tööriista, konto ja kasutusotstarbe järgi. Vastuse päised näitavad päringu- ja märgendipiiranguid, allesjäänud mahtu ning lähtestamisteavet, sealhulgas selliseid päiseid nagu x-ratelimit-limit-requests ja x-ratelimit-limit-tokens.
Teenuse dokumentatsioon toob HCX-007 ja HCX-005 veebi-/testkasutuse näidetena 60 QPM-i ja 60 000 TPM-i, kuid need väärtused võivad muutuda ega taga läbilaskevõimet. Lugege tagastatud päiseid, rakendage ajutiste tõrgete puhul piiratud eksponentsiaalset tagasipöördumist ning kavandage käsitlemine HTTP-vastustele 401, 403, 408, 413, 429 ja 5xx.
Konsulteeritud API dokumentatsioonis ei ole esitatud universaalset avalikku latentsusnäitajat ega kindlat latentsuse SLA-d. Viivitused võivad infrastruktuuri koormuse ja liikluse tõttu erineda. Klienditoe kaudu võivad olla saadaval spetsiaalsed garanteeritud kasutuse kokkulepped, kuid need tuleb konkreetse konto puhul üle kinnitada.
Enne tootmiskasutust vahetage vajaduse korral testvõti teenusevõtme vastu, täitke teenuserakenduse ülevaatuse nõuded, kaitske mandaate, seadistage kasutuse jälgimine, valideerige mudeli väljundid ning vaadake üle kehtivad NAVER Cloud Platformi tingimused ja privaatsusdokumentatsioon. Avalik API dokumentatsioon ei kehtesta üht universaalset säilitusperioodi ega kogu teenusepakkujale kehtivat treenimiseks kasutamise poliitikat kõigi CLOVA Studio juurutuste jaoks.
Millal on CLOVA Studio hea või halb valik
CLOVA Studio on hea valik siis, kui vajate juurdepääsu HyperCLOVA X-ile NAVER Cloud Platformi kaudu, soovite Korea piirkonnas kättesaadavat natiivset API-t, vajate teksti- ja pildisisendit või tööriistafunktsioone või migreerite rakendust, mis kasutab juba OpenAI kliendiliidest. Selle tööala, REST-dokumentatsioon, voogedastus, struktureeritud väljundite tugi, häälestamise töövood ja kasutuspäised on arenduse ja käitamise ajal kasulikud.
See võib olla halb valik siis, kui vajate üle maailma ühtset lõpp-punkti ja hinnamudelit, teie programmeerimiskeele jaoks mõeldud teenusepakkujaspetsiifilist SDK-d, üldotstarbelist püsivate assistentide käituskeskkonda, universaalset failisalvestuse API-t, garanteeritud avalikke latentsusnäitajaid või ühtset säilitus- ja treenimispoliitikat, mis kehtiks kõigi juurutuste puhul samal viisil. Enne platvormile pühendumist tuleb hinnata Korea teenusepiirkonda, konto eeltingimusi, mudelipõhiseid piiranguid, teenuserakenduse ülevaatust ja muutuvaid kasutuspiiranguid.
