Անցնել բովանդակությանը
Ներկառուցված վեբ որոնում

Ներկառուցված վեբ որոնում

Սահմանեք web_search: true, և մոդելը իր պատասխանը հիմնավորում է կենդանի արդյունքներով։

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

Պատասխանը սովորական chat completion է երկու հավելումով։ Պատասխանը քառակուսի փակագծերում թվերով հղվում է որոնման արդյունքներին, sources-ը ասում է, թե յուրաքանչյուր թիվ ինչ է ներկայացնում, իսկ annotations-ը նշում է, թե որտեղ է մեջբերվում դրանցից յուրաքանչյուրը.

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

Որոնման միացում

Որոնումը հարցման դաշտ է, լռելյայն անջատված։ Ոչինչ չի որոնվում, եթե հարցումը չուղարկի այն։

Դաշտ Տեսակ Լռելյայն Նկարագրություն Կիրառվում է
web_search boolean false true-ն այս հարցման համար կատարում է վեբ որոնում և արդյունքները տալիս է մոդելին՝ պատասխանելուց առաջ։ Յուրաքանչյուր Shannon մոդել, բացի shannon-coder-1-ից
Endpoint Վեբ որոնում Ինչպես
/v1/chat/completions Այո "web_search": true հարցման մարմնում։
/v1/messages Այո "web_search": true հարցման մարմնում։
/v1/responses — Այս endpoint-ը պատասխանում է միայն մոդելից։ Որոնմամբ պատասխանի համար օգտագործեք վերևի երկուսից մեկը։

/v1/messages-ում դաշտը գտնվում է մարմնի վերին մակարդակում՝ model-ի և messages-ի կողքին.

Հարցման մարմին
{
  "model": "shannon-3",
  "web_search": true,
  "messages": [
    {
      "role": "user",
      "content": "What is the weather forecast for Lisbon this weekend?"
    }
  ]
}

Ինչ է անում որոնմամբ հարցումը

  • API-ն որոնում է վեբում՝ վերջին user հաղորդագրության համար։ Զրույցի նախորդ փուլերը որոնմանը տալիս են համատեքստ։
  • Որոնումը կատարվում է web_search: true ուղարկող յուրաքանչյուր հարցման վրա։ Մոդելը չի ընտրում՝ որոնել թե ոչ։
  • Արդյունքները մոդելի առաջ դրվում են որպես համարակալված աղբյուրներ, և մոդելը իր պատասխանը գրում է դրանցից։
  • Պատասխանը սկսվում է, երբ որոնումն ավարտվում է։ Streaming հարցումը մինչ այդ ոչինչ չի ուղարկում՝ ո՛չ header-ներ, ո՛չ իրադարձություններ, ուստի առաջին chunk-ից առաջ հաշվի առեք ավելի երկար սպասում։

Ինչ է պարունակում պատասխանը

  • Պատասխանն ունի իր endpoint-ի սովորական կառուցվածքը։ Պատասխանը choices[0].message.content-ում է (text բլոկ /v1/messages-ում)։
  • Տեքստը կարող է կրել [1] և [2] նման նշիչներ՝ իրենց հաստատած պնդումներից հետո։ Յուրաքանչյուր թիվ ներկայացնում է մոդելի կարդացած արդյունքներից մեկը։
  • sources-ը անվանում է այդ արդյունքները՝ մեկ գրառում մոդելին տրված յուրաքանչյուր արդյունքի համար, index, title և url դաշտերով։ [1] նշիչը այն գրառումն է, որի index-ը 1 է։ Նշված են նաև այն արդյունքները, որոնց պատասխանը չի մեջբերում։
  • /v1/chat/completions-ում հաղորդագրությունն ունի նաև annotations OpenAI-ի կառուցվածքով. մեկ url_citation նշիչի անվանած յուրաքանչյուր աղբյուրի համար՝ url, title, ինչպես նաև start_index և end_index դաշտերով՝ նշիչի դիրքը content-ում՝ հաշված նիշերով (վերջը չի ներառվում)։
  • Հոսքում sources-ը գալիս է վերջին chunk-ի հետ, իսկ /v1/messages-ում՝ message_delta իրադարձության հետ։ Annotations-ը գալիս է վերջինից անմիջապես առաջ մեկ chunk-ում՝ որպես delta.annotations։
  • sources-ը կա միայն այն դեպքում, երբ այս հարցման որոնումը ինչ-որ բան է գտել։ Առանց դրա պատասխանը գրվել է առանց որոնման արդյունքների։

Ինչպես են հաշվվում որոնումները

Յուրաքանչյուր պլան ներառում է օրական որոշակի քանակի որոնումներ.

Պլան Որոնումներ օրական
Անվճար 3
Պլյուս 30
Standard 50
Պրո 60
  • Հարցումը, որի որոնումը ինչ-որ բան է գտել, օգտագործում է օրվա թույլտվության մեկ որոնում։ Ոչինչ չգտած որոնումը ոչինչ չի օգտագործում։
  • Չաթը և API-ն կիսում են բանալու սեփականատեր հաշվի թույլտվությունը։
  • Հաշվարկը նորից սկսվում է ամեն օր 00:00 UTC-ին։
  • Որոնման արդյունքները հարցման մուտքի թոքեններ են և գանձվում են prompt-ի մնացած մասի հետ։

Համեմատել պլանները

Երբ օրվա որոնումները սպառվել են

web_search: true ուղարկող հարցումը օրվա վերջին որոնումից հետո չի մերժվում։ Այն պատասխանվում է առանց որոնման. կարգավիճակը 200 է, և պատասխանը sources չունի։

Որոնումը՝ որպես ձեր սեփական գործիք

web_search: true-ը այստեղ նկարագրված որոնման միակ անջատիչն է։ Ֆունկցիան, որը դուք սահմանում եք tools-ում և անվանում web_search, ձեր սեփական գործիքներից մեկն է. մոդելը վերադարձնում է կանչ, իսկ ձեր կոդը կատարում է որոնումը և ուղարկում արդյունքը հետ։

Այլ հարթակների որոնման գործիքի տեսակները, օրինակ՝ web_search_20250305 /v1/messages-ում կամ {"type": "web_search"} /v1/responses-ում, այստեղ որոնում չեն սկսում։

Սխալներ

Վեբ որոնումը չի ավելացնում կարգավիճակի կոդ կամ սխալի տեսակ։ Ոչինչ չգտած որոնումը կամ առանց մնացած որոնումների օրը տալիս է սովորական պատասխան՝ առանց որոնման արդյունքների։ Մնացած յուրաքանչյուր սխալ նույնն է, ինչ առանց որոնման հարցման դեպքում։ Սխալների մշակում