मजकुराकडे जा
Built‑in Web Search

Built‑in Web Search

web_search: true सेट करा आणि मॉडेल लाईव्ह निकालांच्या आधारे उत्तर देते.

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

उत्तर हे सामान्य चॅट कंप्लीशन असते, त्यात दोन भर असतात. उत्तर चौकोनी कंसातील संख्यांनी शोध निकालांकडे निर्देश करते, 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-coder-1 खेरीज प्रत्येक Shannon मॉडेल
एंडपॉइंट वेब शोध कसे
/v1/chat/completions होय रिक्वेस्ट बॉडीमध्ये "web_search": true.
/v1/messages होय रिक्वेस्ट बॉडीमध्ये "web_search": true.
/v1/responses — हा एंडपॉइंट फक्त मॉडेलकडून उत्तर देतो. शोधासह उत्तरासाठी वरील दोनपैकी एक वापरा.

/v1/messages वर फील्ड बॉडीच्या वरच्या स्तरावर, model आणि messages शेजारी असते:

रिक्वेस्ट बॉडी
{
  "model": "shannon-3",
  "web_search": true,
  "messages": [
    {
      "role": "user",
      "content": "What is the weather forecast for Lisbon this weekend?"
    }
  ]
}

शोध असलेली रिक्वेस्ट काय करते

  • API शेवटच्या युजर संदेशासाठी वेबवर शोध घेते. संभाषणातील आधीचे टर्न्स शोधाला संदर्भ देतात.
  • web_search: true पाठवणाऱ्या प्रत्येक रिक्वेस्टवर शोध चालतो. शोधायचे की नाही हे मॉडेल ठरवत नाही.
  • निकाल क्रमांक दिलेले स्रोत म्हणून मॉडेलसमोर ठेवले जातात, आणि मॉडेल त्यांवरून उत्तर लिहिते.
  • शोध पूर्ण झाल्यावर उत्तर सुरू होते. स्ट्रीम केलेली रिक्वेस्ट तोपर्यंत हेडर किंवा इव्हेंट्स काहीही पाठवत नाही, म्हणून पहिल्या चंकपूर्वी जास्त प्रतीक्षेसाठी तयार राहा.

उत्तरात काय असते

  • उत्तराचे स्वरूप त्याच्या एंडपॉइंटचे नेहमीचे असते. उत्तर choices[0].message.content मध्ये असते (/v1/messages वर text ब्लॉक).
  • मजकुरात त्यांना आधार देणाऱ्या विधानांनंतर [1] आणि [2] सारख्या खुणा असू शकतात. प्रत्येक संख्या मॉडेलने वाचलेल्या निकालांपैकी एकाचे प्रतिनिधित्व करते.
  • sources त्या निकालांची नावे देते: मॉडेलला दिलेल्या प्रत्येक निकालासाठी एक नोंद, ज्यात index, title आणि url असतात. खूण [1] म्हणजे index 1 असलेली नोंद. उत्तरात ज्यांचा उल्लेख नाही असे निकालही यादीत असतात.
  • /v1/chat/completions वर संदेशात annotations देखील असतात, OpenAI च्या स्वरूपात: खूण ज्या स्रोताचे नाव देते त्या प्रत्येकासाठी एक url_citation, ज्यात url, title, तसेच start_index आणि end_index असतात; हे content मधील खुणेचे स्थान असून ते अक्षरांमध्ये मोजले जाते (शेवट समाविष्ट नाही).
  • स्ट्रीममध्ये sources शेवटच्या चंकसोबत येते, आणि /v1/messages वर message_delta इव्हेंटसोबत. annotations शेवटच्या चंकच्या अगदी आधीच्या एका चंकमध्ये delta.annotations म्हणून येतात.
  • या रिक्वेस्टच्या शोधात काही सापडले तरच sources असते. ते नसलेले उत्तर शोध निकालांशिवाय लिहिले गेले आहे.

शोध कसे मोजले जातात

प्रत्येक प्लॅनमध्ये प्रति दिवस ठरावीक शोध समाविष्ट आहेत:

प्लॅन प्रति दिवस शोध
विनामूल्य 3
प्लस 30
Standard 50
प्रो 60
  • ज्या रिक्वेस्टच्या शोधाला काहीतरी सापडले ती दिवसाच्या कोट्यातील एक शोध वापरते. काहीच न सापडलेला शोध काहीही वापरत नाही.
  • चॅट आणि API कीच्या मालक अकाउंटचा कोटा वाटून घेतात.
  • मोजणी दररोज 00:00 UTC ला पुन्हा सुरू होते.
  • शोध निकाल रिक्वेस्टची इनपुट टोकन्स असतात आणि प्रॉम्प्टच्या बाकीच्या भागासोबत बिल केले जातात.

प्लॅन्सची तुलना करा

दिवसाचे शोध संपल्यावर

दिवसाचा शेवटचा शोध वापरल्यानंतर web_search: true पाठवणारी रिक्वेस्ट नाकारली जात नाही. तिला शोधाशिवाय उत्तर दिले जाते: स्टेटस 200 असते आणि उत्तरात sources नसते.

तुमचे स्वतःचे टूल म्हणून शोध

web_search: true हा येथे वर्णन केलेल्या शोधाचा एकमेव स्विच आहे. तुम्ही tools मध्ये परिभाषित करून web_search नाव दिलेले फंक्शन तुमचेच टूल आहे: मॉडेल कॉल परत करते, आणि तुमचा कोड शोध चालवून निकाल परत पाठवतो.

इतर प्लॅटफॉर्म्सचे शोध टूल प्रकार, जसे /v1/messages वर web_search_20250305 किंवा /v1/responses वर {"type": "web_search"}, येथे शोध सुरू करत नाहीत.

त्रुटी

वेब शोध कोणताही नवा स्टेटस कोड किंवा त्रुटी प्रकार जोडत नाही. काहीच न सापडणारा शोध, किंवा शोध शिल्लक नसलेला दिवस, शोध निकालांशिवाय सामान्य उत्तर देतो. इतर प्रत्येक त्रुटी शोधाशिवायच्या रिक्वेस्टप्रमाणेच आहे. त्रुटी हाताळणी