Les grands modèles de langage (LLM) ne peuvent pas répondre aux questions portant sur des données privées. L'outil de récupération de connaissances extrait le contenu d'une base de connaissances et le transmet au LLM, permettant ainsi au modèle de générer des réponses plus précises et pertinentes.
Utilisation
Appelez la fonctionnalité de récupération de connaissances via l'API Responses en ajoutant l'outil file_search au paramètre tools et en spécifiant l'ID de la base de connaissances dans le paramètre vector_store_ids.
Avant de commencer, créez et utilisez une base de connaissances puis récupérez son ID. Le paramètre
vector_store_idsn'accepte actuellement qu'un seul ID de base de connaissances.
# Import dependencies and create a client...
response = client.responses.create(
model="qwen3.8-max",
input="Tell me about the Alibaba Cloud Model Studio X1 phone",
tools=[
{
"type": "file_search",
# Replace this with your knowledge base ID. Only one is currently supported.
"vector_store_ids": ["your_knowledge_base_id"]
}
]
)
print(response.output_text)
Modèles pris en charge
- Qwen-Max : séries Qwen3,8-Max et Qwen3,7-Max
- Qwen-Plus : séries Qwen3,7-Plus, Qwen3,6-Plus et Qwen3,5-Plus
- Qwen-Flash : séries Qwen3,7-Flash, Qwen3,6-Flash et Qwen3,5-Flash
- Série open source Qwen3,6 (sauf qwen3.6-27b)
- Série open source Qwen3,5
Cette fonctionnalité est accessible uniquement via l'API Responses.
Prérequis
-
Obtenez une clé API et configurez-la comme variable d'environnement.
-
Créez une base de connaissances et récupérez son ID. Vous pouvez créer une base de connaissances selon les méthodes suivantes :
-
Création via la console : créez une base de connaissances depuis la page dédiée dans la console Model Studio. Pour plus d'informations, consultez Créer et utiliser une base de connaissances.
-
Création via l'API : appelez l'API à l'aide du kit de développement logiciel (SDK) d'Alibaba Cloud Model Studio pour créer une base de connaissances. Pour plus d'informations, consultez le Guide de l'API Knowledge Base.
Avant de créer une base de connaissances via l'API, récupérez l'ID de l'espace de travail (
workspace_id) depuis la console Model Studio . Seuls deux types de bases de connaissances sont pris en charge : la recherche de documents et la requête de données. Ces types conviennent aux paires questions-réponses basées sur des documents simples et ne prennent pas en charge les réponses contenant du texte enrichi ou des images.
L'ID de la base de connaissances figure sur sa page de détails dans la console Model Studio.
-
Premiers pas
Exécutez le code suivant pour appeler l'outil de récupération de connaissances via l'API Responses. Cet outil extrait le contenu pertinent de la base de connaissances spécifiée afin de générer une réponse.
Remplacez
vector_store_idsdans l'exemple de code par votre ID de base de connaissances.
import os
from openai import OpenAI
client = OpenAI(
# If you have not configured the environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx" (not recommended)
api_key=os.getenv("DASHSCOPE_API_KEY"),
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3.8-max",
input="Tell me about the Alibaba Cloud Model Studio X1 phone",
tools=[
{
"type": "file_search",
# Replace this with your knowledge base ID. Only one is currently supported.
"vector_store_ids": ["your_knowledge_base_id"]
}
]
)
print("[Model Response]")
print(response.output_text)
print(f"\n[Token Usage] Input: {response.usage.input_tokens}, Output: {response.usage.output_tokens}, Total: {response.usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
// If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey: "sk-xxx",
apiKey: process.env.DASHSCOPE_API_KEY,
// The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.8-max",
input: "Tell me about the Alibaba Cloud Model Studio X1 phone",
tools: [
{
type: "file_search",
// Replace this with your knowledge base ID. Only one is currently supported.
vector_store_ids: ["your_knowledge_base_id"]
}
]
});
console.log("[Model Response]");
console.log(response.output_text);
const usage = response.usage;
console.log(`\n[Token Usage] Input: ${usage.input_tokens}, Output: ${usage.output_tokens}, Total: ${usage.total_tokens}`);
}
main();
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-max",
"input": "Tell me about the Alibaba Cloud Model Studio X1 phone",
"tools": [
{
"type": "file_search",
"vector_store_ids": ["your_knowledge_base_id"]
}
]
}'
L'exécution du code renvoie une réponse similaire à l'exemple suivant :
[Model Response]
Based on the content in the knowledge base, the key points of this product include the following:
1. **Core features**: The product provides...
2. **Scenarios**: Suitable for...
3. **Technical attributes**: Based on...
...
[Token Usage] Input: 1568, Output: 1724, Total: 3292
Sortie en streaming
L'outil de récupération de connaissances effectue une recherche sémantique dans la base de connaissances, ce qui peut prendre un certain temps. Activez la sortie en streaming pour obtenir les résultats intermédiaires en temps réel.
import os
from openai import OpenAI
client = OpenAI(
# If you have not configured the environment variable, replace the following line with your Model Studio API key: api_key="sk-xxx" (not recommended)
api_key=os.getenv("DASHSCOPE_API_KEY"),
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)
stream = client.responses.create(
model="qwen3.8-max",
input="Tell me about the Alibaba Cloud Model Studio X1 phone",
tools=[
{
"type": "file_search",
# Replace this with your knowledge base ID. Only one is currently supported.
"vector_store_ids": ["your_knowledge_base_id"]
}
],
stream=True
)
for event in stream:
# The model response starts
if event.type == "response.content_part.added":
print("[Model Response]")
# Print the model response in a stream
elif event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)
# When the response is complete, print the token usage
elif event.type == "response.completed":
usage = event.response.usage
print(f"\n\n[Token Usage] Input: {usage.input_tokens}, Output: {usage.output_tokens}, Total: {usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
// If you have not configured the environment variable, replace the following line with your Model Studio API key: apiKey: "sk-xxx",
apiKey: process.env.DASHSCOPE_API_KEY,
// The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const stream = await openai.responses.create({
model: "qwen3.8-max",
input: "Tell me about the Alibaba Cloud Model Studio X1 phone",
tools: [
{
type: "file_search",
// Replace this with your knowledge base ID. Only one is currently supported.
vector_store_ids: ["your_knowledge_base_id"]
}
],
stream: true
});
for await (const event of stream) {
// The model response starts
if (event.type === "response.content_part.added") {
console.log("[Model Response]");
}
// Print the model response in a stream
else if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
}
// When the response is complete, print the token usage
else if (event.type === "response.completed") {
const usage = event.response.usage;
console.log(`\n\n[Token Usage] Input: ${usage.input_tokens}, Output: ${usage.output_tokens}, Total: ${usage.total_tokens}`);
}
}
}
main();
# The following URL is for the Singapore region. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-max",
"input": "Tell me about the Alibaba Cloud Model Studio X1 phone",
"tools": [
{
"type": "file_search",
"vector_store_ids": ["your_knowledge_base_id"]
}
],
"stream": true
}'
Paramètres
L'outil file_search accepte les paramètres suivants :
| Paramètre | Obligatoire | Description |
|---|---|---|
| Oui | Doit être défini sur |
| Oui | Liste des ID de bases de connaissances. Actuellement, vous ne pouvez transmettre qu'un seul ID de base de connaissances. Cet ID est disponible sur la page de détails de la base de connaissances dans la console Model Studio, ou obtenu lors de la création d'une base de connaissances via l'API.
|
Facturation
La facturation comprend les éléments suivants :
- Frais d'appel du modèle : le contenu récupéré depuis la base de connaissances est ajouté au prompt, ce qui augmente le nombre de tokens d'entrée pour le modèle. La tarification standard du modèle s'applique. Pour plus de détails, consultez la console Model Studio.
- Frais d'appel d'outil : La fonctionnalité de base de connaissances est actuellement gratuite.