വെബ് തിരയൽ
web_search: true സജ്ജമാക്കിയാൽ മോഡൽ തത്സമയ ഫലങ്ങൾ ഉപയോഗിച്ച് ഉത്തരം ഉറപ്പിക്കുന്നു.
POST https://api.shannon-ai.com/v1/chat/completions
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")
response = client.chat.completions.create(
model="shannon-3",
messages=[{"role": "user", "content": "What is the weather forecast for Lisbon this weekend?"}],
extra_body={"web_search": True}, # a Shannon field, so it goes in extra_body
)
print(response.choices[0].message.content) import OpenAI from "openai";
const client = new OpenAI({ apiKey: "YOUR_API_KEY", baseURL: "https://api.shannon-ai.com/v1" });
const response = await client.chat.completions.create({
model: "shannon-3",
messages: [{ role: "user", content: "What is the weather forecast for Lisbon this weekend?" }],
web_search: true,
});
console.log(response.choices[0].message.content); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [
{"role": "user", "content": "What is the weather forecast for Lisbon this weekend?"}
],
"web_search": true
}' മറുപടി ഒരു സാധാരണ ചാറ്റ് കംപ്ലീഷൻ ആണ്, രണ്ട് കൂട്ടിച്ചേർക്കലുകളോടെ. ഉത്തരം ചതുര ബ്രാക്കറ്റിലെ സംഖ്യകൾ കൊണ്ട് സെർച്ച് ഫലങ്ങളെ ചൂണ്ടിക്കാണിക്കുന്നു, ഓരോ സംഖ്യയും എന്തിനെ സൂചിപ്പിക്കുന്നു എന്ന് sources പറയുന്നു, ഓരോന്നും എവിടെ ഉദ്ധരിച്ചിരിക്കുന്നു എന്ന് annotations അടയാളപ്പെടുത്തുന്നു:
{
"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]എന്ന മാർക്കർindex1 ആയ എൻട്രിയാണ്. ഉത്തരം ഉദ്ധരിക്കാത്ത ഫലങ്ങളും ലിസ്റ്റിൽ ഉണ്ട്./v1/chat/completions-ൽ സന്ദേശത്തിൽ OpenAI ഘടനയിൽannotations-ഉം ഉണ്ട്: ഒരു മാർക്കർ പേരെടുത്തു പറയുന്ന ഓരോ സോഴ്സിനും ഒരുurl_citation,url,title, കൂടാതെstart_index,end_indexഎന്നിവയോടെ; ഇവcontent-ൽ മാർക്കറിന്റെ സ്ഥാനമാണ്, അക്ഷരങ്ങളുടെ എണ്ണത്തിൽ കണക്കാക്കിയത് (അവസാനം ഉൾപ്പെടുന്നില്ല).- സ്ട്രീമിൽ
sourcesഅവസാന ചങ്കിനൊപ്പം വരുന്നു,/v1/messages-ൽmessage_deltaഇവന്റിനൊപ്പവും. അനോട്ടേഷനുകൾ അവസാനത്തേതിന് തൊട്ടുമുമ്പുള്ള ഒരു ചങ്കിൽ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"} പോലെ മറ്റ് പ്ലാറ്റ്ഫോമുകളുടെ സെർച്ച് ടൂൾ ടൈപ്പുകൾ ഇവിടെ സെർച്ച് തുടങ്ങില്ല.
പിശകുകൾ
വെബ് സെർച്ച് സ്റ്റാറ്റസ് കോഡോ പിശക് തരമോ ചേർക്കുന്നില്ല. ഒന്നും കണ്ടെത്താത്ത സെർച്ചോ സെർച്ചുകൾ ബാക്കിയില്ലാത്ത ദിവസമോ സെർച്ച് ഫലങ്ങളില്ലാത്ത സാധാരണ ഉത്തരം നൽകുന്നു. മറ്റെല്ലാ പിശകുകളും സെർച്ച് ഇല്ലാത്ത റിക്വസ്റ്റിലേതു പോലെ തന്നെയാണ്. എറർ ഹാൻഡ്ലിംഗ്