Qwen Web Search
QwenリクエストでWeb検索を有効にし、検索エンジンと引用結果を正しく処理します。
Qwen Web Searchを使用すると、対応するQwenモデルがWeb情報へアクセスし、レスポンスが許可する場合は出典の引用を返します。天気、ニュース、製品更新など、最新情報が必要なタスクに適しています。
Qwen検索は、Chatの拡張フィールド、Responsesの組み込みツール、モデル固有の検索フレームワークとして提供される場合があります。3つの有効化方法と引用構造は異なるため、現在のモデル詳細に従って選択してください。
検索エンドポイントはモデルによる明示的な対応が必要です
Qwenシリーズ名だけからenable_search、Responses Web Search、検索エンジン選択のすべてが利用できると判断しないでください。モデルマーケットプレイスでモデルとプロトコルを確認してください。
Chatで検索を有効にする
既存資料に記録されたQwen Chatの主な方法はenable_searchを使用します。
curl 'https://api.agtcloud.cn/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer your-api-key' \
--data '{
"model": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "今日の東京の天気を出典付きで教えてください。"
}
],
"enable_search": true
}'enable_searchはモデルまたはチャネルの拡張フィールドであり、すべてのChatモデルに共通するパラメータではありません。SDKの型にこのフィールドがない場合は、Raw HTTPリクエストまたはSDKの拡張パラメータ機能を使用し、実際のモデルドキュメントを確認してください。
Responsesで組み込み検索を使用する
現在のモデルがResponses Web Searchに対応する場合は、組み込みツール構造を使用できます。
curl 'https://api.agtcloud.cn/v1/responses' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer your-api-key' \
--data '{
"model": "MODEL_ID",
"tools": [
{
"type": "web_search_preview"
}
],
"input": "今日の東京の天気を出典付きで教えてください。"
}'Responsesの結果には、web_search_call、テキストOutput Item、url_citationが含まれる場合があります。完全な構造はResponses Referenceを参照してください。
検索エンジンまたはProviderを選択する
Qwen固有の検索フレームワークでは、複数の検索Providerを選択できる場合があります。この設定は特定のモデル、Agentフレームワーク、チャネルの機能であり、AGTCloud Chatの共通フィールドではありません。
現在のモデルドキュメントにProviderオプションが明示されている場合は、次を考慮してください。
- デフォルトProviderを使用すると、設定を減らし、サーバー側のフォールバック機能を維持できます。
- Providerの指定は、出典範囲、検索品質、コンプライアンス境界に明確な要件がある場合に適しています。
- Providerの認証情報と権限はサーバー側に保存し、Promptやブラウザコードに含めないでください。
- Providerが利用できないときに自動で切り替わるかどうかは、現在のツール実装を確認し、クライアント側でも失敗を処理します。
古いドキュメントにある検索エンジン名とデフォルト順序を、長期的なプラットフォーム仕様として記載しないでください。
回答と引用を読み取る
エンドポイントによって次の内容が返る場合があります。
| エンドポイント | 回答 | 引用 |
|---|---|---|
| Chat拡張 | choices[].message.content | レスポンスが提供するAnnotation、リンク、番号付き出典 |
| Responses | Message Output Item | annotations内のurl_citation |
| ネイティブ検索フレームワーク | フレームワークが生成した回答 | 番号付き出典一覧またはProviderの出典オブジェクト |
回答テキストに[1]、[2]などの番号がある場合、クライアントは番号に対応する出典URLも取得する必要があります。リンク先のない番号だけを表示しないでください。
{
"answer": "東京では今日、にわか雨が予想されています。[1]",
"sources": [
{
"index": 1,
"title": "出典タイトル",
"url": "https://example.com/weather"
}
]
}この例はアプリケーション内部で整理できる表示データを示すものであり、AGTCloud APIの固定レスポンスSchemaではありません。
ネイティブ検索とカスタム関数
組み込みWeb Searchは公開Web情報を対象とします。企業内検索、注文、非公開ナレッジベースを照会する場合は、Tool Callingで独自の制御されたサービスを呼び出してください。
カスタムツールが返すテキストには、自動的に信頼できるCitationが付くわけではありません。アプリケーションは出典メタデータも返し、最終画面で回答と出典の対応関係を維持してください。
失敗とフォールバック
| 状況 | 処理方法 |
|---|---|
enable_searchが拒否される | モデルとチャネルが拡張フィールドに対応するか確認するか、登録済みのResponsesエンドポイントを選択する |
| 検索が開始されない | 質問に最新情報が必要かを確認し、有効化フィールドが上流へ実際に届いたかを確認する |
| 番号に出典URLがない | クリック可能な引用として表示せず、完全な出典情報がないことを示す |
| Providerが利用できない | 現在のツール規則に従って切り替えるか限定的に再試行し、複数Providerを無限に循環しない |
| 検索結果が矛盾 | 出典と日付を表示し、重要な相違をモデルに隠させない |
公開前の確認
- 現在のモデルが
enable_searchまたは選択したResponsesツールに明確に対応している。 - モデル拡張フィールドがSDKによって黙って削除されていない。
- Chat、Responses、ネイティブ検索結果に独立したパーサーがある。
- 引用番号が実際のタイトルとURLに対応している。
- Provider設定と認証情報がクライアントのPromptへ入らない。
- 結果なし、検索失敗、出典不足に明確なフォールバックがある。
Chatの共通フィールドはChat Completions Referenceを、リクエスト失敗時はエラーとトラブルシューティングを参照してください。