Веб издөө
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 модели |
| Endpoint | Веб издөө | Кантип |
|---|---|---|
/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 акыркы колдонуучу билдирүүсү үчүн вебден издейт. Сүйлөшүүнүн мурунку кадамдары издөөгө контекст берет.
- Издөө
web_search: trueжөнөткөн ар бир сурамда иштейт. Издөө керекпи же жокпу, модель чечпейт. - Натыйжалар моделдин алдына номерленген булактар катары коюлат, ал эми модель жообун алардан жазат.
- Жооп издөө бүткөндө башталат. Стримдик сурам ага чейин эч нерсе, баштарды да, окуяларды да, жөнөтпөйт, ошондуктан биринчи чанкка чейин узагыраак күтүүнү эске алыңыз.
Жоопто эмне бар
- Жоопто өз endpoint'тин кадимки формасы бар. Жооп
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"}, бул жерде издөөнү баштабайт.
Каталар
Веб издөө статус кодун да, ката түрүн да кошпойт. Эч нерсе таппаган издөө же издөөсү калбаган күн издөө натыйжаларысыз кадимки жооп берет. Башка ар бир ката издөөсүз сурамдагыдай эле. Ката иштетүү