L'API de recherche web d'Ollama peut être utilisée pour enrichir les modèles avec les informations les plus récentes afin de réduire les hallucinations et d'améliorer la précision.
La recherche web est proposée sous forme d'API REST, avec des intégrations d'outils plus poussées dans les bibliothèques Python et JavaScript. Cela permet également à des modèles comme les modèles gpt-oss d'OpenAI d'effectuer des tâches de recherche de longue durée.
Authentification
Pour accéder à l'API de recherche web d'Ollama, créez une clé API. Un compte Ollama gratuit est requis.
API de recherche web
Effectue une recherche web pour une seule requête et renvoie les résultats pertinents.
Requête
POST https://ollama.com/api/web_search
query(chaîne de caractères, obligatoire) : la chaîne de caractères de la requête de recherchemax_results(entier, facultatif) : nombre maximal de résultats à renvoyer (valeur par défaut 5, maximum 10)
Réponse
Renvoie un objet contenant :
results(tableau) : tableau d'objets de résultats de recherche, chacun contenant :title(chaîne de caractères) : le titre de la page weburl(chaîne de caractères) : l'URL de la page webcontent(chaîne de caractères) : extrait de contenu pertinent provenant de la page web
Exemples
Remarque
Assurez-vous que la variable d'environnement OLLAMA_API_KEY est définie, ou qu'elle est transmise dans l'en-tête Authorization.
Requête cURL
bash
curl https://ollama.com/api/web_search \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
-d '{
"query":"what is ollama?"
}'Réponse
json
{
"results": [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available..."
},
{
"title": "What is Ollama? Introduction to the AI model management tool",
"url": "https://www.hostinger.com/tutorials/what-is-ollama",
"content": "Ariffud M. 6min Read..."
},
{
"title": "Ollama Explained: Transforming AI Accessibility and Language ...",
"url": "https://www.geeksforgeeks.org/artificial-intelligence/ollama-explained-transforming-ai-accessibility-and-language-processing/",
"content": "Data Science Data Science Projects Data Analysis..."
}
]
}Bibliothèque Python
python
response = ollama.web_search("What is Ollama?")
print(response)Exemple de sortie
python
results = [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available in Ollama..."
},
{
"title": "What is Ollama? Features, Pricing, and Use Cases - Walturn",
"url": "https://www.walturn.com/insights/what-is-ollama-features-pricing-and-use-cases",
"content": "Our services..."
},
{
"title": "Complete Ollama Guide: Installation, Usage & Code Examples",
"url": "https://collabnix.com/complete-ollama-guide-installation-usage-code-examples",
"content": "Join our Discord Server..."
}
]Autre exemple Ollama en Python
Bibliothèque JavaScript
tsx
const client = new Ollama();
const results = await client.webSearch("what is ollama?");
console.log(JSON.stringify(results, null, 2));Exemple de sortie
json
{
"results": [
{
"title": "Ollama",
"url": "https://ollama.com/",
"content": "Cloud models are now available..."
},
{
"title": "What is Ollama? Introduction to the AI model management tool",
"url": "https://www.hostinger.com/tutorials/what-is-ollama",
"content": "Ollama is an open-source tool..."
},
{
"title": "Ollama Explained: Transforming AI Accessibility and Language Processing",
"url": "https://www.geeksforgeeks.org/artificial-intelligence/ollama-explained-transforming-ai-accessibility-and-language-processing/",
"content": "Ollama is a groundbreaking..."
}
]
}Autre exemple Ollama en JavaScript
API de récupération web
Récupère une seule page web par son URL et renvoie son contenu.
Requête
POST https://ollama.com/api/web_fetch
url(chaîne de caractères, obligatoire) : l'URL à récupérer
Réponse
Renvoie un objet contenant :
title(chaîne de caractères) : le titre de la page webcontent(chaîne de caractères) : le contenu principal de la page weblinks(tableau) : tableau de liens trouvés sur la page
Exemples
Requête cURL
python
curl --request POST \
--url https://ollama.com/api/web_fetch \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"url": "ollama.com"
}'Réponse
json
{
"title": "Ollama",
"content": "[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama...",
"links": [
"http://ollama.com/",
"http://ollama.com/models",
"https://github.com/ollama/ollama"
]SDK Python
python
from ollama import web_fetch
result = web_fetch('https://ollama.com')
print(result)Résultat
python
WebFetchResponse(
title='Ollama',
content='[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama\n\n**Chat & build
with open models**\n\n[Download](https://ollama.com/download) [Explore
models](https://ollama.com/models)\n\nAvailable for macOS, Windows, and Linux',
links=['https://ollama.com/', 'https://ollama.com/models', 'https://github.com/ollama/ollama']
)SDK JavaScript
tsx
const client = new Ollama();
const fetchResult = await client.webFetch("https://ollama.com");
console.log(JSON.stringify(fetchResult, null, 2));Résultat
json
{
"title": "Ollama",
"content": "[Cloud models](https://ollama.com/blog/cloud-models) are now available in Ollama...",
"links": [
"https://ollama.com/",
"https://ollama.com/models",
"https://github.com/ollama/ollama"
]
}Création d'un agent de recherche
Utilisez l'API de recherche web d'Ollama comme outil pour créer un mini agent de recherche.
Cet exemple utilise le modèle Qwen 3 d'Alibaba avec 4 milliards de paramètres.
bash
ollama pull qwen3:4bpython
from ollama import chat, web_fetch, web_search
available_tools = {'web_search': web_search, 'web_fetch': web_fetch}
messages = [{'role': 'user', 'content': "what is ollama's new engine"}]
while True:
response = chat(
model='qwen3:4b',
messages=messages,
tools=[web_search, web_fetch],
think=True
)
if response.message.thinking:
print('Thinking: ', response.message.thinking)
if response.message.content:
print('Content: ', response.message.content)
messages.append(response.message)
if response.message.tool_calls:
print('Tool calls: ', response.message.tool_calls)
for tool_call in response.message.tool_calls:
function_to_call = available_tools.get(tool_call.function.name)
if function_to_call:
args = tool_call.function.arguments
result = function_to_call(**args)
print('Result: ', str(result)[:200]+'...')
# Result is truncated for limited context lengths
messages.append({'role': 'tool', 'content': str(result)[:2000 * 4], 'tool_name': tool_call.function.name})
else:
messages.append({'role': 'tool', 'content': f'Tool {tool_call.function.name} not found', 'tool_name': tool_call.function.name})
else:
breakRésultat
Thinking: Okay, the user is asking about Ollama's new engine. I need to figure out what they're referring to. Ollama is a company that develops large language models, so maybe they've released a new model or an updated version of their existing engine....
Tool calls: [ToolCall(function=Function(name='web_search', arguments={'max_results': 3, 'query': 'Ollama new engine'}))]
Result: results=[WebSearchResult(content='# New model scheduling\n\n## September 23, 2025\n\nOllama now includes a significantly improved model scheduling system. Ahead of running a model, Ollama’s new engine
Thinking: Okay, the user asked about Ollama's new engine. Let me look at the search results.
First result is from September 23, 2025, talking about new model scheduling. It mentions improved memory management, reduced crashes, better GPU utilization, and multi-GPU performance. Examples show speed improvements and accurate memory reporting. Supported models include gemma3, llama4, qwen3, etc...
Content: Ollama has introduced two key updates to its engine, both released in 2025:
1. **Enhanced Model Scheduling (September 23, 2025)**
- **Precision Memory Management**: Exact memory allocation reduces out-of-memory crashes and optimizes GPU utilization.
- **Performance Gains**: Examples show significant speed improvements (e.g., 85.54 tokens/s vs 52.02 tokens/s) and full GPU layer utilization.
- **Multi-GPU Support**: Improved efficiency across multiple GPUs, with accurate memory reporting via tools like `nvidia-smi`.
- **Supported Models**: Includes `gemma3`, `llama4`, `qwen3`, `mistral-small3.2`, and more.
2. **Multimodal Engine (May 15, 2025)**
- **Vision Support**: First-class support for vision models, including `llama4:scout` (109B parameters), `gemma3`, `qwen2.5vl`, and `mistral-small3.1`.
- **Multimodal Tasks**: Examples include identifying animals in multiple images, answering location-based questions from videos, and document scanning.
These updates highlight Ollama's focus on efficiency, performance, and expanded capabilities for both text and vision tasks.Longueur de contexte et agents
Les résultats de recherche web peuvent contenir des milliers de tokens. Il est recommandé d'augmenter la longueur de contexte du modèle à au moins ~32 000 tokens. Les agents de recherche fonctionnent mieux avec la longueur de contexte complète. Les modèles cloud d'Ollama fonctionnent avec la longueur de contexte complète.
Serveur MCP
Vous pouvez activer la recherche web dans n'importe quel client MCP via le serveur MCP Python.
Cline
La recherche web d'Ollama peut être intégrée facilement à Cline en utilisant la configuration du serveur MCP.
Gérer les serveurs MCP > Configurer les serveurs MCP > Ajoutez la configuration suivante :
json
{
"mcpServers": {
"web_search_and_fetch": {
"type": "stdio",
"command": "uv",
"args": ["run", "path/to/web-search-mcp.py"],
"env": { "OLLAMA_API_KEY": "your_api_key_here" }
}
}
}
Codex
Ollama fonctionne bien avec l'outil Codex d'OpenAI.
Ajoutez la configuration suivante dans ~/.codex/config.toml
python
[mcp_servers.web_search]
command = "uv"
args = ["run", "path/to/web-search-mcp.py"]
env = { "OLLAMA_API_KEY" = "your_api_key_here" }
Goose
Ollama peut s'intégrer à Goose via sa fonctionnalité MCP.


Autres intégrations
Ollama peut être intégré à la plupart des outils disponibles, que ce soit via une intégration directe de l'API d'Ollama, des bibliothèques Python / JavaScript, une API compatible OpenAI ou une intégration de serveur MCP.