ابزار جستجوی وب
به مدلها اجازه دهید قبل از تولید پاسخ، وب را برای آخرین اطلاعات جستجو کنند.
با استفاده از API پاسخها، میتوانید با پیکربندی آن در آرایه tools در یک درخواست API برای تولید محتوا، جستجوی وب را فعال کنید. مانند هر ابزار دیگری، مدل میتواند بر اساس محتوای پرامپت ورودی، انتخاب کند که وب را جستجو کند یا نه.
انتخاب مسیر یکپارچهسازی
AvalAI دو مسیر مکمل برای جستجو ارائه میدهد:
| مورد استفاده | مسیر پیشنهادی | نکته |
|---|---|---|
| پاسخهای AI جدید همراه citation | /v1/responses + tools: [{"type": "web_search"}] | بهترین پیشفرض برای برنامههای Responses-first؛ مدل تصمیم میگیرد جستجو کند مگر اینکه tool_choice را اجباری کنید. |
| نتایج خام جستجو برای برنامه شما | /v1/search | URL، snippet و متادیتای خاص ارائهدهنده را بدون synthesis توسط LLM برمیگرداند. |
| برنامههای search فعلی در Chat Completions | /v1/chat/completions با مدل search پشتیبانیشده در AvalAI | یکپارچهسازیهای فعلی را نگه دارید، اما برای کار جدید Responses web_search را ترجیح دهید. |
برای lookup سریع از search_context_size: "low"، برای حالت متعادل از "medium" و برای پاسخهایی که به زمینه منبع غنیتر نیاز دارند از "high" استفاده کنید.
مثال ابزار جستجوی وب
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
}); // استفاده از نقطه پایانی سفارشی
const response = await client.responses.create({
model: "gpt-5.5",
tools: [{ type: "web_search" }],
input: "یک خبر مثبت از امروز چه بود؟",
});
console.log(response.output_text);from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1", # آدرس پایه سفارشی
) # استفاده از آدرس پایه سفارشی
response = client.responses.create(
model="gpt-5.5",
tools=[{"type": "web_search"}],
input="یک خبر مثبت از امروز چه بود؟",
)
print(response.output_text)curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "gpt-5.5",
"tools": [{"type": "web_search"}],
"input": "یک خبر مثبت از امروز چه بود؟"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go" // کلاینت Go OpenAI
"github.com/openai/openai-go/option"
"os"
)
func main() {
apiKey := os.Getenv("AVALAI_API_KEY")
client := openai.NewClient(
option.WithAPIKey(apiKey),
option.WithBaseURL("https://api.avalai.ir/v1"), // استفاده از نقطه پایانی سفارشی
)
resp, err := client.Responses.Create(
context.Background(),
openai.ResponsesCreateParams{
Model: "gpt-5.5",
Tools: []openai.ToolParamUnion{
openai.ToolParam{
Type: openai.F("web_search"),
},
},
Input: "یک خبر مثبت از امروز چه بود؟",
},
)
if err != nil {
fmt.Printf("خطای ایجاد پاسخ: %v\n", err)
return
}
fmt.Println(resp.OutputText)
}<?php
require_once(__DIR__ . '/vendor/autoload.php'); // با فرض بارگذاری خودکار Composer
$apiKey = getenv('AVALAI_API_KEY');
$client = OpenAI::client($apiKey, ["base_uri" => "https://api.avalai.ir/v1"]); // استفاده از کلاینت PHP OpenAI با آدرس پایه سفارشی
$response = $client->responses()->create([
'model' => 'gpt-5.5',
'tools' => [['type' => 'web_search']],
'input' => 'یک خبر مثبت از امروز چه بود؟',
]);
echo $response->output_text;
?>نسخههای ابزار جستجوی وب
برای یکپارچهسازیهای جدید Responses API از web_search استفاده کنید. ابزار قدیمیتر web_search_preview همچنان برای یکپارچهسازیهای legacy در دسترس است، اما کنترلهای جدیدتر مانند فیلترها، کنترل دسترسی زنده و بودجه توکن برگشتی را پشتیبانی نمیکند.
وقتی جستجو باید برای یک درخواست اجرا شود، میتوانید با پارامتر tool_choice و مثلا { "type": "web_search" } اجرای جستجوی وب را اجباری کنید.
مسیر مهاجرت از مدلهای جستجوی legacy
فقط به دلیل وجود ابزار جدیدتر Responses، یکپارچهسازیهای فعلی Chat Completions را حذف نکنید. AvalAI هنوز gpt-4o-search-preview و gpt-4o-mini-search-preview را در data/models.json فهرست میکند، پس تا زمانی که فعال هستند در مستندات باقی میمانند. برای کار جدید، /v1/responses را با gpt-5.5 و tools: [{"type": "web_search"}] ترجیح دهید.
| یکپارچهسازی فعلی | نگه داریم یا مهاجرت کنیم؟ | گام پیشنهادی |
|---|---|---|
/v1/responses + web_search_preview | مهاجرت کنید | ابزار را با {"type": "web_search"} جایگزین کنید تا از فیلترها، متادیتای منابع، کنترل دسترسی زنده و کنترل بودجه توکن برگشتی استفاده کنید. |
/v1/chat/completions + gpt-4o-search-preview | فقط برای برنامههای legacy نگه دارید | پیش از خاموشی برنامهریزیشده در ۲۳ ژوئیه ۲۰۲۶ که در مدلهای منسوخشده آمده، مهاجرت را برنامهریزی کنید؛ UX جستجوی جدید را به Responses web_search منتقل کنید. |
/v1/chat/completions + gpt-4o-mini-search-preview | فقط برای برنامههای legacy نگه دارید | مسیر مهاجرت همان است؛ برای جستجوی اختیاری، فیلتر دامنه و متادیتای غنیتر web_search_call از Responses استفاده کنید. |
endpoint خام /v1/search | وقتی نتیجه خام لازم دارید نگه دارید | برای بازیابی URL/snippet بدون synthesis توسط LLM استفاده کنید؛ وقتی مدل باید پاسخ citationدار بسازد، Responses را به کار ببرید. |
سه حالت عملی جستجو را در طراحی در نظر بگیرید:
- lookup سریع:
search_context_sizeکم یا متوسط، جستجوی اختیاری و پاسخ کوتاه. - تحقیق agentic: مدلهای reasoning میتوانند جستجو کنند، نتایج را بررسی کنند و وقتی prompt شواهد بیشتری میخواهد دوباره جستجو کنند.
- deep research: برای گزارشهای طولانی که ممکن است چند دقیقه زمان ببرند، از reasoning effort بالاتر و پردازش پسزمینه استفاده کنید.
خروجی و استنادات
پاسخهای مدلی که از ابزار جستجوی وب استفاده میکنند شامل دو بخش خواهند بود:
- یک آیتم خروجی
web_search_callبا شناسه تماس جستجو و فیلدaction. بسته به مدل و مسیر جستجو، action میتواندsearch،open_pageیاfind_in_pageباشد. - یک آیتم خروجی
messageشامل:- نتیجه متنی در
message.content[0].text - حاشیهنویسیها
message.content[0].annotationsبرای URLهای استناد شده
- نتیجه متنی در
به طور پیشفرض، پاسخ مدل شامل استنادات درونخطی برای URLهای یافت شده در نتایج جستجوی وب خواهد بود. علاوه بر این، شی حاشیهنویسی url_citation شامل URL، عنوان و مکان منبع استناد شده خواهد بود.
هنگام نمایش نتایج وب یا اطلاعات موجود در نتایج وب به کاربران نهایی، استنادات درونخطی باید به وضوح قابل مشاهده و قابل کلیک در رابط کاربری شما باشند.
[
{
"type": "web_search_call",
"id": "ws_67c9fa0502748190b7dd390736892e100be649c1a5ff9609",
"status": "completed",
"action": {
"type": "search",
"query": "latest news about AI"
}
},
{
"id": "msg_67c9fa077e288190af08fdffda2e34f20be649c1a5ff9609",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "در تاریخ ۶ مارس ۲۰۲۵، چندین خبر...",
"annotations": [
{
"type": "url_citation",
"start_index": 2606,
"end_index": 2758,
"url": "https://...",
"title": "عنوان..."
}
]
}
]
}
]چکلیست نمایش citation
وقتی خروجی web_search را به UI محصول تبدیل میکنید، این موارد را رعایت کنید:
- حاشیهنویسیهای
url_citationرا به لینکهای منبع قابل مشاهده و قابل کلیک نزدیک همان ادعای تولیدشده تبدیل کنید. - مقدارهای
url،titleو span متن هر citation را حفظ کنید تا کاربر بتواند منبع اتکای مدل را بررسی کند. - وقتی برای audit به فهرست کامل منابع بررسیشده نیاز دارید، نه فقط citationهای انتخابشده برای پاسخ نهایی،
include: ["web_search_call.action.sources"]را درخواست کنید. - شی
web_search_call.actionرا در trace logها نگه دارید تا بعدا مشخص باشد مدل فقط جستجو کرده، صفحهای را باز کرده یا داخل صفحه جستجو کرده است. - اگر پاسخ برای یک پرسش حساس به تازگی، citation ندارد، آن را ungrounded بدانید و با
tool_choice: "required"یا prompt دقیقتر دوباره تلاش کنید.
موقعیت مکانی کاربر
برای بهبود نتایج جستجو بر اساس جغرافیا، میتوانید یک موقعیت مکانی تقریبی کاربر را با استفاده از کشور، شهر، منطقه و/یا منطقه زمانی مشخص کنید.
- فیلدهای
cityوregionرشتههای متنی آزاد هستند، مانندMinneapolisوMinnesotaبه ترتیب. - فیلد
countryیک کد کشور ISO دو حرفی است، مانندUS. - فیلد
timezoneیک منطقه زمانی IANA مانندAmerica/Chicagoاست.
موقعیت مکانی کاربر فقط یک hint برای مرتبطتر شدن نتیجههای محلی است، نه اثبات موقعیت دقیق کاربر. از آن برای compliance، billing، کنترل دسترسی یا تصمیمهای safety استفاده نکنید. این قابلیت برای اجرای web search در deep research پشتیبانی نمیشود؛ در آن حالت prompt را منبعمحور نگه دارید، نه شخصیسازیشده با موقعیت.
سفارشیسازی موقعیت مکانی کاربر
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1", # آدرس پایه سفارشی
) # استفاده از آدرس پایه سفارشی
response = client.responses.create(
model="gpt-5.5",
tools=[
{
"type": "web_search",
"user_location": {
"type": "approximate",
"country": "GB",
"city": "London",
"region": "London",
},
}
],
input="بهترین رستورانهای اطراف میدان گرنری کدامند؟",
)
print(response.output_text)import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
}); // استفاده از نقطه پایانی سفارشی
const response = await openai.responses.create({
model: "gpt-5.5",
tools: [
{
type: "web_search",
user_location: {
type: "approximate",
country: "GB",
city: "London",
region: "London",
},
},
],
input: "بهترین رستورانهای اطراف میدان گرنری کدامند؟",
});
console.log(response.output_text);curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "gpt-5.5",
"tools": [{
"type": "web_search",
"user_location": {
"type": "approximate",
"country": "GB",
"city": "London",
"region": "London"
}
}],
"input": "بهترین رستورانهای اطراف میدان گرنری کدامند؟"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go" // کلاینت Go OpenAI
"github.com/openai/openai-go/option"
"os"
)
func main() {
apiKey := os.Getenv("AVALAI_API_KEY")
client := openai.NewClient(
option.WithAPIKey(apiKey),
option.WithBaseURL("https://api.avalai.ir/v1"), // استفاده از نقطه پایانی سفارشی
)
resp, err := client.Responses.Create(
context.Background(),
openai.ResponsesCreateParams{
Model: "gpt-5.5",
Tools: []openai.ToolParamUnion{
openai.ToolParam{
Type: openai.F("web_search"),
UserLocation: &openai.UserLocation{
Type: openai.F("approximate"),
Country: openai.F("GB"),
City: openai.F("London"),
Region: openai.F("London"),
},
},
},
Input: "بهترین رستورانهای اطراف میدان گرنری کدامند؟",
},
)
if err != nil {
fmt.Printf("خطای ایجاد پاسخ: %v\n", err)
return
}
fmt.Println(resp.OutputText)
}<?php
require_once(__DIR__ . '/vendor/autoload.php'); // با فرض بارگذاری خودکار Composer
$apiKey = getenv('AVALAI_API_KEY');
$client = OpenAI::client($apiKey, ["base_uri" => "https://api.avalai.ir/v1"]); // استفاده از کلاینت PHP OpenAI با آدرس پایه سفارشی
$response = $client->responses()->create([
'model' => 'gpt-5.5',
'tools' => [[
'type' => 'web_search',
'user_location' => [
'type' => 'approximate',
'country' => 'GB',
'city' => 'London',
'region' => 'London',
]
]],
'input' => 'بهترین رستورانهای اطراف میدان گرنری کدامند؟',
]);
echo $response->output_text;
?>اندازه زمینه جستجو
هنگام استفاده از این ابزار، پارامتر search_context_size کنترل میکند چه مقدار زمینه از نتایج وب پیش از تولید پاسخ در اختیار مدل قرار گیرد. این پارامتر کنترل کیفیت/هزینه/تاخیر است، نه شمارنده دقیق توکن، تعداد قطعی منبع یا تضمین تعداد citation.
انتخاب اندازه زمینه بر موارد زیر تاثیر میگذارد:
- هزینه: قیمتگذاری ابزار جستجوی ما بر اساس مقدار این پارامتر متفاوت است. اندازههای زمینه بالاتر گرانتر هستند. قیمتگذاری ابزار را اینجا ببینید.
- کیفیت: اندازههای زمینه جستجوی بالاتر به طور کلی زمینه غنیتری را فراهم میکنند که منجر به پاسخهای دقیقتر و جامعتر میشود.
- تاخیر: اندازههای زمینه بالاتر نیاز به پردازش توکنهای بیشتری دارند که میتواند زمان پاسخ ابزار را کندتر کند.
مقادیر موجود:
high: جامعترین زمینه، بالاترین هزینه، پاسخ کندتر.medium(پیشفرض): زمینه، هزینه و تاخیر متعادل.low: کمترین زمینه، کمترین هزینه، سریعترین پاسخ، اما کیفیت پاسخ بالقوه پایینتر.
برای جزئیات هزینههای مرتبط با هر اندازه زمینه، صفحه قیمتگذاری را بررسی کنید و این تنظیم را بهعنوان کنترل عمق بازیابی ببینید، نه سازوکار حفظ خودکار زمینه در نوبتهای بعدی.
سفارشیسازی اندازه زمینه جستجو
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1", # آدرس پایه سفارشی
) # استفاده از آدرس پایه سفارشی
response = client.responses.create(
model="gpt-5.5",
tools=[
{
"type": "web_search",
"search_context_size": "low",
}
],
input="کدام فیلم در سال ۲۰۲۵ برنده بهترین فیلم شد؟",
)
print(response.output_text)import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
}); // استفاده از نقطه پایانی سفارشی
const response = await openai.responses.create({
model: "gpt-5.5",
tools: [
{
type: "web_search",
search_context_size: "low",
},
],
input: "کدام فیلم در سال ۲۰۲۵ برنده بهترین فیلم شد؟",
});
console.log(response.output_text);curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "gpt-5.5",
"tools": [{
"type": "web_search",
"search_context_size": "low"
}],
"input": "کدام فیلم در سال ۲۰۲۵ برنده بهترین فیلم شد؟"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go" // کلاینت Go OpenAI
"github.com/openai/openai-go/option"
"os"
)
func main() {
apiKey := os.Getenv("AVALAI_API_KEY")
client := openai.NewClient(
option.WithAPIKey(apiKey),
option.WithBaseURL("https://api.avalai.ir/v1"), // استفاده از نقطه پایانی سفارشی
)
resp, err := client.Responses.Create(
context.Background(),
openai.ResponsesCreateParams{
Model: "gpt-5.5",
Tools: []openai.ToolParamUnion{
openai.ToolParam{
Type: openai.F("web_search"),
SearchContextSize: openai.F("low"),
},
},
Input: "کدام فیلم در سال ۲۰۲۵ برنده بهترین فیلم شد؟",
},
)
if err != nil {
fmt.Printf("خطای ایجاد پاسخ: %v\n", err)
return
}
fmt.Println(resp.OutputText)
}<?php
require_once(__DIR__ . '/vendor/autoload.php'); // با فرض بارگذاری خودکار Composer
$apiKey = getenv('AVALAI_API_KEY');
$client = OpenAI::client($apiKey, ["base_uri" => "https://api.avalai.ir/v1"]); // استفاده از کلاینت PHP OpenAI با آدرس پایه سفارشی
$response = $client->responses()->create([
'model' => 'gpt-5.5',
'tools' => [[
'type' => 'web_search',
'search_context_size' => 'low',
]],
'input' => 'کدام فیلم در سال ۲۰۲۵ برنده بهترین فیلم شد؟',
]);
echo $response->output_text;
?>کنترلهای پیشرفته جستجو
وقتی مدل انتخابی و مسیر AvalAI پشتیبانی کنند، از این کنترلها استفاده کنید:
- فیلتر دامنه:
filters.allowed_domainsوfilters.blocked_domainsجستجو را به منابع قابل اعتماد محدود میکنند یا دامنههای کمکیفیت را حذف میکنند. پیشوندhttps://را ننویسید؛ مثلاwho.int. - متادیتای منابع: وقتی برنامه به فهرست کامل URLهای بررسیشده نیاز دارد، نه فقط citationهای درون متن،
include: ["web_search_call.action.sources"]را اضافه کنید. - کنترل دسترسی زنده: با
external_web_access: falseمیتوانید برای اجراهای offline یا محدود، نتیجههای cached/indexed را ترجیح دهید. پیشفرض دسترسی زنده است. - تحقیق طولانی:
return_token_budget: "unlimited"میتواند برای research با effort بالا زمینه جستجوی بیشتری برگرداند، اما ممکن است latency و هزینه را افزایش دهد. - جستجوی تصویر:
search_content_types: ["image", "text"]همراهimage_settingsمیتواند برای عکس محصول، مکانهای دیدنی یا تصاویر رویدادها نتیجه تصویری وب برگرداند.
فیلتر دامنه تا ۱۰۰ دامنه مجاز یا تا ۱۰۰ دامنه مسدود را میپذیرد. دامنه را بدون https:// بنویسید، مثل who.int یا pubmed.ncbi.nlm.nih.gov، و انتظار داشته باشید subdomainها هم پوشش داده شوند. مقدار return_token_budget فقط default و unlimited است؛ unlimited را فقط برای جستجوی reasoning در خانواده GPT-5 و وقتی route پشتیبانی میکند استفاده کنید، و برای گزارشهایی که ممکن است چند دقیقه طول بکشند آن را با پردازش پسزمینه ترکیب کنید.
برای workflowهای حساس از نظر حریم خصوصی، جستجوی وب زنده را یک جریان داده خارجی بدانید. راهنمای data controls در OpenAI بین دسترسی زنده اینترنت و حالتهای offline/cache-only تفاوت میگذارد؛ در AvalAI فقط وقتی از external_web_access: false استفاده کنید یا درباره HIPAA/BAA، ZDR یا residency ادعا کنید که route مدل انتخابی صریحا پشتیبانی را تأیید کرده باشد. داده خصوصی حساب، secret یا شناسه خام شخصی را در query جستجو نفرستید.
جستجو در منابع قابل اعتماد همراه متادیتای منبع
وقتی پاسخ باید از مجموعه دامنههای مشخص بیاید، از فیلتر دامنه استفاده کنید. وقتی برنامه شما باید همه URLهای بررسیشده را audit یا render کند، متادیتای منابع را با include بگیرید. اگر مدل و route انتخابی پشتیبانی کنند، external_web_access: false برای اجراهای محدود یا cache-only مفید است.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AVALAI_API_KEY"],
base_url="https://api.avalai.ir/v1",
)
response = client.responses.create(
model="gpt-5.5",
input="آخرین راهنمای WHO درباره درمان دیابت را خلاصه کن و منبع بده.",
tools=[
{
"type": "web_search",
"search_context_size": "medium",
"filters": {
"allowed_domains": ["who.int", "cdc.gov", "fda.gov"],
"blocked_domains": ["reddit.com", "quora.com"],
},
}
],
include=["web_search_call.action.sources"],
tool_choice="auto",
)
print(response.output_text)
for item in response.output:
if item.type == "web_search_call":
print(item.action)import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AVALAI_API_KEY,
baseURL: "https://api.avalai.ir/v1",
});
const response = await client.responses.create({
model: "gpt-5.5",
input: "آخرین راهنمای WHO درباره درمان دیابت را خلاصه کن و منبع بده.",
tools: [
{
type: "web_search",
search_context_size: "medium",
filters: {
allowed_domains: ["who.int", "cdc.gov", "fda.gov"],
blocked_domains: ["reddit.com", "quora.com"],
},
},
],
include: ["web_search_call.action.sources"],
tool_choice: "auto",
});
console.log(response.output_text);
console.log(response.output.filter((item) => item.type === "web_search_call"));curl https://api.avalai.ir/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AVALAI_API_KEY" \
-d '{
"model": "gpt-5.5",
"input": "آخرین راهنمای WHO درباره درمان دیابت را خلاصه کن و منبع بده.",
"tools": [
{
"type": "web_search",
"search_context_size": "medium",
"filters": {
"allowed_domains": ["who.int", "cdc.gov", "fda.gov"],
"blocked_domains": ["reddit.com", "quora.com"]
}
}
],
"include": ["web_search_call.action.sources"],
"tool_choice": "auto"
}'نتایج جستجوی تصویر
وقتی UI محصول یا تحقیق به مرجع تصویری نیاز دارد، نتیجههای تصویری را صریح درخواست کنید و بهجای اتکا به output_text، آیتمهای web_search_call.results را بررسی کنید.
هر نتیجه تصویری میتواند شامل image_url، source_website_url، thumbnail_url و caption باشد. پیش از نمایش یا proxy کردن asset در برنامه، دامنه منبع و URL تصویر را اعتبارسنجی کنید.
response = client.responses.create(
model="gpt-5.5",
input="تصاویر جدید دوچرخههای باری برقی را پیدا کن و روندهای طراحی را خلاصه کن.",
tools=[
{
"type": "web_search",
"search_content_types": ["image", "text"],
"image_settings": {"max_results": 3, "caption": True},
}
],
include=["web_search_call.results"],
)
for item in response.output:
if item.type == "web_search_call":
print(item.results)const imageResponse = await client.responses.create({
model: "gpt-5.5",
input: "تصاویر جدید دوچرخههای باری برقی را پیدا کن و روندهای طراحی را خلاصه کن.",
tools: [
{
type: "web_search",
search_content_types: ["image", "text"],
image_settings: { max_results: 3, caption: true },
},
],
include: ["web_search_call.results"],
});
console.log(imageResponse.output);محدودیتها
در زیر چند ملاحظه پیادهسازی قابل توجه هنگام استفاده از جستجوی وب آورده شده است.
- مدلهای search در Chat Completions از مسیر مدل تخصصی استفاده میکنند و کنترلهای جدید Responses
web_searchمانند فیلتر دامنه، فهرست کامل منابع، کنترل دسترسی زنده یا بودجه توکن برگشتی را پشتیبانی نمیکنند. - مستندات فعلی OpenAI برای مسیر Chat Completions مدلهای search جدیدتری را پیشنهاد میکند؛ در مستندات AvalAI فقط از model IDهایی استفاده کنید که در
data/models.jsonوجود دارند. - با
tool_choice: "auto"جستجو اختیاری است. وقتی جستجو باید حتما اجرا شود، ازtool_choice: "required"یا انتخاب صریح ابزار جستجوی وب استفاده کنید. - وقتی جستجوی وب به عنوان ابزار در API پاسخها استفاده میشود، محدودیت نرخ مدل انتخابی بههمراه قیمتگذاری ابزار اعمال میشود.
- برای انتظارات مربوط به مدیریت دادهها، اقامت داده، نگهداری و ایمنی، سیاست حریم خصوصی و سیاست محتوا را مرور کنید.