大規模言語モデル (LLM) は、非公開ドメインに関する質問には回答できません。ナレッジ取得ツールは、ナレッジベースからコンテンツを取得して LLM に提供することで、LLM がより正確で専門的な回答を生成できるようにします。
使用方法
ナレッジ取得機能は、Responses API を使用して呼び出すことができます。file_search ツールを tools パラメーターに追加し、vector_store_ids パラメーターを使用して取得するナレッジベース ID を指定します。
この機能を使用する前に、ナレッジベースを作成して使用し、その ID を取得する必要があります。現在、vector_store_ids パラメーターは 1 つのナレッジベース ID のみをサポートしています。# 依存関係をインポートし、クライアントを作成します...
response = client.responses.create(
model="qwen3.5-plus",
input="アリババクラウドフォン X1 について紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース 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 を呼び出し、ナレッジベースを作成します。詳細な手順については、「ナレッジベース API ガイド」をご参照ください。
ドキュメント検索とデータクエリのタイプがサポートされています。画像付き応答はサポートされていません。
ナレッジベース ID は、Model Studio コンソールのナレッジベース詳細ページで確認できます。
クイックスタート
次のコードを実行して、Responses API を使用してナレッジ取得ツールを呼び出します。指定されたナレッジベースから関連コンテンツを取得し、回答を生成します。
サンプルコードの vector_store_ids を、実際のナレッジベース ID に置き換えてください。import os
from openai import OpenAI
client = OpenAI(
# 環境変数を設定していない場合は、次の行を api_key="sk-xxx" (非推奨) に置き換え、ご利用の Model Studio API キーを使用してください。
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="アリババクラウドフォン X1 について紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース 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" に置き換え、ご利用の Model Studio API キーを使用してください。
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: "アリババクラウドフォン X1 について紹介してください",
tools: [
{
type: "file_search",
// ご利用のナレッジベース 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": "アリババクラウドフォン 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" (非推奨) に置き換え、ご利用の Model Studio API キーを使用してください。
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="アリババクラウドフォン X1 について紹介してください",
tools=[
{
"type": "file_search",
# ご利用のナレッジベース 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" に置き換え、ご利用の Model Studio API キーを使用してください。
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: "アリババクラウドフォン X1 について紹介してください",
tools: [
{
type: "file_search",
// ご利用のナレッジベース 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": "Alibaba Cloud のアリババクラウドフォン X1 について紹介してください。",
"tools": [
{
"type": "file_search",
"vector_store_ids": ["your_knowledge_base_id"]
}
],
"stream": true
}'パラメーター
file_search ツールは、次のパラメーターをサポートしています。
パラメーター | 必須 | 説明 |
| はい |
|
| はい | ナレッジベース ID のリスト。現在、サポートされているナレッジベース ID は 1 つのみです。ナレッジベース ID は、Model Studio コンソールのナレッジベース詳細ページで表示するか、API を介してナレッジベースを作成する際に取得します。 |
課金
課金には以下が含まれます。
モデル呼び出し料金:ナレッジベースから取得されたコンテンツがプロンプトに追加されるため、モデルの入力トークン数が増加します。課金は、モデルの標準価格設定に従います。価格の詳細については、「モデルリスト」をご参照ください。
ツール呼び出し料金:ナレッジベース機能は現在無料です。