Mis on Claude API ja millal seda kasutada
Claude API on Anthropicu arendajatele mõeldud otseühendus, mille kaudu saab oma rakendusest Claude'i mudelitele päringuid saata. Peamine lõpp-punkt on Messages API aadressil https://api.anthropic.com/v1/messages. Päring võib sisaldada süsteemijuhiseid, kasutaja ja assistendi sõnumite jada, valikulisi pilte või dokumente ning tööriistu, mille käivitamist võib Claude teie rakenduselt paluda.
API on olekuta: vestlusajaloo säilitamise ja asjakohaste sõnumite iga päringuga saatmise eest vastutab teie rakendus. See muudab API sobivaks vestlusrakendustele, dokumendianalüüsile, kodeerimisassistentidele, struktureeritud andmete eraldamisele, klienditeeninduse töövoogudele ja agentidele, mis kutsuvad väliseid süsteeme.
Kasutage otse-API-t siis, kui soovite juhtida rakenduse loogikat, andmesalvestust, tööriistade käivitamist, autentimist ja juurutamist. Anthropic pakub ka kõrgema taseme võimalusi, näiteks Claude Agent SDK-d ja Claude Managed Agentsi, rakendustele, mis vajavad rohkem hallatud agentide käitamist.
Kellele see mõeldud on?
Platvorm on suunatud arendajatele, kes loovad tootmisteenuseid või prototüüpe, millel on vaja juurdepääsu Claude'i mudelitele. Algajad saavad alustada ühe HTTPS-päringu või ametliku SDK-ga. Kesktaseme arendajad saavad lisada voogedastuse, valideeritud struktureeritud väljundi, taaskasutatavad failid, kliendipoolsed tööriistad, serveripoolsed tööriistad, viipade vahemällu salvestamise, paketttöötluse või MCP-ühenduse.
Juurdepääsu ja mandaadi hankimine
- Looge Claude Console'i konto.
- Looge Anthropic API-võti.
- Salvestage võti keskkonnamuutujasse
ANTHROPIC_API_KEY, mitte otse lähtekoodi. - Installige ametlik SDK või saatke API-le HTTPS-päringuid.
Otsepäringud autentitakse päisega x-api-key ja peavad sisaldama päist anthropic-version. SDK-d loevad ANTHROPIC_API_KEY tavaliselt automaatselt. Hoidke võtit serveris või muus kaitstud käituskeskkonnas; ärge avaldage seda brauserikoodis ega avalikes repositooriumides.
API ja mudeli valimine
Uute otseintegratsioonide puhul kasutage vanemate Claude'i lõpetamisstiilis lõpp-punktide asemel Messages API-t. Valige Anthropicu praegusest mudelikataloogist aktiivne mudelitunnus. Mudelite saadavus, võimalused, hinnad ja kasutuselt kõrvaldamise kuupäevad võivad muutuda, seega vältige aegunud mudeli kõvakodeerimist ja vaadake Anthropicu mudelite elutsükli dokumentatsiooni regulaarselt üle.
Mudeli valik mõjutab kulu, vastuse kiirust, konteksti käsitlemist ja saadaolevaid funktsioone. Esitatud uurimismaterjal ei määra üht universaalselt sobivat mudelit ega fikseeritud hinda, seega peaksid rakendused võrdlema aktiivseid mudeleid oma töökoormuse ja eelarvega.
Esimese päringu tegemine
Järgmises töötlemata HTTP-näites kasutatakse kohatäitena mudelitunnust. Asendage active-model-id Anthropicu praegusest kataloogist pärit aktiivse mudeliga.
curl https://api.anthropic.com/v1/messages
--header "x-api-key: ${ANTHROPIC_API_KEY}"
--header "anthropic-version: 2023-06-01"
--header "content-type: application/json"
--data '{
"model": "active-model-id",
"max_tokens": 512,
"system": "You are a concise technical assistant.",
"messages": [
{
"role": "user",
"content": "Explain exponential backoff in three sentences."
}
]
}'Päringus määratakse mudel, väljundmärgendite limiit, valikuline süsteemijuhis ja sõnumite massiiv. API-võti loetakse keskkonnast, mis vähendab selle kogemata lähtekoodihoidlasse lisamise riski.
Sama päring Pythoni SDK-ga
Anthropic pakub ametlikke SDK-sid Pythonile, TypeScriptile, C#-ile, Gole, Javale, PHP-le ja Rubyle. Selles näites kasutatakse praegust Pythoni kliendi mustrit.
pip install anthropicimport os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
response = client.messages.create(
model="active-model-id",
max_tokens=512,
system="You are a concise technical assistant.",
messages=[
{"role": "user", "content": "Explain exponential backoff in three sentences."}
],
)
print("n".join(
block.text for block in response.content if block.type == "text"
))Vastuse mõistmine
Messages API vastus ei ole lihtsalt tavaline tekstistring. See sisaldab sisublokke ja igal plokil on tüüp. Tekstivastused kasutavad tekstiplokke, tööriistapäringud tööriistakasutuse plokke ning muud võimalused võivad luua teist tüüpi plokke. Kood peaks ploki tüüpi kontrollima ja teksti sihipäraselt eraldama.
Lihtsa tekstivastuse puhul valivad rakendused tavaliselt plokid, kus block.type == "text". Tööriistu kasutavad rakendused otsivad selle asemel tööriistakasutuse plokki, käivitavad soovitud funktsiooni ja saadavad tulemuse järgmises kasutaja sõnumis Claude'ile tagasi. Selline sisublokkide ülesehitus võimaldab ühes vastuses esitada mitut tüüpi väljundit.
Kuidas hinnastamine üldjoontes toimib
Claude API hinnastamine põhineb kasutusel. Tasu sõltub üldjuhul valitud mudeli sisend- ja väljundmärgendite hindadest, kusjuures eri mudelitel on erinevad hinnad. Märgend on mudeli töödeldava teksti ühik; täpne arv sõltub sisust ja märgendamisest.
Lisahinnareeglid võivad kehtida viipade vahemällu kirjutamise ja vahemälust lugemise, pika konteksti kasutamise, paketttöötluse ja serveripoolsete tööriistade korral. Message Batches API pakub sobivate töökoormuste puhul soodushinnaga asünkroonset töötlust. Veebiotsing ja muud serveripoolsed tööriistad võivad samuti kaasa tuua funktsioonipõhiseid lisatasusid.
Kuna mudelite hinnad muutuvad ja uurimismaterjal ei esita üht praegust hinda, vaadake kulude hindamisel Anthropicu hinnalehte. Tootmiskeskkonnas registreerige märgendikasutus, mudeli valik, tööriistade tegevus ja päringute maht, et rakenduse tasandi kulu saaks jälgida.
Olulised võimalused
Vastuste voogedastus
Voogedastus saadab vastuse sündmusi nende loomise ajal, selle asemel et oodata kogu sõnumi valmimist. See on kasulik vestlusliidestes ja pikkade vastuste puhul, sest rakendus saab teksti järk-järgult kuvada ning lühendada aega, mille järel kasutaja esimest väljundit näeb.
with client.messages.stream(
model="active-model-id",
max_tokens=512,
messages=[
{"role": "user", "content": "Explain server-sent events briefly."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
print()HTTP-tasandil kasutab voogedastus serveri saadetud sündmusi. Voogedastusklient peaks töötlema sündmuste tüüpe, mitte eeldama, et iga sündmus sisaldab kuvatavat teksti.
Tööriistade ja funktsioonide kutsumine
Tööriistakasutus võimaldab Claude'il paluda teie rakendusel funktsiooni käivitada. Teie määrate tööriista nime, kirjelduse ja JSON-sisendskeemi. Kood teeb toimingu, näiteks pärib andmebaasi või kutsub ilmateenust, ja saadab tulemuse Claude'ile tagasi. Anthropic toetab ka rangeid tööriistaskeeme tööriistade sisendite valideerimiseks.
tools = [
{
"name": "get_weather",
"description": "Return current weather for a city.",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": False,
},
"strict": True,
}
]
response = client.messages.create(
model="active-model-id",
max_tokens=512,
tools=tools,
messages=[
{"role": "user", "content": "What is the weather in Boston?"}
],
)
for block in response.content:
if block.type == "tool_use":
print(block.name, block.input)Rakendus peab enne soovitud tööriista käivitamist valideerima autoriseerimise, argumendid ja kõrvalmõjud. Mudel ei saa automaatselt luba teie süsteemidele juurde pääseda; teie rakendus otsustab, kas ja kuidas iga soovitud toiming käivitatakse.
Struktureeritud JSON-väljundid
Struktureeritud väljundid võimaldavad rakendusel küsida JSON-teksti, mis järgib etteantud JSON-skeemi. See on kasulik eraldamise, klassifitseerimise ja järgnevate töövoogude puhul, mis vajavad ettearvatavaid välju. Struktureeritud väljund erineb tavalisest JSON-i küsimisest, sest päringus määratakse valideerimiseks skeem.
response = client.messages.create(
model="active-model-id",
max_tokens=512,
output_config={
"format": {
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"priority": {"type": "string"}
},
"required": ["name", "priority"],
"additionalProperties": False
}
}
},
messages=[
{"role": "user", "content": "Extract: Alex Kim has high priority."}
],
)
json_text = next(
block.text for block in response.content if block.type == "text"
)Parsimise ja valideerimisega tuleb tagastatud tekst oma rakenduses lõpule jõuda enne selle kasutamist. Range tööriistakasutus valideerib tööriistade sisendid struktureeritud vastuse väljundist eraldi.
Failid, dokumendid ja pildid
Nägemisvõimega Claude'i mudelid saavad vastu võtta pilte toetatud base64-andmete, URL-ide või failiviidete kaudu. Dokumente ja PDF-faile saab samuti edastada otse või Files API kaudu. Files API toetab taaskasutatavate failide üleslaadimist, loendamist, hankimist, allalaadimist ja kustutamist.
Faili aegumiseks saab määrata 3 600 kuni 7 776 000 sekundit ehk 90 päeva. Pärast aegumist ei saa faili sisu enam API kaudu hankida, kuigi metaandmed võivad jääda loetavaks kuni 30 päevaks. Aegumist ei tohiks käsitada kohese ja garanteeritud kustutamise juhtimisvahendina; kustutage tundlikud failid sõnaselgelt, kui neid enam vaja ei ole.
Serveripoolsed tööriistad ja agendifunktsioonid
Sõltuvalt mudelist, kontost, tööriista versioonist ja väljalaskeolekust pakub Anthropic serveripoolseid tööriistu, nagu veebiotsing, veebiandmete hankimine, koodi käitamine, tööriistaotsing, mälu, arvuti kasutamine, brauseri kasutamine ja MCP-ühendus. Platvorm sisaldab ka Claude Agent SDK funktsioone ja Claude Managed Agentsi kõrgema taseme agenditöövoogude jaoks.
Need funktsioonid võivad vähendada rakenduse ehitatava taristu mahtu, kuid toovad kaasa täiendavaid õigusi, kulusid, latentsust ja töökorralduslikke kaalutlusi. Enne funktsioonile ülesehitamist kontrollige selle saadavust ja kehtivaid tingimusi konkreetse konto ja mudeli puhul.
Mänguväljak ja arendajatööriistad
Claude Console pakub kohta API-võtmete loomiseks ja päringutega katsetamiseks. Anthropicu ametlikud SDK-d pakuvad Pythoni, TypeScripti, C#-i, Go, Java, PHP ja Ruby jaoks tüübistatud või vastava keele tavadega kliente, voogedastust, korduskatseid ja veahaldust.
Esimese prototüübi jaoks piisab tavaliselt Console'ist ja lühikesest SDK-skriptist. Tootmiskeskkonnas kasutage keskkonnapõhiseid saladusi, struktureeritud logimist, päringute ja kulude jälgimist, korduskatsete käsitlemist ning tööriistade ja skeemide käitumise teste.
Piirangud ja tootmiskeskkonna kaalutlused
Päringumäärade piiranguid mõõdetakse päringutes minutis, sisendmärgendites minutis ja väljundmärgendites minutis. Piirangud sõltuvad mudelist ja organisatsiooni tasemest. Esitatud dokumentatsiooni kohaselt võivad mitme aktiivse mudeliklassi praegused maksimumid ulatuda 1 000 päringuni minutis, 2 000 000 sisendmärgendini minutis ja 400 000 väljundmärgendini minutis, kuid need näitajad ei ole universaalsed garantiid.
Päringu piiramisel võib 429-vastus sisaldada retry-after ja päringumäära päiseid. Tootmiskliendid peaksid järgima serveri edastatud viivitust, kasutama eksponentsiaalset tagasipöördumist ja jälgima allesjäänud päringute ning märgendite mahtu. Managed Agentsil ja Files API-l on eraldi piirangud.
Latentsus sõltub mudelist, viiba suurusest, väljundi pikkusest, arutlusseadetest, tööriistadest ja teenusetasemest. Voogedastus võib lühendada esimese nähtava väljundini kuluvat aega. Tööriistatsüklid lisavad samuti võrgu edasi-tagasi päringuid ning neil peaksid olema selged ajalõpud, tõrgete käsitlemine ja korduvate kutsungite piirangud.
Privaatsus ja andmekäitlus
Anthropicuga seotud ärilised tingimused sätestavad, et Anthropic ei pruugi oma kommertsteenuste klientide sisul mudelite treenimiseks kasutada. Organisatsioonid peaksid siiski enne tundliku teabe saatmist üle vaatama kehtivad ärilised tingimused, teenusepõhised tingimused, privaatsusdokumentatsiooni, toetatud piirkondade nõuded, säilitusseaded ning võimalikud ettevõtetele mõeldud või null-andmesäilitusega lepingud.
Eelised ja piirangud
| Valdkond | Mida arvestada |
|---|---|
| API ülesehitus | Messages API pakub ühtset alust teksti, multimodaalse sisendi, tööriistade, voogedastuse ja struktureeritud väljundi jaoks. |
| Arendajakogemus | Ametlikud SDK-d, Console, voogedastuse tugi, korduskatsed ja tüübistatud sisublokid toetavad nii prototüüpe kui ka tootmisteenuseid. |
| Agenditöövood | Tööriistakasutus, MCP, serveripoolsed tööriistad, Agent SDK ja Managed Agents toetavad üha keerukamaid töövooge. |
| Kulud | Kasutus põhineb märgenditel, sõltub mudelist ja võib vahemällu salvestamise, partiide, pika konteksti või serveripoolsete tööriistade tõttu suureneda. |
| Käitamine | Rakendused peavad haldama vestlusajalugu, tööriistade käivitamist, korduskatseid, päringumäärade piiranguid, saladusi, seiret ja mudelite elutsükli muutusi. |
| Peenhäälestus | Otseplatvorm ei paku praegu üldotstarbelist avalikku peenhäälestuse API-t, seega tuginevad arendajad üldjuhul viipadele, otsingule, tööriistadele, vahemällu salvestamisele, struktureeritud väljunditele ja mudelivalikule. |
Millal on Claude API hea või halb valik
API sobib hästi siis, kui rakendus vajab Claude'i juhiste järgimist, pika konteksti töötlemist, arutlemist, kodeerimisabi, dokumendianalüüsi, multimodaalset sisendit, struktureeritud eraldamist, tööriistakasutust või agentide orkestreerimist. See on praktiline valik ka siis, kui meeskond soovib päringu elutsükli üle otsest kontrolli, mitte ainult valmis vestlusliidest.
See võib olla halb valik, kui töökoormus vajab üldotstarbelist avalikku peenhäälestuse API-t, kasutusest sõltumatuid fikseeritud ja etteaimatavaid kulusid, valitud mudelis või kontol puuduvaid võimalusi või täielikult hallatud agendisüsteemi ilma rakendusepoolse tööriistade ja turbehalduseta. Enne lahenduse lõplikku kavandamist kontrollige mudeli saadavust, hindu, päringumäärade piiranguid, säilitustingimusi ja vajalikke serveripoolseid tööriistu.
Usaldusväärse esimese rakenduse jaoks alustage ühe Messages API päringuga, eraldage sisublokid selgesõnaliselt, lisage korduskatsed ja kasutuse jälgimine ning võtke voogedastus, tööriistad, failid või struktureeritud väljund kasutusele alles siis, kui rakendus neid vajab.
