大規模言語モデルは、非公開データにアクセスできません。知識検索ツールは、ご利用のナレッジベースにクエリを実行し、モデルにより正確な回答を生成させるための検索結果を提供します。
使用方法
tools パラメーターに file_search ツールを追加し、vector_store_ids でナレッジベース ID を指定します。
この機能を使用する前に、ナレッジベースを作成し、その ID を取得する必要があります (現在サポートされている ID は 1 つのみです)。
# 依存関係をインポートし、クライアントを作成します...
response = client.responses.create(
model="qwen3.5-plus",
input="アリババクラウド Bailian X1 スマートフォンを紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース ID に置き換えてください。現在サポートされている ID は 1 つのみです。
"vector_store_ids": ["your_knowledge_base_id"]
}
]
)
print(response.output_text)サポートされるモデル
Qwen-Plus:
qwen3.5-plus、qwen3.5-plus-2026-02-15Qwen-Flash:
qwen3.5-flash、qwen3.5-flash-2026-02-23オープンソース Qwen:
qwen3.5-397b-a17b、qwen3.5-122b-a10b、qwen3.5-27b、qwen3.5-35b-a3bResponses API でのみ利用可能です。 中国 (香港) リージョンのモデルはサポートされていません。
前提条件
以下のいずれかの方法でナレッジベースを作成し、その ID を取得します。
コンソールでの作成:Model Studio コンソールのナレッジベースページでナレッジベースを作成します。詳細な手順については、「こちら」をご参照ください。
API での作成:SDK を使用してナレッジベースを作成します。詳細については、「ナレッジベース API ガイド」をご参照ください。
ドキュメント検索とデータクエリのタイプがサポートされています。画像応答はサポートされていません。
ナレッジベース ID は、コンソールのナレッジベース詳細ページで確認できます。
クイックスタート
以下のコードは、Responses API を使用して知識検索ツールを呼び出し、指定されたナレッジベースにクエリを実行して回答を生成する例です。
vector_store_ids をご利用のナレッジベース ID に置き換えてください。import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合は、api_key="sk-xxx" を使用します (非推奨)。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3.5-plus",
input="アリババクラウド Bailian X1 スマートフォンを紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース ID に置き換えてください。現在サポートされている ID は 1 つのみです。
"vector_store_ids": ["your_knowledge_base_id"]
}
]
)
print("[モデルの応答]")
print(response.output_text)
print(f"\n[トークン使用量] 入力: {response.usage.input_tokens}, 出力: {response.usage.output_tokens}, 合計: {response.usage.total_tokens}")import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
// 環境変数が設定されていない場合は、apiKey: "sk-xxx" を使用します (非推奨)。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.5-plus",
input: "アリババクラウド Bailian X1 スマートフォンを紹介してください",
tools: [
{
type: "file_search",
// ご利用のナレッジベース ID に置き換えてください。現在サポートされている ID は 1 つのみです。
vector_store_ids: ["your_knowledge_base_id"]
}
]
});
console.log("[モデルの応答]");
console.log(response.output_text);
const usage = response.usage;
console.log(`\n[トークン使用量] 入力: ${usage.input_tokens}, 出力: ${usage.output_tokens}, 合計: ${usage.total_tokens}`);
}
main();curl -X POST https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"input": "アリババクラウド Bailian X1 スマートフォンを紹介してください",
"tools": [
{
"type": "file_search",
"vector_store_ids": ["your_knowledge_base_id"]
}
]
}'上記のコードを実行すると、次のような応答が返されます。
[モデルの応答]
ナレッジベースのコンテンツに基づき、主要なプロダクトの特徴は以下の通りです。
1. **コア機能**:このプロダクトは...を提供します。
2. **利用シーン**:...に適用可能です。
3. **技術的属性**:...に基づいています。
...
[トークン使用量] 入力:1568、出力:1724、合計:3292ストリーミング出力
知識検索では、ナレッジベース内でセマンティック検索が実行されるため、時間がかかる場合があります。ストリーミングを有効にすると、リアルタイムで中間結果を取得できます。
import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合は、api_key="sk-xxx" を使用します (非推奨)。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
)
stream = client.responses.create(
model="qwen3.5-plus",
input="アリババクラウド Bailian X1 スマートフォンを紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース ID に置き換えてください。現在サポートされている ID は 1 つのみです。
"vector_store_ids": ["your_knowledge_base_id"]
}
],
stream=True
)
for event in stream:
# モデルの応答開始
if event.type == "response.content_part.added":
print("[モデルの応答]")
# モデルの応答をストリーム出力
elif event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
# 応答完了後、トークン使用量を出力
elif event.type == "response.completed":
usage = event.response.usage
print(f"\n\n[トークン使用量] 入力: {usage.input_tokens}, 出力: {usage.output_tokens}, 合計: {usage.total_tokens}")import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
// 環境変数が設定されていない場合は、apiKey: "sk-xxx" を使用します (非推奨)。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
});
async function main() {
const stream = await openai.responses.create({
model: "qwen3.5-plus",
input: "アリババクラウド Bailian X1 スマートフォンを紹介してください",
tools: [
{
type: "file_search",
// ご利用のナレッジベース ID に置き換えてください。現在サポートされている ID は 1 つのみです。
vector_store_ids: ["your_knowledge_base_id"]
}
],
stream: true
});
for await (const event of stream) {
// モデルの応答開始
if (event.type === "response.content_part.added") {
console.log("[モデルの応答]");
}
// モデルの応答をストリーム出力
else if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
}
// 応答完了後、トークン使用量を出力
else if (event.type === "response.completed") {
const usage = event.response.usage;
console.log(`\n\n[トークン使用量] 入力: ${usage.input_tokens}, 出力: ${usage.output_tokens}, 合計: ${usage.total_tokens}`);
}
}
}
main();curl -X POST https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"input": "アリババクラウド Bailian X1 スマートフォンを紹介してください",
"tools": [
{
"type": "file_search",
"vector_store_ids": ["your_knowledge_base_id"]
}
],
"stream": true
}'パラメーター
file_search ツールのパラメーター:
パラメーター | 必須 | 説明 |
| はい |
|
| はい | ナレッジベース ID のリスト (現在サポートされているのは 1 つのみです)。ID は、コンソールのナレッジベース詳細ページで確認するか、API での作成時に取得します。 |
課金
課金には以下が含まれます。
モデル呼び出し料金:取得されたコンテンツがプロンプトに追加されるため、入力トークンが増加します。課金は、標準のモデル価格設定に従います。詳細については、「モデルリスト」をご参照ください。
ツール呼び出し料金:ナレッジベース機能は現在無料です。