Вэб хайлт
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
}' Хариу нь ердийн чат 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"
}
]
} Хайлтыг асаах
Хайлт нь хүсэлтийн талбар бөгөөд үндсэн утгаараа унтраастай. Хүсэлт илгээхгүй бол юу ч хайхгүй.
| Талбар | Төрөл | Үндсэн утга | Тайлбар | Хэрэгжүүлэгч |
|---|---|---|---|---|
web_search | boolean | false | true нь энэ хүсэлтэд вэб хайлт хийж, загвар хариулахаасаа өмнө үр дүнг түүнд өгнө. | shannon-coder-1-ээс бусад Shannon загвар бүр |
| Endpoint | Вэб хайлт | Хэрхэн |
|---|---|---|
/v1/chat/completions | Тийм | Хүсэлтийн body-д "web_search": true. |
/v1/messages | Тийм | Хүсэлтийн body-д "web_search": true. |
/v1/responses | — | Энэ endpoint зөвхөн загвараас хариулна. Хайлттай хариулт хэрэгтэй бол дээрх хоёрын аль нэгийг ашиглана уу. |
/v1/messages дээр талбар нь body-ийн дээд түвшинд, 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илгээсэн хүсэлт бүр дээр хайлт ажиллана. Хайх эсэхийг загвар сонгодоггүй.- Үр дүнг дугаартай эх сурвалж болгон загварын өмнө тавьж, загвар хариултаа тэднээс бичнэ.
- Хайлт дуусахад хариу эхэлнэ. Stream хүсэлт тэр хүртэл header ч, event ч илгээхгүй тул эхний chunk хүртэл илүү удаан хүлээхээр бэлтгэнэ үү.
Хариу юу агуулах
- Хариу endpoint-ийн ердийн хэлбэртэй. Хариулт
choices[0].message.contentдотор (/v1/messagesдээрtextblock). - Текст нь баталж буй өгүүлбэрийнхээ дараа
[1],[2]зэрэг тэмдэг агуулж болно. Тоо бүр загварын уншсан үр дүнгийн нэгийг заана. sourcesтэдгээр үр дүнг нэрлэнэ: загварт өгсөн үр дүн бүрт нэг бичлэг,index,title,url-тай.[1]тэмдэг ньindexнь 1 байх бичлэг юм. Хариултад иш татаагүй үр дүнг мөн жагсаасан байна./v1/chat/completionsдээр мессеж нь OpenAI хэлбэрээрannotations-ийг бас агуулна: тэмдэг нэрлэсэн эх сурвалж бүрт нэг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 |
- Хайлт нь ямар нэг зүйл олсон хүсэлт өдрийн эрхээс нэг хайлт ашиглана. Юу ч олоогүй хайлт юу ч ашиглахгүй.
- Чат ба API түлхүүрийг эзэмшдэг бүртгэлийн эрхийг хуваалцана.
- Тоолол өдөр бүр 00:00 UTC-д дахин эхэлнэ.
- Хайлтын үр дүн нь хүсэлтийн оролтын токен бөгөөд prompt-ийн бусад хэсгийн хамт тооцогдоно.
Өдрийн хайлт дууссан үед
Өдрийн сүүлийн хайлтын дараа web_search: true илгээсэн хүсэлтийг татгалзахгүй. Хайлтгүйгээр хариулна: статус 200 бөгөөд хариунд sources байхгүй.
Өөрийн tool болох хайлт
web_search: true нь энд тайлбарласан хайлтын цорын ганц унтраалга. tools дотор өөрөө тодорхойлж web_search гэж нэрлэсэн функц бол таны өөрийн tool: загвар дуудлага буцааж, таны код хайлтыг ажиллуулж үр дүнг буцаан илгээнэ.
/v1/messages дээрх web_search_20250305 эсвэл /v1/responses дээрх {"type": "web_search"} зэрэг бусад платформын хайлтын tool төрөл энд хайлт эхлүүлэхгүй.
Алдаа
Вэб хайлт статус код, алдааны төрөл нэмэхгүй. Юу ч олоогүй хайлт, эсвэл хайлт үлдээгүй өдөр хайлтын үр дүнгүй ердийн хариулт өгнө. Бусад бүх алдаа хайлтгүй хүсэлтийнхтэй адил. Алдаа боловсруулах