WebSearch natif
Certains modèles Clovis intègrent nativement les capacités WebSearch. Le WebSearch est alors piloté directement par le modèle, ce qui simplifie fortement l'intégration.
Modèles compatibles
| Modèle | WebSearch natif |
|---|---|
ClovisLLM/gpt-oss-120b | ✔️ |
Fonctionnement
Avec ces modèles, le WebSearch est nativement intégré au raisonnement du modèle :
- Le modèle détecte qu'une recherche web est pertinente
- Il effectue automatiquement la recherche
- Il exploite les résultats dans sa génération
Il n'est pas nécessaire de :
- gérer une orchestration complexe côté client,
- mettre en place une logique de routage spécifique.
Exemple
Requête avec GPT-OSS
{
"model": "ClovisLLM/gpt-oss-120b",
"input": "Quelles sont les dernières actualités sur l'IA en France ?",
"temperature": 0.3,
"tools": [
{
"type": "mcp",
"server_label": "web_search_preview",
"server_description": "The websearch mcp",
"server_url": "https://llm-gateway.clovis-ai.fr/api/v1/mcp",
"require_approval": "never"
}
],
}
Le modèle décide seul quand effectuer une recherche web et l'intègre dans sa réponse.
MCP WebSearch vs WebSearch natif
| MCP WebSearch | WebSearch natif GPT-OSS | |
|---|---|---|
| Principe | Le modèle appelle un serveur MCP externe | Le WebSearch est nativement intégré au modèle |
| Contrôle | Contrôle maximal sur l'orchestration | Simplifie fortement l'intégration |
| Cas d'usage | Agents autonomes, workflows, orchestrations multi-outils | Intégration rapide sans orchestration côté client |
| Modèles | Tous les modèles Clovis | ClovisLLM/gpt-oss-120b |
Déclarer le serveur MCP
Pour activer le WebSearch, ajoutez un outil de type mcp dans le champ tools de votre requête :
Déclaration MCP
{
"type": "mcp",
"server_label": "web_search_preview",
"server_description": "The websearch mcp",
"server_url": "https://llm-gateway.clovis-ai.fr/api/v1/mcp",
"require_approval": "never"
}
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
type | string | ✔️ | Doit être "mcp" |
server_label | string | ✔️ | Nom logique du serveur MCP |
server_description | string | Description fonctionnelle du serveur | |
server_url | string | ✔️ | URL du serveur MCP Clovis |
require_approval | string | Politique d'exécution (never = automatique) |
Exemples de code
- Python
- JavaScript
Python
from openai import OpenAI
CLOVIS_API_KEY = "sk-xxxx"
CLOVIS_BASE_URL = "https://llm-gateway.clovis-ai.fr/v1"
CLOVIS_MODEL_NAME = "ClovisLLM/gpt-oss-120b"
client = OpenAI(api_key=CLOVIS_API_KEY, base_url=CLOVIS_BASE_URL)
answer = client.responses.create(
model=CLOVIS_MODEL_NAME,
input="Quelles sont les dernières actualités sur l'IA ?",
tools=[
{
"type": "mcp",
"server_label": "web_search_preview",
"server_description": "The websearch mcp",
"server_url": "https://llm-gateway.clovis-ai.fr/api/v1/mcp",
"require_approval": "never",
}
]
)
print(answer.output_text)
JavaScript
const axios = require('axios');
const CLOVIS_API_KEY = 'sk-xxxx';
const CLOVIS_BASE_URL = 'https://llm-gateway.clovis-ai.fr/v1';
async function searchWeb() {
const res = await axios.post(
CLOVIS_BASE_URL + '/responses',
{
model: 'ClovisLLM',
input: 'Quelles sont les dernières actualités sur l\'IA ?',
tools: [
{
type: 'mcp',
server_label: 'web_search_preview',
server_url: 'https://llm-gateway.clovis-ai.fr/api/v1/mcp',
require_approval: 'never',
}
],
},
{
headers: {
Authorization: 'Bearer ' + CLOVIS_API_KEY,
'Content-Type': 'application/json',
},
}
);
console.log(res.data.output[0].content[0].text);
}
searchWeb();