Pāriet uz saturu
Tīmekļa meklēšana

Tīmekļa meklēšana

Iestatiet web_search: true, un modelis atbildi pamato ar aktuāliem rezultātiem.

POST https://api.shannon-ai.com/v1/chat/completions

Atbilde ir parasta čata pabeigšana ar diviem papildinājumiem. Atbilde ar skaitļiem kvadrātiekavās norāda uz meklēšanas rezultātiem, sources pasaka, ko katrs skaitlis nozīmē, un annotations atzīmē, kur katrs no tiem ir citēts:

200 JSON
{
  "id": "chatcmpl-3e5a7c9b1d2f4a6c8e0b2d4f6a8c1e3b",
  "object": "chat.completion",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Saturday in Lisbon is forecast to be sunny with a high near 24 °C [1]. Sunday turns cloudy, with a chance of light rain in the afternoon [2].",
        "reasoning_content": null,
        "annotations": [
          {
            "type": "url_citation",
            "url_citation": {
              "start_index": 66,
              "end_index": 69,
              "url": "https://weather.example/lisbon/weekend",
              "title": "Lisbon weather: weekend outlook"
            }
          },
          {
            "type": "url_citation",
            "url_citation": {
              "start_index": 137,
              "end_index": 140,
              "url": "https://forecast.example/pt/lisbon/sunday",
              "title": "Sunday forecast for Lisbon"
            }
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 2874,
    "completion_tokens": 41,
    "total_tokens": 2915
  },
  "sources": [
    {
      "index": 1,
      "title": "Lisbon weather: weekend outlook",
      "url": "https://weather.example/lisbon/weekend"
    },
    {
      "index": 2,
      "title": "Sunday forecast for Lisbon",
      "url": "https://forecast.example/pt/lisbon/sunday"
    },
    {
      "index": 3,
      "title": "Portugal: the week ahead",
      "url": "https://news.example/portugal/weather-week"
    }
  ]
}

Meklēšanas ieslēgšana

Meklēšana ir pieprasījuma lauks, pēc noklusējuma izslēgts. Nekas netiek meklēts, ja pieprasījums to nesūta.

Lauks Tips Noklusējums Apraksts Piemēro
web_search boolean false true palaiž meklēšanu tīmeklī šim pieprasījumam un nodod rezultātus modelim pirms atbildes. Katrs Shannon modelis, izņemot shannon-coder-1
Galapunkts Meklēšana tīmeklī Kā
/v1/chat/completions Jā "web_search": true pieprasījuma pamattekstā.
/v1/messages Jā "web_search": true pieprasījuma pamattekstā.
/v1/responses — Šis galapunkts atbild tikai no paša modeļa. Atbildei ar meklēšanu izmantojiet vienu no augstāk minētajiem diviem.

Galapunktā /v1/messages lauks atrodas pamatteksta augšējā līmenī, blakus model un messages:

Pieprasījuma pamatteksts
{
  "model": "shannon-3",
  "web_search": true,
  "messages": [
    {
      "role": "user",
      "content": "What is the weather forecast for Lisbon this weekend?"
    }
  ]
}

Ko dara pieprasījums ar meklēšanu

  • API meklē tīmeklī pēc pēdējā lietotāja ziņojuma. Sarunas iepriekšējie gājieni dod meklēšanai kontekstu.
  • Meklēšana tiek veikta katram pieprasījumam, kas sūta web_search: true. Modelis neizvēlas, vai meklēt.
  • Rezultāti tiek nolikti modeļa priekšā kā numurēti avoti, un modelis raksta atbildi no tiem.
  • Atbilde sākas, kad meklēšana ir pabeigta. Straumēts pieprasījums līdz tam neko nesūta, ne galvenes, ne notikumus, tāpēc rēķinieties ar ilgāku gaidīšanu pirms pirmās daļas.

Ko atbilde satur

  • Atbildei ir sava galapunkta parastā forma. Atbilde ir laukā choices[0].message.content (bloks text galapunktā /v1/messages).
  • Tekstā var būt atzīmes, piemēram, [1] un [2], aiz apgalvojumiem, kurus tās apliecina. Katrs skaitlis atbilst vienam no rezultātiem, ko modelis nolasīja.
  • sources nosauc šos rezultātus: viens ieraksts katram rezultātam, kas dots modelim, ar index, title un url. Atzīme [1] ir ieraksts ar index 1. Rezultāti, kurus atbilde necitē, sarakstā ir arī iekļauti.
  • Galapunktā /v1/chat/completions ziņojumā ir arī annotations OpenAI formā: viens url_citation katram avotam, ko nosauc atzīme, ar url, title, kā arī start_index un end_index – atzīmes pozīciju laukā content, skaitītu rakstzīmēs (beigu pozīcija netiek ieskaitīta).
  • Straumē sources nāk ar pēdējo daļu, bet galapunktā /v1/messages – ar notikumu message_delta. Anotācijas nāk vienā daļā tieši pirms pēdējās kā delta.annotations.
  • sources ir tikai tad, ja šī pieprasījuma meklēšana kaut ko atrada. Atbilde bez tā ir uzrakstīta bez meklēšanas rezultātiem.

Kā meklējumi tiek skaitīti

Katrs plāns ietver noteiktu meklējumu skaitu dienā:

Plāns Meklējumi dienā
Bezmaksas 3
Papildus 30
Standard 50
Profesionāls 60
  • Pieprasījums, kura meklēšana kaut ko atrada, izmanto vienu meklējumu no dienas kvotas. Meklēšana, kas neko neatrada, neizmanto nevienu.
  • Čats un API dala tā konta kvotu, kuram pieder atslēga.
  • Skaitīšana sākas no jauna katru dienu plkst. 00:00 UTC.
  • Meklēšanas rezultāti ir pieprasījuma ievades tokeni, un tie tiek rēķināti kopā ar pārējo uzvedni.

Salīdzināt plānus

Kad dienas meklējumi ir izlietoti

Pieprasījums, kas sūta web_search: true pēc dienas pēdējā meklējuma, netiek noraidīts. Uz to atbild bez meklēšanas: statuss ir 200, un atbildē nav sources.

Meklēšana kā jūsu pašu rīks

web_search: true ir vienīgais šeit aprakstītās meklēšanas slēdzis. Funkcija, ko definējat laukā tools un nosaucat web_search, ir viens no jūsu pašu rīkiem: modelis atgriež izsaukumu, un jūsu kods palaiž meklēšanu un sūta rezultātu atpakaļ.

Citu platformu meklēšanas rīku tipi, piemēram, web_search_20250305 galapunktā /v1/messages vai {"type": "web_search"} galapunktā /v1/responses, šeit meklēšanu nesāk.

Kļūdas

Meklēšana tīmeklī nepievieno ne statusa kodu, ne kļūdas tipu. Meklēšana, kas neko neatrod, vai diena bez atlikušiem meklējumiem dod parastu atbildi bez meklēšanas rezultātiem. Katra cita kļūda ir tāda pati kā pieprasījumam bez meklēšanas. Kļūdu apstrāde