Arendaja platvorm

Reka API

Reka AI ü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 OpenAI-ga ühilduv Chat Completions API
SDK tugi OpenAI Pythoni ja JavaScripti SDK-d on ametlikult dokumenteeritud OpenAI-ga ühilduva liidese kaudu. Ametlikud näited hõlmavad ka Go-d, Javat ja REST-i. Spetsiaalset Reka SDK-d ei õnnestunud kinnitada.
Päringupiirangud General Chati päringupiiranguid ei ole vaadatud viiteallikas avalikult täpsustatud. Visioni dokumentatsioon kirjeldab iga API-võtme kohta jooksva 24 tunni piiranguid: 100 pildi üleslaadimist, 100 pildiotsingut, 50 video üleslaadimist, 50 videootsingut ja
Platvorm

API ülevaade

Lõppunktid (endpoints)

API ligipääs

Juuraadress (Base URL) https://api.reka.ai/v1
Peamine API OpenAI-ga ühilduv Chat Completions API
Hinnad

API Hinnad

Hinnakujundusmudel Kasutuspõhine tasumudel, mille puhul võetakse tasu peamiselt sisend- ja väljundtokenite alusel; meedia- ja Vision-toimingute puhul võidakse kasutada eraldi ühikuid.

Avaldatud Reka Chati hinnakirjas on Edge'i hind $0.10/$0.10, Flashi hind $0.80/$2.00 ja Core'i hind $2.00/$6.00 miljoni sisend-/väljundtokeni kohta. Piltide, videote ja heli eest võidakse küsida lisatasu.

Arendaja töömugavus

SDK info

SDK OpenAI Pythoni ja JavaScripti SDK-d on ametlikult dokumenteeritud OpenAI-ga ühilduva liidese kaudu. Ametlikud näited hõlmavad ka Go-d, Javat ja REST-i. Spetsiaalset Reka SDK-d ei õnnestunud kinnitada.
Kasutusmugavus Põhiintegratsioonide puhul on kasutusmugavus kõrge, sest Chat API ühildub OpenAI-ga ja kasutab tuttavaid vestluse lõpetamise mustreid. Keerukus suureneb, kui kombineerida Chati, Researchi, Visioni ja Gateway tooteliideseid.
Dokumentatsioon Hea ja aktiivselt hooldatav API-teatmik, mis sisaldab kiirstarte, mudeliteavet ning voogedastuse, multimodaalsuse, tööriistade, Researchi ja Visioni dokumentatsiooni. Mõne toote kasutajaliideses kasutatakse erinevaid autentimisviise ja baas-URL-e.
Viivitus Avalikult kättesaadavat numbrilist latentsuse SLA-d ei õnnestunud kontrollida. Reka kirjeldab Gateway taristut ja spetsiaalse mahuga valikuid; tegelik latentsus sõltub mudelist, töökoormusest, meediumi töötlemisest, järjekordadest ja mahuastmest.
Featuurid

API võimekused

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

Praegune arendajaplatvorm sisaldab teenuseid Reka Chat, Reka Gateway, Reka Research ja Reka Vision. Chat kasutab päringuid POST /v1/chat/completions ning toetab ühe- ja mitmevoorulisi sõnumeid, süsteemijuhiseid, voogedastust, multmodaalset sisu ja tööriistu. Reka Research pakub spetsiaalset uurimisotspunkti, mis kasutab mudelit reka-flash-research koos veebiotsingu- ja analüüsitööriistade, arutluskäigu sammude metaandmete, voogedastuse ja JSON-skeemil põhineva struktureeritud väljundiga. Reka Vision kasutab eraldi baas-URL-i https://vision-agent.api.reka.ai ning toetab videote ja piltide üleslaadimist, indekseerimist, otsingut, küsimustele vastamist, sildistamist, klippide loomist ja MCP-serverit. Piltide sisendit toetatakse multimodaalse Chati sisu kaudu. Failide üleslaadimine on Visioni meediatöövoogude puhul kinnitatud. Peenhäälestust kirjeldatakse hallatava teenusena, mida pakub Reka insenerimeeskond, mitte selgelt dokumenteeritud iseteenindusliku treeninguotspunktina. Avalikult dokumenteeritud püsivat Assistants API-t ega lõimede ja käivituste põhist käituskeskkonda ei ole kinnitatud. Uuem Gateway liides võimaldab sama API baas-URL-i kaudu kasutada Reka mudeleid ja valitud kolmandate osapoolte mudeleid.

Näited

API Näited

export REKA_API_KEY="your_api_key"
curl --fail-with-body -sS https://api.reka.ai/v1/chat/completions \
  -H "X-Api-Key: ${REKA_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "reka-flash",
    "messages": [
      {"role": "system", "content": "You are a concise technical assistant."},
      {"role": "user", "content": "Explain HTTP streaming in two sentences."}
    ],
    "stream": false
  }' | jq -r '.choices[0].message.content'

# Tool-calling request
curl --fail-with-body -sS https://api.reka.ai/v1/chat/completions \
  -H "X-Api-Key: ${REKA_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "reka-flash",
    "messages": [{"role": "user", "content": "What is the weather in Boston?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get the current weather for a city",
        "parameters": {
          "type": "object",
          "properties": {"city": {"type": "string"}},
          "required": ["city"]
        }
      }
    }],
    "tool_choice": "auto"
  }' | jq .
# Install: pip install openai
import os
from openai import OpenAI

api_key = os.environ["REKA_API_KEY"]
client = OpenAI(
    base_url="https://api.reka.ai/v1",
    api_key=api_key,
)

try:
    response = client.chat.completions.create(
        model="reka-flash",
        messages=[
            {"role": "system", "content": "You are a helpful technical assistant."},
            {"role": "user", "content": "Give me three practical uses for streaming responses."},
        ],
    )
    print(response.choices[0].message.content)
except Exception as exc:
    print(f"Request failed: {exc}")

# Streaming
stream = client.chat.completions.create(
    model="reka-flash",
    stream=True,
    messages=[
        {"role": "user", "content": "Write a short explanation of multimodal AI."}
    ],
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
print()

# Multimodal image input
vision_response = client.chat.completions.create(
    model="reka-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": "https://v0.docs.reka.ai/_images/000000245576.jpg"}},
                {"type": "text", "text": "Describe the main subject of this image."},
            ],
        }
    ],
)
print(vision_response.choices[0].message.content)

# Tool definition
response = client.chat.completions.create(
    model="reka-flash",
    messages=[{"role": "user", "content": "What is the weather in Boston?"}],
    tools=[
        {
            "type": "function",
            "function": {
                "name": "get_weather",
                "description": "Get current weather for a city",
                "parameters": {
                    "type": "object",
                    "properties": {"city": {"type": "string"}},
                    "required": ["city"],
                },
            },
        }
    ],
    tool_choice="auto",
)
message = response.choices[0].message
print(message.tool_calls or message.content)
// Install: npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.reka.ai/v1",
  apiKey: process.env.REKA_API_KEY,
});

try {
  const response = await client.chat.completions.create({
    model: "reka-flash",
    messages: [
      { role: "system", content: "You are a concise technical assistant." },
      { role: "user", content: "Explain multi-turn chat in two sentences." },
    ],
  });
  console.log(response.choices[0].message.content);
} catch (error) {
  console.error("Request failed:", error);
}

// Streaming
const stream = await client.chat.completions.create({
  model: "reka-flash",
  stream: true,
  messages: [
    { role: "user", content: "Write a short explanation of API streaming." },
  ],
});
for await (const chunk of stream) {
  const text = chunk.choices[0]?.delta?.content;
  if (text) process.stdout.write(text);
}
process.stdout.write("\n");

// Multimodal image input
const imageResponse = await client.chat.completions.create({
  model: "reka-flash",
  messages: [
    {
      role: "user",
      content: [
        {
          type: "image_url",
          image_url: { url: "https://v0.docs.reka.ai/_images/000000245576.jpg" },
        },
        { type: "text", text: "Describe the main subject of this image." },
      ],
    },
  ],
});
console.log(imageResponse.choices[0].message.content);

// Tool definition
const toolResponse = await client.chat.completions.create({
  model: "reka-flash",
  messages: [{ role: "user", content: "What is the weather in Boston?" }],
  tools: [
    {
      type: "function",
      function: {
        name: "get_weather",
        description: "Get current weather for a city",
        parameters: {
          type: "object",
          properties: { city: { type: "string" } },
          required: ["city"],
        },
      },
    },
  ],
  tool_choice: "auto",
});
console.log(toolResponse.choices[0].message.tool_calls ?? toolResponse.choices[0].message.content);
<?php
$apiKey = getenv('REKA_API_KEY');
if (!$apiKey) {
    fwrite(STDERR, "REKA_API_KEY is not set\n");
    exit(1);
}

$url = 'https://api.reka.ai/v1/chat/completions';
$payload = [
    'model' => 'reka-flash',
    'messages' => [
        ['role' => 'system', 'content' => 'You are a concise technical assistant.'],
        ['role' => 'user', 'content' => 'Explain API streaming in two sentences.'],
    ],
    'stream' => false,
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'X-Api-Key: ' . $apiKey,
        'Content-Type: application/json',
        'Accept: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_THROW_ON_ERROR),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 60,
]);

$raw = curl_exec($ch);
if ($raw === false) {
    $error = curl_error($ch);
    curl_close($ch);
    throw new RuntimeException('cURL error: ' . $error);
}
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);

$data = json_decode($raw, true);
if ($status < 200 || $status >= 300) {
    $message = $data['error']['message'] ?? $raw;
    throw new RuntimeException("HTTP {$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;

// Multimodal request payload example:
$imagePayload = [
    'model' => 'reka-flash',
    'messages' => [[
        'role' => 'user',
        'content' => [
            [
                'type' => 'image_url',
                'image_url' => ['url' => 'https://v0.docs.reka.ai/_images/000000245576.jpg'],
            ],
            ['type' => 'text', 'text' => 'Describe the main subject of this image.'],
        ],
    ]],
];
?>
Põhimõtted

Andmete kasutus

Andmete kasutus

Reka 2026. aasta juuni privaatsuspoliitika kohaselt võidakse tasuta kasutuse, sealhulgas reklaamiks antud API-krediitide kasutamise käigus toimunud suhtlust kasutada masinõppemudelite treenimiseks ja täiustamiseks, välja arvatud Google Drive’ist pärinev sisu. Tasulised kasutajad saavad konto seadetes või Rekaga ühendust võttes valida, kas lubada Rekal kasutada viipasid ja väljundeid mudelite täiustamiseks. Ettevõtetele sõlmitud lepingud võivad sisaldada täiendavaid lepingulisi kontrollimehhanisme.

Andmete säilitamine

Säilitamisperiood erineb olenevalt tootest ja lõpp-punktist. Reka privaatsuspoliitika kohaselt võidakse töötlemiseks üles laaditud faile ajutiselt säilitada, sealhulgas turvalises objektisalvestuses, millele pääseb ligi lühiajaliste juurdepääsulinkide kaudu. Sõltuvalt funktsioonist võidakse need automaatselt kustutada näiteks 24 tunni jooksul. Visioni arendajahinnastuse kohaselt kustutatakse indekseeritud videod automaatselt 30 päeva möödudes, kuid ettevõtetele mõeldud salvestusvõimaluste puhul võivad tingimused erineda. Reka üldise poliitika kohaselt säilitatakse isikuandmeid seni, kuni need on teenuse osutamiseks ning õiguslikel, turbe- ja ärilistel eesmärkidel vajalikud; seejärel need kustutatakse või muudetakse võimaluse korral anonüümseks.

Päringupiirangud

General Chati päringupiiranguid ei ole vaadatud viiteallikas avalikult täpsustatud. Visioni dokumentatsioon kirjeldab iga API-võtme kohta jooksva 24 tunni piiranguid: 100 pildi üleslaadimist, 100 pildiotsingut, 50 video üleslaadimist, 50 videootsingut ja

Arendaja juhend

Reka API juhend: juurdepääs, mudelid, hinnad, nägemisvõime ja SDK-d

Reka AI pakub OpenAI-ga ühilduvat arendajaplatvormi multimodaalseks vestluseks, mudelite inferentsiks, uurimistöö töövoogudeks ning video- ja pilditöötluseks. Selle peamine Chat API toetab teksti, pilte, lühivideoid, heli, voogedastust, tööriistade kutsumist ja tuttavaid vestluse lõpetamise mustreid. Eraldi Researchi ja Visioni API-d lisavad veebipõhise analüüsi, struktureeritud väljundi, meedia indekseerimise, otsingu, küsimustele vastamise, sildistamise ja videoklippide loomise võimalused.
Reka API on mõeldud arendajatele, kes soovivad lisada rakendustesse multimodaalse tehisintellekti, ilma et peaksid õppima täiesti uut kliendiliidest. Üldine Chat API on saadaval aadressil https://api.reka.ai/v1 ning ühildub OpenAI Pythoni ja JavaScripti SDK-dega. Reka pakub ka spetsiaalseid Researchi ja Visioni teenuseid, mille puhul erinevad lõpp-punktid, hinnastamisühikud, autentimise üksikasjad ja andmete säilitamise põhimõtted. Selles juhendis selgitatakse, kuidas valida sobiv liides, teha esimene päring, kasutada voogedastust ja tööriistu, töödelda meediat ning hinnata platvormi sobivust tootmiskasutuseks.
Reka API pakub OpenAI-ga ühilduvat Chat-liidest teksti- ja multimodaalseks inferentsiks koos voogedastuse ja tööriistakutsete toega. Eraldi Researchi ja Visioni API-d toetavad veebitoega analüüsi, struktureeritud väljundit, meedia indekseerimist, semantilist otsingut, videoküsimusi ja -vastuseid, sildistamist ning videoklippide loomist. Hinnastus põhineb kasutusel, kuid autentimine, piirangud, andmete säilitamine ja andmekasutuse eeskirjad erinevad lõpp-punktiti.

Mis on Reka API ja millal seda kasutada?

Reka API on kasutuspõhine arendajaplatvorm Reka mudelite ning Reka Gateway kaudu valitud mudelite kasutamiseks. Peamine liides on OpenAI-ga ühilduv Chat Completions API aadressil https://api.reka.ai/v1. See võtab vastu sõnumeid ja tagastab assistendi vastused tuttavas vormingus, mistõttu on see praktiline valik arendajatele, kes kasutavad juba OpenAI stiilis klienditeeke.

Chat API on mõeldud tekstivestlusteks, multimodaalseteks viipadeks, voogedastusliidesteks ja rakenduse juhitavaks tööriistade kasutamiseks. Toetatud multimodaalsed sisendid hõlmavad olenevalt mudelist ja lõpp-punktist teksti, pilte, lühivideoid ja heli. Reka pakub eraldi teenuseid ka kasutusjuhtudeks, kus ühest vestluspäringust ei piisa:

  • Chat API: Üldine teksti- ja multimodaalne inferents, voogedastus ning tööriistad.
  • Reka Gateway: Ühine liides Reka mudelite ja valitud täiendavate mudelite kasutamiseks.
  • Reka Research: Veebi toel tehtav uurimine ja analüüs koos tööriistategevuste, allikate metaandmete, voogedastuse ja dokumenteeritud JSON-skeemi väljundiga.
  • Reka Vision: Püsiv video- ja piltide üleslaadimine, indekseerimine, semantiline otsing, videoküsimustele vastamine, sildistamine ja esiletõstetud videoklippide loomine.

Kasuta Chati, kui vajad tavalist mudelipäringut või multimodaalset analüüsi. Kasuta Visionit, kui vajad otsitavat ja püsivat meediakogu. Kasuta Researchi, kui töövoo keskmes on veebiotsing, ühendatud failid, uurimisetapid või rangelt struktureeritud vastused.

Kuidas saada juurdepääs ja API-võti?

Loo Reka Platformil konto ja genereeri võti API Keys'i jaotises. API kasutamine on tasuline vastavalt kasutusele, seega peab kontol olema päringute edukaks töötlemiseks piisavalt krediiti. Kui saldo jõuab nulli, võivad päringud ebaõnnestuda saldo puudumise veaga.

Chat API puhul kasutab praegune dokumentatsioon päist X-Api-Key. Mõnes uuemas Gateway näites kasutatakse Bearer-loa autentimist, seega kontrolli täpseid autentimisjuhiseid vastavalt kasutatavale tootele ja konto seadistusele. Ära avalda võtit brauseri JavaScriptis, mobiilirakenduses, avalikus koodirepositooriumis ega kliendipoolses HTML-is. Saada päringud serveri või muu usaldusväärse keskkonna kaudu.

Enne tootmisintegratsiooni loomist kontrolli valitud teenuse dokumentatsioonist nelja väärtust: baasaadress, autentimispäis, mudeli või lõpp-punkti tunnus ning kehtivad hinnastamis- ja säilitamisreeglid. Chat, Research, Gateway ja Vision on seotud tooted, kuid need ei ole omavahel asendatavad lõpp-punktid.

Millise API ja mudeli peaksid valima?

Esimese integratsiooni puhul alusta Chat API-st ja mõnest üldotstarbelisest saadaolevast mudelist, näiteks reka-flash. Avalikult dokumenteeritud mudelitunnused hõlmavad reka-flash ja reka-edge; Gateway kataloogis on loetletud ka näiteks reka-flash-3 ja reka-edge-2603. Saadaolev kataloog võib sõltuda kontost ja muutuda, seega küsi või vaata alati kehtivat mudelidokumentatsiooni, selle asemel et eeldada püsivalt iga tunnuse kättesaadavust.

NõueSoovitatav liidesMiks
Tavaline vestlus või multimodaalne inferentsChat APIOpenAI-ga ühilduvad sõnumid ja vestluse lõpetamised
Veebi toel tehtav uurimine ja analüüsReka ResearchUurimistööriistad, allikate metaandmed, voogedastus ja struktureeritud väljund
Meediakogu läbiv otsingReka VisionÜleslaadimine, indekseerimine, semantiline otsing, videoküsimused ja metaandmete töövood
Mitme saadaoleva mudelipakkuja kasutamine ühe liidese kauduReka GatewayÜhine lüüsijuurdepääs Reka ja valitud täiendavatele mudelitele

Esitatud dokumentatsioonis ei ole avalikult dokumenteeritud püsivat Assistants API-t ega teenusepakkuja hallatavat lõimede ja käivituste käituskeskkonda. Kui rakendus vajab püsivaid vestlusi, tööriistade olekut või failide omandiõiguse haldamist, hoia seda olekut enda andmebaasis ja rakendusekihis.

Kuidas teha esimene Reka API päring?

Lihtsaim praegune lahendus kasutab OpenAI Pythoni paketti koos Reka baasaadressi ja API-võtmega. Paigalda pakett ja määra võti keskkonnas:

pip install openai
export REKA_API_KEY="your_api_key"

Seejärel saada chat-completions-päring:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.reka.ai/v1",
    api_key=os.environ["REKA_API_KEY"],
)

response = client.chat.completions.create(
    model="reka-flash",
    messages=[
        {"role": "system", "content": "You are a concise technical assistant."},
        {"role": "user", "content": "Explain HTTP streaming in two sentences."},
    ],
)

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

REST-päringu samaväärne variant kasutab POST /v1/chat/completions:

curl --fail-with-body -sS https://api.reka.ai/v1/chat/completions 
  -H "X-Api-Key: ${REKA_API_KEY}" 
  -H "Content-Type: application/json" 
  -d '{
    "model": "reka-flash",
    "messages": [
      {"role": "user", "content": "Explain HTTP streaming in two sentences."}
    ],
    "stream": false
  }'

JavaScriptis on praegune OpenAI SDK muster sarnane:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.reka.ai/v1",
  apiKey: process.env.REKA_API_KEY,
});

const response = await client.chat.completions.create({
  model: "reka-flash",
  messages: [
    { role: "user", content: "Explain multi-turn chat in two sentences." },
  ],
});

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

Kuidas vastust mõista?

Edukas Chat API vastus järgib tuttavat chat-completions-struktuuri. Genereeritud assistendi sõnum on Pythoni SDK-s tavaliselt saadaval asukohas response.choices[0].message.content või JavaScriptis vastava choices[0].message.content atribuudi kaudu.

Ära eelda, et iga vastus sisaldab tavalist teksti. Päring võib lõpliku vastuse asemel tagastada tööriistakutsed ning voogedastatud vastused saabuvad järkjärguliste osadena. Rakendus peaks kontrollima vastuse tüüpi ja käsitlema asjakohaselt tühja või tööriistadele suunatud sisu. Tootmiskoodis kontrolli ka HTTP olekukoode ja veaobjekte, mitte ära prindi ainult vastuse keha.

Kuidas Reka API hinnastamine toimib?

Reka Chat kasutab kasutuspõhist hinnastamist, mis põhineb peamiselt sisend- ja väljundmärgendite kasutusel. Esitatud uuringus avaldatud Chati hinnad on järgmised:

MudelSisendVäljund
Reka Edge$0.10 miljoni märgendi kohta$0.10 miljoni märgendi kohta
Reka Flash$0.80 miljoni märgendi kohta$2.00 miljoni märgendi kohta
Reka Core$2.00 miljoni märgendi kohta$6.00 miljoni märgendi kohta

Piltide, videote ja heli sisendid võivad kaasa tuua lisatasusid. Reka Gateway kuvab mudelipõhised hinnad ja märgib, et platvormitasu ega juurdehindlust ei ole. Hinnad ja mudelite saadavus võivad muutuda, seega peaksid tootmissüsteemid vanade eelduste kõvakodeerimise asemel kasutama kehtivat kataloogi ja hinnastamislehti.

Reka Vision kasutab teistsuguseid ühikuid. Avaldatud arendajahinnad hõlmavad video indekseerimist hinnaga $0.05 sisendvideo minuti kohta, piltide üleslaadimist hinnaga $10 miljoni pildi kohta, pildiotsingut hinnaga $0.003 otsingu kohta ja videoklippide loomist hinnaga $0.04 sisendvideo minuti kohta; 1080p-väljundi loomise eest lisandub eraldi tasu. Neid Visioni tasusid ei tohiks kulude hindamisel segada Chati märgendihindadega.

Millistele võimalustele arendajad juurde pääsevad?

Multimodaalne sisend

Chat-päringud võivad sisaldada teksti ning toetatud pildi-, video- või helisisendeid. Näiteks saab pildi edastada image_url sisuüksusena:

const response = await client.chat.completions.create({
  model: "reka-flash",
  messages: [
    {
      role: "user",
      content: [
        {
          type: "image_url",
          image_url: {
            url: "https://v0.docs.reka.ai/_images/000000245576.jpg",
          },
        },
        { type: "text", text: "Describe the main subject of this image." },
      ],
    },
  ],
});

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

Sisenditugi sõltub mudelist ja lõpp-punktist. Suurte meediakogude puhul kasuta Visioni üleslaadimis- ja indekseerimistöövoogu, selle asemel et lisada samu faile korduvalt eraldi Chat-päringutele.

Vastuste voogedastus

Määra stream väärtuseks true, et saada genereeritud teksti järk-järgult. Voogedastus on interaktiivsete liideste puhul kasulik, sest kasutaja näeb väljundit juba mudeli genereerimise ajal:

const stream = await client.chat.completions.create({
  model: "reka-flash",
  stream: true,
  messages: [
    { role: "user", content: "Write a short explanation of API streaming." },
  ],
});

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

Voogedastus muudab vastuste tarbimise viisi, kuid ei kaota vajadust ajalõppude, vigade käsitlemise ega kasutuse jälgimise järele.

Tööriistade ja funktsioonide kutsumine

Chat toetab tööriistade määratlusi ja tööriistavaliku juhtimist. Tööriista määratlus kirjeldab funktsiooni, mida sinu rakendus saab käivitada. Mudel võib seda funktsiooni taotleda, kuid toimingu peab tegema sinu rakendus, mitte Reka, ning tagastama tulemuse vestluse järgmises etapis.

const response = await client.chat.completions.create({
  model: "reka-flash",
  messages: [
    { role: "user", content: "What is the weather in Boston?" },
  ],
  tools: [
    {
      type: "function",
      function: {
        name: "get_weather",
        description: "Get the current weather for a city",
        parameters: {
          type: "object",
          properties: { city: { type: "string" } },
          required: ["city"],
        },
      },
    },
  ],
  tool_choice: "auto",
});

console.log(response.choices[0].message.tool_calls);

Kontrolli tööriista argumente enne käivitamist ning rakenda enda autoriseerimist, päringumäärasid ja turvakontrolle. Tööriistade kutsumine on rakenduse integratsioonimuster, mitte tõend selle kohta, et Rekal oleks automaatselt juurdepääs sinu süsteemidele.

Failid ja meedia

Failide ja meedia töötlemine on võimalik multimodaalsete Chat-sisendite ning eraldi Visioni teenuse kaudu. Vision toetab videote ja piltide kohalikke multipart-üleslaadimisi või allika URL-e, millele järgnevad indekseerimine ja sellised toimingud nagu otsing, küsimustele vastamine, sildistamine ja klippide loomine.

Reka dokumenteerib ka peenhäälestust teenusena, mille puhul osaleb nende insenerimeeskond. Esitatud dokumentatsioon ei kinnita iseteeninduslikku Chati peenhäälestuse lõpp-punkti, seega ära kavanda integratsiooni selle ümber ilma kehtivat kommertslepingut kinnitamata.

Struktureeritud väljund

Reka Research dokumenteerib objekti response_format, mis kasutab JSON-skeemi. See on dokumenteeritud ja sobiv lahendus, kui rakendus vajab uurimispäringust rangelt masinloetavat väljundit. Chati ülddokumentatsioon käsitleb samuti assistendi väljundi suunamist viipade abil, kuid seda ei tohiks pidada range skeemi jõustamisega samaväärseks, välja arvatud juhul, kui lõpp-punkt seda sõnaselgelt toetab.

Millal kasutada Researchi või Visionit?

Reka Research kasutab veebiotsingu ja analüüsi töövoogude jaoks spetsiaalset reka-flash-research võimekust. See võib kuvada tööriistadega seotud arutluskäigu etappe, tagastada allikate metaandmeid, toetada voogedastust ja töötada toetatud töövoogudes ühendatud privaatsete failidega. See sobib tavalisest Chatist paremini siis, kui rakendus vajab uurimisprotsessi, mitte üksikut mudelivastust.

Reka Vision on mõeldud püsivateks meediatöövoogudeks. Tüüpiline töövoog on järgmine:

  1. Laadi pilt või video Visioni teenusesse üles.
  2. Indekseeri meedia hilisemaks leidmiseks.
  3. Otsi indekseeritud kogust või esita video kohta küsimusi.
  4. Esita päring siltide, kokkuvõtete või loodud esiletõstetud klippide saamiseks.

Vision pakub ka voogedastusega küsimustele vastamist ja MCP-serverit ühilduvatele agentklientidele. Selle baasaadress on https://vision-agent.api.reka.ai, mis erineb Chati baasaadressist.

SDK-d, dokumentatsioon ja mänguväljad

Lihtsaim SDK-lahendus on kasutada ametlikku OpenAI Pythoni või JavaScripti paketti koos Reka ühilduva baasaadressiga. Ametlikud näited hõlmavad ka Go-d, Java-t ja REST-päringuid. Esitatud uuringus ei õnnestunud spetsiaalset Reka SDK-d kinnitada.

Dokumentatsioon on saadaval aadressil docs.reka.ai ning arendaja mänguvälja või Gateway keskkonna leiab aadressilt developer.reka.ai. Kasuta konkreetse lõpp-punkti dokumentatsiooni, selle asemel et eeldada, et Chati autentimine, Visioni autentimine, hinnastamine või säilitamisreeglid kehtivad kõikjal ühtemoodi.

Olulised piirangud ja tootmiskasutuse kaalutlused

Üldise Chati päringumäärasid ei ole läbi vaadatud avalikus viitedokumentatsioonis põhjalikult kirjeldatud. Vision dokumenteerib jooksva 24-tunnise võtme kohta järgmised piirangud: 100 pildi üleslaadimist, 100 pildiotsingut, 50 video üleslaadimist, 50 videootsingut ja 10 klipi loomise päringut. Ettevõttekliendid võivad taotleda suuremaid limiite.

Muud tootmiskasutuse kaalutlused:

  • Eraldi tooteliidesed: Chatil, Researchil, Gatewayl ja Visionil on erinevad URL-id, autentimistavad, hinnastamisühikud ja toetatud funktsioonid.
  • Muutuvad kataloogid: Mudelite tunnused ja saadavus võivad muutuda, seega kinnita need enne juurutamist ning jälgi kättesaamatute mudelite põhjustatud tõrkeid.
  • Meedia säilitamine: Üleslaaditud faile võidakse ajutiselt talletada ja need võidakse kustutada kindla ajavahemiku, näiteks 24 tunni jooksul, olenevalt funktsioonist. Visioni dokumentatsiooni kohaselt kustutatakse indekseeritud videote salvestised automaatselt 30 päeva pärast, kuid ettevõttekokkulepped võivad erineda.
  • Treeninguvalikud: Kehtiva privaatsuspoliitika kohaselt võidakse tasuta kasutuse, sealhulgas reklaam-API krediitide kaudu tehtud suhtlusi kasutada mudelite treenimiseks ja täiustamiseks, välja arvatud Google Drive'ist pärinev sisu. Tasulised kasutajad saavad konto seadetes või Rekaga ühendust võttes valida, kas Reka võib kasutada viipasid ja väljundeid täiustamiseks.
  • Töökindlus: Rakenda ajutiste tõrgete korral korduskatseid, selgeid ajalõppe, saldo jälgimist, saladusi välistavat päringute logimist ning päringumäära ja ebapiisava saldo vigade käsitlemist.
  • Rakenduse olek: Hoia vestlusajalugu, kasutajaõigusi, tööriistade tulemusi ja püsivaid failide metaandmeid enda rakenduses, välja arvatud juhul, kui eraldi dokumenteeritud teenus seda olekut pakub.

Arendajatele mõeldud eelised ja piirangud

Reka API on eriti atraktiivne siis, kui olulised on OpenAI-ga ühilduv integratsioon, multimodaalne sisend, video mõistmine või tõhus juurdepääs mudelitele. Sama platvorm hõlmab tavalist vestlust, uurimistööriistu ja meedia indekseerimist ning valitud mudeleid saab toetatud juhtudel kasutada lüüsi kaudu või kohapeal.

Peamised piirangud tulenevad mitme API-liidese tekitatud keerukusest ja üldise Chati päringumäärade kohta avalikult kättesaadava teabe puudulikkusest. Tarbija- ja arendajatoodete piirid võivad muutuda, mudelite saadavus ei ole kõigil kontodel tagatud ning tundlike töövoogude puhul tuleb säilitamis- ja treeningutingimused hoolikalt üle vaadata. Meeskonnad, kes otsivad küpset teenusepakkuja hallatavat assistendi käituskeskkonda, laia loomulikku kliendiraamistikku või täielikult ühtset autentimis- ja arveldusmudelit, võivad pidada seda platvormi vähem mugavaks.

  1. Loo Reka Platformi konto ja genereeri API-võti.
  2. Testi POST https://api.reka.ai/v1/chat/completions OpenAI Pythoni või JavaScripti SDK-ga.
  3. Kasuta esimeses prototüübis saadaolevat üldotstarbelist mudelit, näiteks reka-flash.
  4. Lisa voogedastus, kui rakendusel on interaktiivne kasutajaliides.
  5. Lisa tööriistad alles pärast seda, kui oled rakenduses määratlenud valideerimise, autoriseerimise ja tõrgete käsitlemise.
  6. Kasuta Researchi veebi toel tehtava analüüsi või dokumenteeritud struktureeritud väljundi jaoks.
  7. Kasuta Visionit püsivaks video- või pildiindekseerimiseks, otsinguks, videoküsimustele vastamiseks, sildistamiseks või klippide loomiseks.
  8. Enne tootmiskasutust kontrolli konkreetse lõpp-punkti puhul kehtivaid mudelitunnuseid, hindu, limiite, säilitamisreegleid ja andmekasutuse seadeid.
Allikad 17