Kontentga o'tish
O‘rnatilgan veb qidiruv

O‘rnatilgan veb qidiruv

web_search: true ni o'rnating va model javobini jonli natijalar bilan asoslaydi.

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

Javob oddiy chat completion, unga ikkita qo'shimcha bor. Javob qidiruv natijalariga kvadrat qavsdagi raqamlar bilan ishora qiladi, sources har bir raqam nimani bildirishini aytadi, annotations esa har biri qayerda keltirilganini belgilaydi:

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"
    }
  ]
}

Qidiruvni yoqish

Qidiruv so'rovning maydoni, odatda o'chiq. So'rov uni yubormasa, hech narsa qidirilmaydi.

Maydon Tur Standart Tavsif Qo'llaydi
web_search boolean false true bu so'rov uchun veb-qidiruvni ishga tushiradi va natijalarni model javob berishdan oldin unga beradi. shannon-coder-1 dan tashqari har bir Shannon modeli
Endpoint Veb-qidiruv Qanday
/v1/chat/completions Ha So'rov tanasida "web_search": true.
/v1/messages Ha So'rov tanasida "web_search": true.
/v1/responses — Bu endpoint faqat modelning o'zidan javob beradi. Qidiruv bilan javob uchun yuqoridagi ikkitadan birini ishlating.

/v1/messages da maydon tananing eng yuqori darajasida, model va messages yonida turadi:

So'rov tanasi
{
  "model": "shannon-3",
  "web_search": true,
  "messages": [
    {
      "role": "user",
      "content": "What is the weather forecast for Lisbon this weekend?"
    }
  ]
}

Qidiruvli so'rov nima qiladi

  • API oxirgi foydalanuvchi xabari bo'yicha veb'da qidiradi. Suhbatning oldingi bosqichlari qidiruvga kontekst beradi.
  • Qidiruv web_search: true yuborgan har bir so'rovda bajariladi. Qidirish-qidirmaslikni model tanlamaydi.
  • Natijalar modelning oldiga raqamlangan manbalar sifatida qo'yiladi va model javobini ulardan yozadi.
  • Javob qidiruv tugagach boshlanadi. Oqimli so'rov shu paytgacha na sarlavha, na hodisa yuboradi, shuning uchun birinchi chunk'gacha uzoqroq kutishni hisobga oling.

Javobda nima bor

  • Javob o'z endpointining odatiy shaklida bo'ladi. Javob choices[0].message.content da (/v1/messages da text bloki).
  • Matnda o'zi tasdiqlaydigan gaplardan keyin [1] va [2] kabi belgilar bo'lishi mumkin. Har bir raqam model o'qigan natijalardan biriga mos keladi.
  • sources shu natijalarni nomlaydi: modelga berilgan har bir natija uchun bitta yozuv, index, title va url bilan. [1] belgisi index 1 bo'lgan yozuvdir. Javobda keltirilmagan natijalar ham ro'yxatda bor.
  • /v1/chat/completions da xabarda yana OpenAI shaklidagi annotations bo'ladi: belgi nomlagan har bir manba uchun bitta url_citation, url, title hamda start_index va end_index bilan; ular belgining content dagi o'rnini belgilar bilan sanab ko'rsatadi (oxiri kirmaydi).
  • Streamda sources oxirgi chunk bilan keladi, /v1/messages da esa message_delta eventi bilan. Annotationlar oxirgisidan oldingi bitta chunkda delta.annotations sifatida keladi.
  • sources faqat shu so'rovning qidiruvi nimadir topgan bo'lsa bo'ladi. Bu maydonsiz javob qidiruv natijalarisiz yozilgan.

Qidiruvlar qanday sanaladi

Har bir reja kuniga ma'lum miqdordagi qidiruvni o'z ichiga oladi:

Reja Kuniga qidiruvlar
Bepul 3
Plyus 30
Standard 50
Kasbiy 60
  • Qidiruv biror narsa topgan so'rov kunlik limitdan bitta qidiruvni sarflaydi. Hech narsa topmagan qidiruv hech narsa sarflamaydi.
  • Chat va API kalit egasi bo'lgan akkauntning limitini birga ishlatadi.
  • Hisob har kuni 00:00 UTC da qaytadan boshlanadi.
  • Qidiruv natijalari so'rovning kirish tokenlari bo'ladi va promptning qolgan qismi bilan birga hisoblanadi.

Rejalarni solishtiring

Kunlik qidiruvlar tugaganda

Kunning oxirgi qidiruvidan keyin web_search: true yuborgan so'rov rad etilmaydi. U qidiruvsiz javob oladi: holat 200, javobda esa sources yo'q.

Qidiruv o'zingizning tool'ingiz sifatida

web_search: true bu yerda tasvirlangan qidiruvning yagona kalitidir. tools da o'zingiz belgilagan va web_search deb atagan funksiya o'zingizning tool'ingiz: model chaqiruv qaytaradi, qidiruvni esa kodingiz bajaradi va natijani qaytarib yuboradi.

Boshqa platformalarning qidiruv tool turlari, masalan /v1/messages dagi web_search_20250305 yoki /v1/responses dagi {"type": "web_search"}, bu yerda qidiruvni boshlamaydi.

Xatolar

Veb-qidiruv na holat kodi, na xato turini qo'shadi. Hech narsa topmagan qidiruv yoki qidiruvlari qolmagan kun qidiruv natijalarisiz oddiy javob beradi. Boshqa har bir xato qidiruvsiz so'rovdagi bilan bir xil. Xatolarni boshqarish