រំលងទៅមាតិកា
ស្វែងរកវេបក្នុងស្រាប់

ស្វែងរកវេបក្នុងស្រាប់

កំណត់ 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"
    }
  ]
}

ការបើកការស្វែងរក

ការស្វែងរកគឺជា field នៃ request ដែលបិទតាមលំនាំដើម។ គ្មានអ្វីត្រូវបានស្វែងរកទេ លុះត្រាតែ request ផ្ញើវា។

Field ប្រភេទ លំនាំដើម ការពិពណ៌នា អនុវត្តដោយ
web_search boolean false true ដំណើរការការស្វែងរកវេបសម្រាប់ request នេះ ហើយប្រគល់លទ្ធផលឱ្យម៉ូដែលមុនពេលវាឆ្លើយ។ រាល់ម៉ូដែល Shannon លើកលែងតែ shannon-coder-1
Endpoint ការស្វែងរកវេប របៀប
/v1/chat/completions បាទ/ចាស "web_search": true ក្នុងខ្លឹមសារ request។
/v1/messages បាទ/ចាស "web_search": true ក្នុងខ្លឹមសារ request។
/v1/responses — endpoint នេះឆ្លើយពីម៉ូដែលតែម្នាក់ឯង។ សូមប្រើមួយក្នុងចំណោមពីរខាងលើសម្រាប់ចម្លើយដែលមានការស្វែងរក។

លើ /v1/messages field ស្ថិតនៅកម្រិតកំពូលនៃខ្លឹមសារ ក្បែរ model និង messages៖

ខ្លឹមសារ request
{
  "model": "shannon-3",
  "web_search": true,
  "messages": [
    {
      "role": "user",
      "content": "What is the weather forecast for Lisbon this weekend?"
    }
  ]
}

អ្វីដែល request ដែលមានការស្វែងរកធ្វើ

  • API ស្វែងរកវេបសម្រាប់សារ user ចុងក្រោយ។ វេនមុនៗនៃការសន្ទនាផ្តល់បរិបទដល់ការស្វែងរក។
  • ការស្វែងរកដំណើរការលើរាល់ request ដែលផ្ញើ web_search: true។ ម៉ូដែលមិនជ្រើសថាត្រូវស្វែងរកឬអត់ទេ។
  • លទ្ធផលត្រូវបានដាក់នៅមុខម៉ូដែលជាប្រភពដែលមានលេខ ហើយម៉ូដែលសរសេរចម្លើយរបស់វាពីពួកវា។
  • ចម្លើយចាប់ផ្តើមនៅពេលការស្វែងរករួចរាល់។ request ដែល stream មិនផ្ញើអ្វីទេ ទាំង header ទាំង event រហូតដល់ពេលនោះ ដូច្នេះសូមរំពឹងការរង់ចាំយូរជាងមុន chunk ដំបូង។

អ្វីដែលចម្លើយមាន

  • ចម្លើយមានរូបរាងធម្មតានៃ endpoint របស់វា។ ចម្លើយស្ថិតក្នុង choices[0].message.content (block 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 ដែលរាប់ជាតួអក្សរ (ចុងមិនរាប់បញ្ចូលទេ)។
  • ក្នុង stream sources មកជាមួយ chunk ចុងក្រោយ ហើយលើ /v1/messages មកជាមួយព្រឹត្តិការណ៍ message_delta។ annotations មកក្នុង chunk មួយមុន chunk ចុងក្រោយភ្លាម ជា delta.annotations។
  • sources មានតែនៅពេលការស្វែងរកនៃ request នេះរកឃើញអ្វីមួយប៉ុណ្ណោះ។ ចម្លើយដែលគ្មានវា ត្រូវបានសរសេរដោយគ្មានលទ្ធផលស្វែងរក។

របៀបដែលការស្វែងរកត្រូវបានរាប់

គ្រប់គម្រោងរួមមានចំនួនការស្វែងរកក្នុងមួយថ្ងៃ៖

គម្រោង ការស្វែងរកក្នុងមួយថ្ងៃ
ឥតគិតថ្លៃ 3
បូក 30
Standard 50
វិជ្ជាជីវៈ 60
  • request ដែលការស្វែងរករបស់វារកឃើញអ្វីមួយប្រើការស្វែងរកមួយនៃកូតាប្រចាំថ្ងៃ។ ការស្វែងរកដែលរកមិនឃើញអ្វីមិនប្រើអ្វីទេ។
  • Chat និង API ប្រើកូតារួមគ្នារបស់គណនីដែលជាម្ចាស់ key។
  • ការរាប់ចាប់ផ្តើមឡើងវិញរៀងរាល់ថ្ងៃនៅម៉ោង 00:00 UTC។
  • លទ្ធផលស្វែងរកគឺជា input token នៃ request ហើយត្រូវបានគិតថ្លៃរួមជាមួយ prompt ដែលនៅសល់។

ប្រៀបធៀបគម្រោង

នៅពេលការស្វែងរកប្រចាំថ្ងៃត្រូវបានប្រើអស់

request ដែលផ្ញើ web_search: true បន្ទាប់ពីការស្វែងរកចុងក្រោយនៃថ្ងៃមិនត្រូវបានបដិសេធទេ។ វាត្រូវបានឆ្លើយដោយគ្មានការស្វែងរក៖ status គឺ 200 ហើយចម្លើយគ្មាន sources ទេ។

ការស្វែងរកជា tool ផ្ទាល់ខ្លួន

web_search: true គឺជាកុងតាក់តែមួយគត់នៃការស្វែងរកដែលបានពិពណ៌នានៅទីនេះ។ function ដែលអ្នកកំណត់ក្នុង tools ហើយដាក់ឈ្មោះ web_search គឺជា tool ផ្ទាល់ខ្លួនរបស់អ្នក៖ ម៉ូដែលត្រឡប់ការហៅ ហើយកូដរបស់អ្នកដំណើរការការស្វែងរក និងផ្ញើលទ្ធផលមកវិញ។

ប្រភេទ tool ស្វែងរករបស់វេទិកាផ្សេង ដូចជា web_search_20250305 លើ /v1/messages ឬ {"type": "web_search"} លើ /v1/responses មិនចាប់ផ្តើមការស្វែងរកនៅទីនេះទេ។

កំហុស

ការស្វែងរកវេបមិនបន្ថែមកូដ status ឬប្រភេទ error ទេ។ ការស្វែងរកដែលរកមិនឃើញអ្វី ឬថ្ងៃដែលគ្មានការស្វែងរកនៅសល់ ផ្តល់ចម្លើយធម្មតាដោយគ្មានលទ្ធផលស្វែងរក។ កំហុសផ្សេងទៀតទាំងអស់ដូចគ្នានឹង request ដែលគ្មានការស្វែងរក។ ការគ្រប់គ្រងកំហុស