వెబ్ శోధన
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లో సందేశంలో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 కు మళ్ళీ మొదలవుతుంది.
- శోధన ఫలితాలు రిక్వెస్ట్ యొక్క ఇన్పుట్ tokens, మరియు మిగతా ప్రాంప్ట్తో కలిపి బిల్ చేయబడతాయి.
రోజు శోధనలు అయిపోయినప్పుడు
రోజులో చివరి శోధన తర్వాత web_search: true పంపే రిక్వెస్ట్ తిరస్కరించబడదు. దానికి శోధన లేకుండా సమాధానం ఇవ్వబడుతుంది: స్టేటస్ 200, సమాధానంలో sources ఉండవు.
మీ స్వంత టూల్గా శోధన
web_search: true ఇక్కడ వివరించిన శోధనకు ఉన్న ఏకైక స్విచ్. మీరు tools లో నిర్వచించి web_search అని పేరు పెట్టిన ఫంక్షన్ మీ స్వంత టూల్లలో ఒకటి: మోడల్ ఒక కాల్ను తిరిగి ఇస్తుంది, మీ కోడ్ శోధనను నడిపి ఫలితాన్ని తిరిగి పంపుతుంది.
ఇతర ప్లాట్ఫామ్ల శోధన టూల్ రకాలు, ఉదాహరణకు /v1/messages లో web_search_20250305 లేదా /v1/responses లో {"type": "web_search"}, ఇక్కడ శోధనను ప్రారంభించవు.
ఎర్రర్లు
వెబ్ శోధన కొత్త స్టేటస్ కోడ్ను గాని ఎర్రర్ రకాన్ని గాని జోడించదు. ఏమీ దొరకని శోధన, లేదా శోధనలు మిగలని రోజు, శోధన ఫలితాలు లేని సాధారణ సమాధానాన్ని ఇస్తుంది. మిగతా ప్రతి ఎర్రర్ శోధన లేని రిక్వెస్ట్కు ఉన్నట్లే ఉంటుంది. ఎరర్ హ్యాండ్లింగ్