ਸਮੱਗਰੀ ਤੇ ਜਾਓ
ਵੈੱਬ ਖੋਜ

ਵੈੱਬ ਖੋਜ

web_search: true ਸੈੱਟ ਕਰੋ ਅਤੇ ਮਾਡਲ ਆਪਣੇ ਜਵਾਬ ਨੂੰ ਲਾਈਵ ਨਤੀਜਿਆਂ ਨਾਲ ਆਧਾਰਿਤ ਕਰਦਾ ਹੈ।

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

ਜਵਾਬ ਇੱਕ ਆਮ ਚੈਟ 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-coder-1 ਨੂੰ ਛੱਡ ਕੇ ਹਰ Shannon ਮਾਡਲ
ਐਂਡਪੁਆਇੰਟ ਵੈੱਬ ਸਰਚ ਕਿਵੇਂ
/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 ਭੇਜਦੀ ਹੈ। ਮਾਡਲ ਇਹ ਨਹੀਂ ਚੁਣਦਾ ਕਿ ਖੋਜਣਾ ਹੈ ਜਾਂ ਨਹੀਂ।
  • ਨਤੀਜੇ ਨੰਬਰ ਵਾਲੇ ਸਰੋਤਾਂ ਵਜੋਂ ਮਾਡਲ ਦੇ ਸਾਹਮਣੇ ਰੱਖੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਮਾਡਲ ਉਨ੍ਹਾਂ ਤੋਂ ਆਪਣਾ ਜਵਾਬ ਲਿਖਦਾ ਹੈ।
  • ਜਵਾਬ ਖੋਜ ਪੂਰੀ ਹੋਣ ਉੱਤੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਸਟ੍ਰੀਮ ਵਾਲੀ ਰਿਕੁਐਸਟ ਉਦੋਂ ਤੱਕ ਕੁਝ ਨਹੀਂ ਭੇਜਦੀ, ਨਾ headers ਨਾ ਇਵੈਂਟ, ਇਸ ਲਈ ਪਹਿਲੇ ਚੰਕ ਤੋਂ ਪਹਿਲਾਂ ਲੰਬੀ ਉਡੀਕ ਦਾ ਹਿਸਾਬ ਰੱਖੋ।

ਜਵਾਬ ਵਿੱਚ ਕੀ ਹੁੰਦਾ ਹੈ

  • ਜਵਾਬ ਦੀ ਸ਼ਕਲ ਉਸਦੇ endpoint ਦੀ ਆਮ ਸ਼ਕਲ ਹੁੰਦੀ ਹੈ। ਜਵਾਬ 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 ਉਸ ਖਾਤੇ ਦਾ ਭੱਤਾ ਸਾਂਝਾ ਕਰਦੇ ਹਨ ਜੋ key ਦਾ ਮਾਲਕ ਹੈ।
  • ਗਿਣਤੀ ਹਰ ਦਿਨ 00:00 UTC ਉੱਤੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ।
  • ਖੋਜ ਨਤੀਜੇ ਰਿਕੁਐਸਟ ਦੇ ਇਨਪੁਟ ਟੋਕਨ ਹਨ ਅਤੇ ਬਾਕੀ ਪ੍ਰੋਂਪਟ ਦੇ ਨਾਲ ਬਿਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।

ਪਲਾਨਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ

ਜਦੋਂ ਦਿਨ ਦੀਆਂ ਖੋਜਾਂ ਮੁੱਕ ਜਾਣ

ਜੋ ਰਿਕੁਐਸਟ ਦਿਨ ਦੀ ਆਖਰੀ ਖੋਜ ਤੋਂ ਬਾਅਦ web_search: true ਭੇਜਦੀ ਹੈ, ਉਹ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਉਸਦਾ ਜਵਾਬ ਖੋਜ ਤੋਂ ਬਿਨਾਂ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ: ਸਟੇਟਸ 200 ਹੁੰਦਾ ਹੈ ਅਤੇ ਜਵਾਬ ਵਿੱਚ ਕੋਈ sources ਨਹੀਂ ਹੁੰਦਾ।

ਆਪਣੇ ਟੂਲ ਵਜੋਂ ਖੋਜ

web_search: true ਇੱਥੇ ਦੱਸੀ ਖੋਜ ਦਾ ਇੱਕੋ ਇੱਕ ਸਵਿੱਚ ਹੈ। ਜੋ ਫੰਕਸ਼ਨ ਤੁਸੀਂ tools ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹੋ ਅਤੇ ਜਿਸਦਾ ਨਾਮ web_search ਰੱਖਦੇ ਹੋ, ਉਹ ਤੁਹਾਡਾ ਆਪਣਾ ਟੂਲ ਹੈ: ਮਾਡਲ ਇੱਕ ਕਾਲ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਅਤੇ ਤੁਹਾਡਾ ਕੋਡ ਖੋਜ ਚਲਾਉਂਦਾ ਹੈ ਅਤੇ ਨਤੀਜਾ ਵਾਪਸ ਭੇਜਦਾ ਹੈ।

ਹੋਰ ਪਲੇਟਫਾਰਮਾਂ ਦੀਆਂ ਖੋਜ ਟੂਲ ਕਿਸਮਾਂ, ਜਿਵੇਂ /v1/messages ਉੱਤੇ web_search_20250305 ਜਾਂ /v1/responses ਉੱਤੇ {"type": "web_search"}, ਇੱਥੇ ਖੋਜ ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦੀਆਂ।

ਗਲਤੀਆਂ

ਵੈੱਬ ਸਰਚ ਕੋਈ ਨਵਾਂ ਸਟੇਟਸ ਕੋਡ ਜਾਂ ਗਲਤੀ ਦੀ ਕਿਸਮ ਨਹੀਂ ਜੋੜਦੀ। ਜਿਸ ਖੋਜ ਵਿੱਚ ਕੁਝ ਨਾ ਮਿਲੇ, ਜਾਂ ਜਿਸ ਦਿਨ ਖੋਜਾਂ ਨਾ ਬਚੀਆਂ ਹੋਣ, ਉਹ ਖੋਜ ਨਤੀਜਿਆਂ ਤੋਂ ਬਿਨਾਂ ਆਮ ਜਵਾਬ ਦਿੰਦੀ ਹੈ। ਹਰ ਹੋਰ ਗਲਤੀ ਖੋਜ ਤੋਂ ਬਿਨਾਂ ਰਿਕੁਐਸਟ ਵਾਂਗ ਹੀ ਹੈ। ਗਲਤੀਆਂ