වෙබ් සෙවීම
web_search: true සකසන්න, එවිට model එක තම පිළිතුර සජීවී ප්රතිඵල මත පදනම් කරයි.
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
}' පිළිතුර සාමාන්ය chat completion එකකි, එයට එකතු කිරීම් දෙකක් ඇත. පිළිතුර සෙවුම් ප්රතිඵලවලට යොමු කරන්නේ සමචතුරශ්ර වරහන් තුළ අංක වලිනි, 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"
}
]
} සෙවීම ක්රියාත්මක කිරීම
සෙවීම ඉල්ලීමේ field එකකි, පෙරනිමියෙන් අක්රියයි. ඉල්ලීමක් එය නොයවන්නේ නම් කිසිවක් සොයන්නේ නැත.
| Field | වර්ගය | පෙරනිමිය | විස්තරය | යොදන්නේ |
|---|---|---|---|---|
web_search | boolean | false | true මෙම ඉල්ලීම සඳහා web search එකක් ක්රියාත්මක කර, model එක පිළිතුරු දීමට පෙර ප්රතිඵල එයට ලබා දෙයි. | shannon-coder-1 හැර සෑම Shannon model එකක්ම |
| Endpoint | Web search | කෙසේද |
|---|---|---|
/v1/chat/completions | ඔව් | ඉල්ලීමේ body එකේ "web_search": true. |
/v1/messages | ඔව් | ඉල්ලීමේ body එකේ "web_search": true. |
/v1/responses | — | මෙම endpoint එක model එකෙන් පමණක් පිළිතුරු දෙයි. සෙවීමෙන් පිළිතුරක් සඳහා ඉහත දෙකෙන් එකක් භාවිතා කරන්න. |
/v1/messages හි field එක model සහ messages අසල, body එකේ ඉහළ මට්ටමේ ඇත:
{
"model": "shannon-3",
"web_search": true,
"messages": [
{
"role": "user",
"content": "What is the weather forecast for Lisbon this weekend?"
}
]
} සෙවූ ඉල්ලීමක් කරන්නේ කුමක්ද
- API එක අවසාන user පණිවිඩය සඳහා වෙබ් එක සොයයි. සංවාදයේ පෙර turns සෙවීමට එහි context දෙයි.
web_search: trueයවන සෑම ඉල්ලීමකම සෙවීම ධාවනය වේ. සෙවිය යුතුද යන්න model එක තෝරන්නේ නැත.- ප්රතිඵල අංක ගත මූලාශ්ර ලෙස model එක ඉදිරියේ තබන අතර, model එක ඒවායින් තම පිළිතුර ලියයි.
- සෙවීම අවසන් වූ විට පිළිතුර ආරම්භ වේ. Stream කළ ඉල්ලීමක් ඒ වන තෙක් headers හෝ events කිසිවක් නොයවන බැවින්, පළමු chunk එකට පෙර වැඩි රැඳී සිටීමක් සඳහා ඉඩ තබන්න.
පිළිතුරේ අඩංගු දේ
- පිළිතුරේ එහි endpoint එකේ සුපුරුදු හැඩය ඇත. පිළිතුර
choices[0].message.contentහි ඇත (/v1/messagesහිtextblock එකක්). - පෙළ තුළ ඒවා සහාය දක්වන ප්රකාශවලට පසුව
[1]සහ[2]වැනි සලකුණු තිබිය හැක. සෑම අංකයක්ම model එක කියවූ ප්රතිඵලවලින් එකක් නියෝජනය කරයි. sourcesමඟින් එම ප්රතිඵලවල නම් දක්වයි: model එකට දුන් සෑම ප්රතිඵලයකටම එක් ඇතුළත් කිරීමක්,index,titleසහurlසමඟ.[1]සලකුණ යනුindex1 ඇති ඇතුළත් කිරීමයි. පිළිතුර උපුටා නොදක්වන ප්රතිඵල ද ලැයිස්තුගත කර ඇත./v1/chat/completionsහිදී message එකේannotationsද ඇත, OpenAI හැඩයෙන්: සලකුණකින් නම් කරන සෑම මූලාශ්රයකටම එක්url_citationබැගින්,url,title, සහstart_indexහාend_indexසමඟ, එනම්contentතුළ සලකුණේ පිහිටීම අක්ෂර වලින් ගණන් කර (අවසානය ඇතුළත් නොවේ).- Stream එකකදී
sourcesපැමිණෙන්නේ අවසාන chunk එක සමඟයි,/v1/messagesහිදීmessage_deltaevent එක සමඟයි. Annotations පැමිණෙන්නේ අවසාන එකට ආසන්නයෙන්ම පෙර chunk එකකින්,delta.annotationsලෙසයි. sourcesඇත්තේ මෙම ඉල්ලීමේ සෙවීමෙන් යමක් සොයාගත් විට පමණි. එය නොමැති පිළිතුරක් ලියා ඇත්තේ සෙවුම් ප්රතිඵල නොමැතිවය.
සෙවීම් ගණන් කරන ආකාරය
සෑම සැලසුමකටම දිනකට සෙවීම් ගණනක් ඇතුළත් වේ:
| සැලසුම | දිනකට සෙවීම් |
|---|---|
| නොමිලේ | 3 |
| ප්ලස් | 30 |
| Standard | 50 |
| වෘත්තීය | 60 |
- සෙවීමෙන් යමක් සොයාගත් ඉල්ලීමක් එදිනට ප්රමාණයෙන් එක සෙවීමක් භාවිතා කරයි. කිසිවක් නොසොයාගත් සෙවීමක් කිසිවක් භාවිතා නොකරයි.
- Chat සහ API key එක අයිති ගිණුමේ ප්රමාණය බෙදා ගනී.
- ගණන සෑම දිනකම 00:00 UTC ට නැවත ආරම්භ වේ.
- සෙවුම් ප්රතිඵල ඉල්ලීමේ input tokens වන අතර prompt එකේ ඉතිරිය සමඟ බිල් කෙරේ.
දිනයේ සෙවීම් අවසන් වූ විට
දිනයේ අවසාන සෙවීමෙන් පසු web_search: true යවන ඉල්ලීමක් ප්රතික්ෂේප නොකෙරේ. එයට සෙවීමක් නොමැතිව පිළිතුරු ලැබේ: status එක 200 වන අතර පිළිතුරේ sources නැත.
ඔබේම tool එකක් ලෙස සෙවීම
web_search: true යනු මෙහි විස්තර කළ සෙවීමේ එකම switch එකයි. ඔබ tools හි අර්ථ දක්වා web_search ලෙස නම් කරන function එකක් ඔබේම tools වලින් එකකි: model එක call එකක් ආපසු දෙයි, සහ ඔබේ code එක සෙවීම ක්රියාත්මක කර ප්රතිඵලය ආපසු යවයි.
/v1/messages හි web_search_20250305 හෝ /v1/responses හි {"type": "web_search"} වැනි වෙනත් platforms වල search tool types මෙහි සෙවීමක් ආරම්භ නොකරයි.
දෝෂ
Web search status code එකක් හෝ දෝෂ වර්ගයක් එකතු නොකරයි. කිසිවක් නොසොයාගන්නා සෙවීමකට, හෝ සෙවීම් ඉතිරි නැති දිනයකට, සෙවුම් ප්රතිඵල නොමැති සාමාන්ය පිළිතුරක් ලැබේ. අනෙක් සෑම දෝෂයක්ම සෙවීමක් නැති ඉල්ලීමකට මෙන්ම වේ. දෝෂ