Arendaja platvorm

Baidu Qianfan API

Baidu ülevaade arendajatele, mis hõlmab API-juurdepääsu, hinnastust, SDK-tuge, lõppunkte, võimekusi ja platvormi reegleid.

API võti Nõutud
Peamine API Qianfan v2 OpenAI-ühilduv inferentsi API
SDK tugi Ametlik Qianfani Python SDK on saadaval. Baidu Cloudi SDK ressursid hõlmavad mitut programmeerimiskeelt. Praegune v2 dokumentatsioon toetab ühilduvate inferentsipäringute jaoks ka OpenAI Pythoni klienti. JavaScripti ja P
Päringupiirangud Piirangud sõltuvad mudelist, kontost, teenusetasemest ja ostetud kvoodist. Qianfani dokumentatsioon kirjeldab TPM-i/RPM-i vaike- ja ostetud kvoodimudeleid; täpsed tootmiskeskkonna piirangud tuleks üle kontrollida konto konsoolist ja mudeli dokumentatsioon
Platvorm

API ülevaade

Lõppunktid (endpoints)

API ligipääs

Juuraadress (Base URL) https://qianfan.baidubce.com/v2
Peamine API Qianfan v2 OpenAI-ühilduv inferentsi API
Hinnad

API Hinnad

Hinnakujundusmudel Kasutuspõhine hinnastamine mudeli ja teenuse kaupa; tokenipõhine inferents, tokenipaketid, kvoodipaketid ning valitud tööriistade, meedia-, pakktöötlus- või treeninguteenuste eraldi tasud.

Hinnad erinevad mudeliti ning võivad põhineda sisend- ja väljundmärgendite hindadel, pildi- või videoühikutel, veebiotsingupäringutel, märgendiplaanidel või TPM-i/RPM-i kvoodiplaanidel. Praeguses mudelikataloogis on esitatud mudelipõhine hinnainfo.

Arendaja töömugavus

SDK info

SDK Ametlik Qianfani Python SDK on saadaval. Baidu Cloudi SDK ressursid hõlmavad mitut programmeerimiskeelt. Praegune v2 dokumentatsioon toetab ühilduvate inferentsipäringute jaoks ka OpenAI Pythoni klienti. JavaScripti ja P
Kasutusmugavus Mõõdukas. v2 API on OpenAI-ga ühilduvate vestluspäringute jaoks lihtsasti kasutatav, kuid Baidu-spetsiifiline autentimine, mudelite kättesaadavus, piirkonna- ja kontonõuded, agendid ning peenhäälestus muudavad platvormi keerukamaks.
Dokumentatsioon Hea ja põhjalik, sisaldades ajakohaseid hiinakeelseid API-dokumentatsiooni lehti, mudelikataloogi dokumentatsiooni, SDK-materjale, agentide dokumentatsiooni ja lõpp-punktide näiteid. Ingliskeelne katvus on piiratum.
Viivitus Kogu platvormi hõlmavat latentsusgarantiid ei õnnestunud kinnitada. Latentsus sõltub mudelist, viiba ja väljundi pikkusest, arutlusrežiimist, samaaegsete päringute arvust, liiklusperioodist, teenusetasemest ning agendi või tööriistade käivitamisest. Vooge
Featuurid

API võimekused

✓ Voogedastus
✓ Funktsioonide kasutamine
✓ Assistants API
✓ Failide üleslaadimine
✓ Peenhäälestamine
✓ Veebiotsing
✓ Pildi sisend
✓ Struktureeritud väljund
✓ Liivakast
Lühikirjeldus

Praegusel platvormil on kaks tihedalt seotud arendajaliidest: v2 mudeli inferentsi API ning laiem Qianfani/AppBuilderi agendiplatvorm. v2 inferentsi API toetab vestluse lõpetamise päringuid, mudelite leidmist, ühilduvate mudelite puhul voogedastust ning ühilduvate mudelite puhul funktsioonikutseid. Agendi- ja töövoo API-d lisavad püsivad vestlused, kohandatud komponendid, tööriistad, failisisendid, teadmistebaasid ja struktureeritud sisutüübid. Faile saab toetatud agentide ja töövoogude puhul üles laadida aadressi /v2/agent/file/upload kaudu. Peenhäälestuse ja andmehalduse API-d on olemas, kuid need võivad kasutada Baidu Cloudi AK/SK-allkirjastamist ning nõuda täiendavaid IAM-õigusi. Veebiotsing on saadaval platvormi või konkreetse mudeli funktsioonina, mitte iga vestlusmudeli universaalse omadusena. Piltsisend on saadaval toetatud multimodaalsete mudelite, agendi failide üleslaadimise või komponendipõhiste töövoogude kaudu. Struktureeritud JSON-väljund sõltub mudelist ja lõpp-punktist; funktsioonikutse pakub järjepidevamalt dokumenteeritud struktureeritud mehhanismi.

Näited

API Näited

curl --fail-with-body --silent --show-error --request POST "https://qianfan.baidubce.com/v2/chat/completions" \
  --header "Authorization: Bearer ${QIANFAN_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "ernie-4.5-turbo-128k",
    "messages": [
      {"role": "system", "content": "You are a concise technical assistant."},
      {"role": "user", "content": "Explain what an API key is in one paragraph."}
    ],
    "stream": false
  }' | jq -r '.choices[0].message.content'

curl --fail-with-body --silent --show-error --request POST "https://qianfan.baidubce.com/v2/chat/completions" \
  --header "Authorization: Bearer ${QIANFAN_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "ernie-4.5-turbo-128k",
    "messages": [
      {"role": "system", "content": "Return a concise answer."},
      {"role": "user", "content": "List two benefits of API versioning."}
    ],
    "stream": true
  }'
# Install or upgrade the current OpenAI client:
# python -m pip install --upgrade openai

import json
import os
from openai import OpenAI

api_key = os.environ["QIANFAN_API_KEY"]
client = OpenAI(
    api_key=api_key,
    base_url="https://qianfan.baidubce.com/v2",
)

messages = [
    {"role": "system", "content": "You are a concise technical assistant."},
    {"role": "user", "content": "What is an API key?"},
]

try:
    response = client.chat.completions.create(
        model="ernie-4.5-turbo-128k",
        messages=messages,
        stream=False,
    )
    print(response.choices[0].message.content)

    messages.append({
        "role": "assistant",
        "content": response.choices[0].message.content,
    })
    messages.append({
        "role": "user",
        "content": "Give one security best practice.",
    })

    stream = client.chat.completions.create(
        model="ernie-4.5-turbo-128k",
        messages=messages,
        stream=True,
    )
    for chunk in stream:
        if not chunk.choices:
            continue
        delta = chunk.choices[0].delta
        if delta.content:
            print(delta.content, end="", flush=True)
    print()
except Exception as exc:
    print(f"Qianfan request failed: {exc}")
// Install the current OpenAI-compatible client:
// npm install openai

import OpenAI from "openai";

const apiKey = process.env.QIANFAN_API_KEY;
if (!apiKey) {
  throw new Error("QIANFAN_API_KEY is not set");
}

const client = new OpenAI({
  apiKey,
  baseURL: "https://qianfan.baidubce.com/v2",
});

try {
  const response = await client.chat.completions.create({
    model: "ernie-4.5-turbo-128k",
    messages: [
      { role: "system", content: "You are a concise technical assistant." },
      { role: "user", content: "Explain API versioning in two sentences." },
    ],
    stream: false,
  });

  console.log(response.choices[0]?.message?.content ?? "");

  const stream = await client.chat.completions.create({
    model: "ernie-4.5-turbo-128k",
    messages: [
      { role: "system", content: "Answer briefly." },
      { role: "user", content: "Name two HTTP methods." },
    ],
    stream: true,
  });

  for await (const chunk of stream) {
    process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
  }
  process.stdout.write("\n");
} catch (error) {
  console.error("Qianfan request failed:", error);
  process.exitCode = 1;
}
<?php

$apiKey = getenv('QIANFAN_API_KEY');
if (!$apiKey) {
    throw new RuntimeException('QIANFAN_API_KEY is not set');
}

$url = 'https://qianfan.baidubce.com/v2/chat/completions';
$payload = [
    'model' => 'ernie-4.5-turbo-128k',
    'messages' => [
        [
            'role' => 'system',
            'content' => 'You are a concise technical assistant.'
        ],
        [
            'role' => 'user',
            'content' => 'Explain what an API key is in one paragraph.'
        ]
    ],
    'stream' => false
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
        'Accept: application/json'
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 120,
]);

$body = curl_exec($ch);
if ($body === false) {
    $error = curl_error($ch);
    curl_close($ch);
    throw new RuntimeException('Network error: ' . $error);
}

$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($body, true);
if ($status < 200 || $status >= 300) {
    $message = $data['message'] ?? $body;
    throw new RuntimeException('Qianfan API error (' . $status . '): ' . $message);
}

$content = $data['choices'][0]['message']['content'] ?? null;
if ($content === null) {
    throw new RuntimeException('The response did not contain assistant content');
}

echo $content . PHP_EOL;
Põhimõtted

Andmete kasutus

Päringupiirangud

Piirangud sõltuvad mudelist, kontost, teenusetasemest ja ostetud kvoodist. Qianfani dokumentatsioon kirjeldab TPM-i/RPM-i vaike- ja ostetud kvoodimudeleid; täpsed tootmiskeskkonna piirangud tuleks üle kontrollida konto konsoolist ja mudeli dokumentatsioon

Arendaja juhend

Baidu Qianfan API: algaja juhend praeguse arendajaplatvormi kasutamiseks

Baidu Qianfan on Baidu Intelligent Cloudi arendajaplatvorm majutatud mudelite kasutamiseks ja AI-rakenduste arendamiseks. Selle praegune v2 API pakub OpenAI-ga ühilduvaid vestluse lõpetamise päringuid, mudelite avastamist, voogedastust, funktsioonikutseid, multimodaalset sisendit, failitöövooge, agente, teadmistebaase ja peenhäälestust. See juhend käsitleb juurdepääsu, autentimist, mudeli valimist, päringuid, hinnastamist, SDK-valikuid, võimalusi, piiranguid ja tootmiskasutusega seotud kaalutlusi.
Baidu Qianfan on Baidu generatiivse tehisintellekti teenuste praegune arendajatele suunatud API-platvorm. Arendajad saavad v2 järeldus-API kaudu kasutada Baidu ERNIE mudeleid ja valitud kolmandate osapoolte mudeleid või luua Qianfani ja AppBuilderi laiemal platvormil agente, töövooge, teadmuspõhiseid rakendusi ning failide kasutamist toetavaid lahendusi. Kõige lihtsam lähtekoht on OpenAI-ga ühilduv vestluse lõpetamise liides aadressil qianfan.baidubce.com/v2.
Baidu Qianfan on Baidu Intelligent Cloudi arendajaplatvorm mudelite inferentsiks ja tehisintellektirakenduste arendamiseks. Selle v2 API toetab OpenAI-ga ühilduvaid vestluse lõpetamise päringuid, mudelite avastamist, voogedastust, funktsioonikõnesid, mitmeliigilisi faile, agente, töövooge, teadmistebaase ja peenhäälestust. Hinnad ja võimalused sõltuvad mudelist, kontost, lõpp-punktist ja teenusetasemest.

Mis on Baidu Qianfani API?

Baidu Qianfan on Baidu Intelligent Cloudi platvorm hostitud tehisintellektimudelite kasutamiseks ja tehisintellektirakenduste loomiseks. See ühendab mudelite järeldusliidese kõrgema taseme teenustega agentide, töövoogude, failitöötluse, teadmistebaaside, mudelihalduse ja peenhäälestuse jaoks.

Praegune v2 järeldusliides põhineb tuttavatel vestluse lõpetamise kontseptsioonidel. Päringus määratakse mudel ja messages massiiv, mis sisaldab selliseid rolle nagu system, user ja assistant. Toetatud mudelid võivad tagastada tavalisi või voogedastatavaid vastuseid ning ühilduvad mudelid toetavad funktsioonikutseid ja multimodaalseid sisendeid.

Qianfan on mõeldud arendajatele, kes loovad rakendusi, mitte juhuslikuks vestlusroboti kasutamiseks. See sobib hästi hiinakeelsete rakenduste, Baidu ökosüsteemi integratsioonide, dokumentide ja failidega seotud töövoogude, agendirakenduste ning teenuste lähtekohaks, kui ühe pilveplatvormi kaudu on vaja juurdepääsu mitmele hostitud mudelile.

Kaks omavahel seotud arendajaliidest

Qianfan koosneb kahest tihedalt seotud osast:

  • v2 järeldusliides: otsesed mudelikutsed selliste lõpp-punktide kaudu nagu POST /v2/chat/completions ja GET /v2/models.
  • Qianfani ja AppBuilderi platvorm: kõrgema taseme agendid, töövood, kohandatud tööriistad, teadmistebaasid, failisisendid, püsivad vestlused ja rakenduse komponendid.

Need liidesed kuuluvad samasse Qianfani arendajaökosüsteemi, kuid agenditöövoos saadaval olev funktsioon ei ole automaatselt saadaval igas põhilises vestluse lõpetamise päringus.

Juurdepääsu saamine ja autentimisandmete hankimine

Tavalised järeldus- ja faililiidesed nõuavad Qianfani API-võtit. Võtmeid luuakse ja hallatakse Baidu Intelligent Cloudi identiteedi- ja juurdepääsuhaldustööriistade kaudu. Hoidke võtit oma serveris või keskkonnamuutujas; ärge paigutage seda brauseri JavaScripti, mobiilirakendusse, lähtekoodihoidlasse ega kliendipoolsesse HTML-i.

Mõned platvormihalduse ja peenhäälestuse toimingud kasutavad lihtsama Beareri API-võtme meetodi asemel Baidu Cloudi juurdepääsuvõtme ja salajase võtmega päringute allkirjastamist. Enne haldus- või treeningtöövoogude rakendamist kontrollige konkreetse lõpp-punkti dokumentatsiooni.

Peamine juurdepääsu loomise järjestus on järgmine:

  1. Looge Baidu Intelligent Cloudi konto või kasutage olemasolevat kontot ja lubage vajalikud Qianfani teenused.
  2. Looge API-võti, mille õigused vastavad mudelitele või teenustele, mida teie rakendus kasutab.
  3. Kontrollige praegust mudelikataloogi ja hinnastamiskonsooli.
  4. Salvestage võti serveripoolsesse keskkonnamuutujasse, näiteks QIANFAN_API_KEY.
  5. Saatke autentitud päringud praegusele v2 baas-URL-ile: https://qianfan.baidubce.com/v2.

Juurdepääsu võivad mõjutada konto, piirkonna, teenusetaseme, kvoodi ja mudeli saadavuse nõuded. Kontrollige praeguseid nõudeid Baidu Intelligent Cloudi konsoolis, mitte ärge eeldage, et kõik loetletud mudelid on iga konto jaoks lubatud.

Kuidas valida mudelit või API-t?

Kasutage mudeli leidmise lõpp-punkti, selle asemel et vana mudelinimi püsivalt koodi kirjutada:

GET https://qianfan.baidubce.com/v2/models

Mudelikataloog võib sisaldada identifikaatoreid, toetatud modaalsusi, konteksti piiranguid, tokenipiiranguid ja mudelipõhist hinnateavet. Kasutage seda teavet ülesandega sobiva mudeli valimiseks ning muudatuste tuvastamiseks enne juurutamist.

Tavalise tekstiassistendi puhul alustage ühilduva vestluse lõpetamise mudeliga. Pildi- või muu meediasisendi korral valige mudel, mille kataloogikirje toetab selgesõnaliselt vajalikku modaalsust. Tööriistade, agentide, failitöötluse või teadmistebaasist otsimise jaoks hinnake Qianfani või AppBuilderi töövoo-liidest, selle asemel et eeldada, et põhiline lõpetamispäring neid funktsioone pakub.

Mudelite võimalused ei ole ühesugused. Voogedastus, funktsioonikutsed, JSON-vormingule suunatud vastused, multimodaalne sisend, veebiotsing ja muud funktsioonid võivad sõltuda valitud mudelist, lõpp-punktist, kontost või platvormi komponendist.

Esimese päringu tegemine

Lihtsaim päring on HTTPS POST-päring v2 vestluse lõpetamise lõpp-punktile. See kasutab Beareri API-võtit, mudeli identifikaatorit ja sõnumimassiivi.

curl --fail-with-body --silent --show-error --request POST "https://qianfan.baidubce.com/v2/chat/completions" 
  --header "Authorization: Bearer ${QIANFAN_API_KEY}" 
  --header "Content-Type: application/json" 
  --data '{
    "model": "ernie-4.5-turbo-128k",
    "messages": [
      {"role": "system", "content": "You are a concise technical assistant."},
      {"role": "user", "content": "Explain what an API key is in one paragraph."}
    ],
    "stream": false
  }'

Näites kasutatav mudelinimi illustreerib praegust päringumustrit ega taga, et mudel on iga konto jaoks lubatud. Tootmiskeskkonnas kontrollige identifikaatorit ja võimalusi praegusest mudelikataloogist.

Sama päring OpenAI Pythoni kliendiga

Qianfani v2 dokumentatsioon tutvustab praegust OpenAI-ga ühilduva kliendi mustrit. Installige või uuendage praegune openai pakett ja määrake selle baas-URL-iks Qianfan:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["QIANFAN_API_KEY"],
    base_url="https://qianfan.baidubce.com/v2",
)

response = client.chat.completions.create(
    model="ernie-4.5-turbo-128k",
    messages=[
        {"role": "system", "content": "You are a concise technical assistant."},
        {"role": "user", "content": "What is an API key?"},
    ],
    stream=False,
)

print(response.choices[0].message.content)

See ühilduvuskiht on mugav arendajatele, kes tunnevad juba OpenAI kliendiliidest. Otsene HTTPS on endiselt kasulik keeltes, mille jaoks sobivat teenusepakkuja SDK-d pole, või siis, kui vajate päringute üle täpset kontrolli.

Vastuse mõistmine

Edukas vestluse lõpetamise vastus sisaldab tavaliselt massiivi choices. Genereeritud assistenditekst on voogedastuseta vastuses saadaval asukohas choices[0].message.content. Rakendused peaksid siiski kontrollima, et oodatud väljad on olemas, ning käsitlema teenusepakkuja vigu, tühje valikuid, katkenud ühendusi ja mudelipõhiseid erinevusi vastustes.

Vestluse mälu rakendab tavaliselt teie rakendus. Säilitage asjakohased varasemad sõnumid ja saatke need järgmise päringuga uuesti. Põhilist vestluse lõpp-punkti ei tohiks käsitleda püsiva vestluste salvestina, välja arvatud juhul, kui kasutate eraldi agenti- või rakendusteenust, mis pakub vestluste haldust.

Kuidas Qianfani hinnastamine toimib?

Qianfan kasutab üldjuhul kasutuspõhist hinnastamist. Teksti järeldustöötluse eest võidakse tasu võtta sisend- ja väljundtokenite alusel, samas kui pildi-, video-, veebiotsingu-, pakktöötluse, peenhäälestuse ja muud teenused võivad kasutada teistsuguseid ühikuid või arveldusreegleid. Platvorm pakub ka tokenipakette ja kvoodipõhiseid teenusevalikuid.

Ühtset hinda, mis kehtiks kõigile Qianfani mudelitele, ei ole. Hinnad võivad mudeli ja teenuse kaupa muutuda, seega peaksid tootmissüsteemid lugema praegust mudelikataloogi ja hinnastamiskonsooli, mitte lisama dokumentatsiooni või koodi eeldusi. Mudeli hinda, konteksti piirangut ja kvooti tuleks käsitleda konfiguratsioonina.

Eelarve koostamisel tuleb arvestada vestluse mõlema poolega: säilitatav ajalugu suurendab sisendtokenite hulka, pikemad genereeritud vastused aga väljundkasutust. Tööriistakutsed, failitöötlus, agendid, meedia genereerimine ja peenhäälestus võivad kaasa tuua eraldi tasud või kvoodinõuded.

Arendajatele kättesaadavad põhivõimalused

Vestlus ja voogedastus

Vestluspäringud kasutavad rollipõhiseid sõnumeid ning võivad toetada mitme vooruga vestlusi, kui teie rakendus saadab asjakohase ajaloo uuesti. Ühilduvad lõpp-punktid saavad järkjärgulist väljundit voogedastada, kui stream väärtuseks määratakse true. Voogedastus võimaldab kasutajaliidesel teksti selle saabumisel kuvada, parandades tajutavat reageerimiskiirust, kuid see ei pruugi vähendada kogu töötlemisaega.

const stream = await client.chat.completions.create({
  model: "ernie-4.5-turbo-128k",
  messages: [
    { role: "system", content: "Answer briefly." },
    { role: "user", content: "Name two HTTP methods." },
  ],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Voogedastuskliendid peavad käsitlema osalist väljundit, võrgukatkestusi, teenusepakkuja vigu ja lõplikke kasutusmetaandmeid, kui need on saadaval. Ärge eeldage, et iga tükk sisaldab teksti.

Funktsioonikutsed ja kohandatud tööriistad

Funktsioonikutsed võimaldavad ühilduval mudelil paluda teie rakendusel käivitada nimeline funktsioon. Teie esitate funktsiooni kirjelduse ja JSON Schema laadis parameetrid. Mudel võib tagastada tööriistakutse; teie rakendus valideerib argumendid, käivitab kohaliku või kaugtoimingu ning saadab tulemuse hilisemas vestluspäringus tagasi.

Mudel ei saa automaatselt luba suvaliste toimingute tegemiseks. Teie rakendus vastutab endiselt autentimise, autoriseerimise, argumentide valideerimise, päringupiirangute, kõrvalmõjude ja tundlike toimingute korral kasutaja kinnituse eest.

Qianfani agendi- ja töövooteenused lisavad laiema tööriistakihi, mis hõlmab kohandatud tööriistu, töövoo komponente, failisisendeid, vestluse identifikaatoreid ja struktureeritud sisutüüpe. Tööriistade ühilduvust tuleb kontrollida valitud mudeli ja rakenduse komponendi puhul.

Failid ja multimodaalne sisend

Toetatud Qianfani agenditöövood võivad vastu võtta üles laaditud teksti-, arvutustabeli-, pildi- ja helifaile. Üles laaditud faile võib siduda vestlustega või kasutada toetatud agentides, nagu kooditõlgid, brauserikasutuse agendid, süvauuringu agendid ja tehisintellekti assistendid.

Pildisisend on saadaval toetatud multimodaalsete mudelite, agendi failide üleslaadimise või komponendipõhiste töövoogude kaudu. Seetõttu on failitugi laiem kui lihtsalt suvalise faili lisamine mis tahes vestluse lõpetamise päringule. Kontrollige lõpp-punkti dokumentatsioonist aktsepteeritavaid failitüüpe, suurusepiiranguid, töötlemise käitumist ja mudeli ühilduvust.

Agendid, töövood ja teadmistebaasid

AppBuilder ja sellega seotud Qianfani komponendid toetavad RAG-rakenduste, agentide, töövoogude, kasutajaliidesele suunatud rakenduste, kohandatud komponentide ja teadmistebaaside visuaalset ning koodipõhist arendust. Need kõrgema taseme tööriistad on kasulikud, kui rakendus vajab otsingupõhist täiendamist, mitmeastmelist täitmist, püsivat töövoo olekut või hallatud failitöötlust.

Need on põhilisest v2 vestluse lõpetamise kutsest eraldi. Alustage otsese järeldustöötlusega, kui rakendus vajab ainult viiba ja vastuse genereerimist; kasutage agenti või töövoogu, kui platvormi hallatav orkestreerimine on nõude osa.

Struktureeritud väljundid

Funktsioonikutsed pakuvad suhteliselt ühtset struktureeritud mehhanismi, paigutades argumendid tööriistakutse skeemi. Mõned mudeli ja lõpp-punkti kombinatsioonid toetavad ka JSON-vormingule suunatud vastuseid, kuid range struktureeritud väljundi käitumine ei ole kogu mudelikataloogis ühtlane.

Kui teie rakendus nõuab kindlat skeemi, kinnitage valitud mudeli, päringuvormingu ja lõpp-punkti tugi. Valideerige tagastatud sisu kohapeal ning käsitlege vigast või poolikut väljundit, selle asemel et eeldada, et tekstivastus on korrektne JSON.

Peenhäälestus ja andmehaldus

Qianfan sisaldab peenhäälestuse ja sellega seotud andmehalduse API-sid. Peenhäälestusülesanded võivad kasutada üles laaditud faile või hallatud andmekogumeid, samas kui ülesannete halduse lõpp-punktid võivad esitada oleku, mudeli, treeningurežiimi, edenemise, mõõdikute ja kontrollpunktide teavet.

Peenhäälestus- ja haldustoimingud võivad kasutada Baidu Cloudi juurdepääsuvõtme ja salajase võtmega allkirjastamist ning nõuda täiendavaid identiteedihalduse õigusi. Neid tuleks kavandada lihtsamast Beareri võtmega järeldusintegratsioonist eraldi.

SDK-d, dokumentatsioon ja arendajatööriistad

Ametlik Qianfani Pythoni SDK on saadaval ning Baidu Cloud pakub SDK ressursse mitme programmeerimiskeele jaoks. Praegune v2 dokumentatsioon tutvustab ühilduvate järelduskutsete jaoks ka OpenAI Pythoni klienti. JavaScripti ja PHP rakendused võivad kasutada toorest HTTPS-i või sobivat HTTP-klienti, kui teenusepakkujapõhine integratsioon pole vajalik.

Qianfani konsool pakub mänguvälja ja platvormihalduse tööriistu. Ametlik dokumentatsioon sisaldab mudelite loendi API-t, järeldusliidese juhendit, agendi failide üleslaadimise juhiseid, kohandatud tööriistade dokumentatsiooni, peenhäälestuse juhendeid ja hinnateavet. Kasutage testimisel mudelikataloogi ja konsooli koos, sest saadaolevad mudelid, kvoodid ja hinnad sõltuvad konto ning teenuse konfiguratsioonist.

Piirangud ja tootmiskeskkonna kaalutlused

  • Mudeli ühilduvus: sellised funktsioonid nagu voogedastus, funktsioonikutsed, multimodaalne sisend, JSON-vormingule suunatud väljund ja veebiotsing sõltuvad mudelist või lõpp-punktist.
  • Kvoodid: päringute arv minutis ja tokenite arv minutis varieerub mudeli, konto, teenusetaseme, piirkonna ja ostetud kvoodi järgi. Kontrollige tegelikke piiranguid konto konsoolist.
  • Latentsus: vastamisaeg sõltub mudeli suurusest, viiba ja väljundi pikkusest, arutlusrežiimist, samaaegsusest, liiklusest, teenusetasemest ning agendi- või tööriistade käivitamisest.
  • Piirkondlik ja kontopõhine juurdepääs: saadavus, makseviisid, mudelite kasutusõigused ja funktsioonide juurdepääs võivad erineda konto, seadme, piirkonna ja platvormi konfiguratsiooni järgi.
  • API põlvkonnad: hoidke v2 baas-URL, pakettide versioonid, autentimismeetod ja meetodite süntaks kooskõlas. Ärge ühendage vanemate Qianfani liideste näiteid praeguse OpenAI-ga ühilduva v2 mustriga.
  • Turvalisus: hoidke API-võtmeid serveripoolselt, kasutage keskkonnamuutujaid või saladuste haldurit, piirake õigusi ning vältige tundlike viipade, failisisu või autentimisandmete logimist.
  • Töökindlus: kasutage ajalõppe, piiratud korduskatseid koos eksponentsiaalse tagasitõmbega, vastuse valideerimist, teenusepakkujapõhist veakäsitlust ja osaliste voogude ohutut käsitlemist.
  • Andmekäitlus: esitatud uuring ei kinnita Qianfani universaalset poliitikat selle kohta, kas kõiki API sisendeid säilitatakse või kasutatakse treenimiseks. Enne konfidentsiaalse teabe saatmist tutvuge Baidu Cloudi praeguste tingimuste ja lõpp-punktipõhiste andmepoliitikatega.

Millal on Qianfan hea või halb valik?

Qianfan on hea valik, kui vajate Baidu hostitud ERNIE-d või valitud kolmandate osapoolte mudeleid, tugevat hiina keele tuge, juurdepääsu Baidu pilveökosüsteemile, OpenAI-ga ühilduvaid vestluspäringuid, agenditöövooge, teadmistebaase, failitöötlust või mudelite peenhäälestust. See on kasulik ka siis, kui projekt saab kasu Hiina pilveteenusepakkuja integreeritud teenustest, selle asemel et kokku panna eraldi järeldus- ja orkestreerimissüsteemid.

See võib olla halb valik, kui rakendus vajab üle maailma ühtlaselt kättesaadavaid teenuseid, täielikult standardiseeritud ingliskeelset dokumentatsiooni, kõigi mudelite puhul ühesugust võimaluste komplekti või hinnastamist, mis ei varieeru mudeli ja teenuse järgi. Otsese järeldustöötluse, agentide, töövoogude ja peenhäälestuse eristamine muudab platvormi ka keerukamaks kui minimaalne ühe lõpp-punktiga API.

Esimese rakenduse puhul alustage v2 mudelikataloogist, tehke üks autentitud voogedastuseta vestluspäring, lisage kohalik vastuse valideerimine ning hinnake voogedastust, tööriistu, faile või agente alles siis, kui rakendus neid vajab.

Allikad 10