Веб-пошуковий API Ollama можна використовувати для доповнення моделей найновішою інформацією, щоб зменшити кількість галлюцинацій та підвищити точність відповідей.
Веб-пошук реалізовано як REST API з поглибленими інтеграціями інструментів у бібліотеках для Python та JavaScript. Це також дозволяє моделям, наприклад, моделям OpenAI gpt-oss, виконувати довготривалі дослідницькі завдання.
Автентифікація
Щоб отримати доступ до веб-пошукового API Ollama, створіть API-ключ. Для цього потрібен безкоштовний обліковий запис Ollama.
API веб-пошуку
Виконує веб-пошук за одним запитом і повертає відповідні результати.
Запит
POST https://ollama.com/api/web_search
query(рядок, обов'язковий): рядок з пошуковим запитомmax_results(ціле число, необов'язковий): максимальна кількість результатів, що повертаються (за замовчуванням 5, максимум 10)
Відповідь
Повертає об'єкт, що містить:
results(масив): масив об'єктів з результатами пошуку, кожен з яких містить:title(рядок): заголовок веб-сторінкиurl(рядок): URL веб-сторінкиcontent(рядок): відповідний фрагмент вмісту з веб-сторінки
Приклади
Примітка
Переконайтеся, що змінна середовища OLLAMA_API_KEY встановлена, або передайте ключ у заголовку Authorization.
Запит cURL
bash
curl https://ollama.com/api/web_search \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
-d '{
"query":"what is ollama?"
}'Відповідь
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..."
}
]
}Бібліотека Python
python
response = ollama.web_search("What is Ollama?")
print(response)Приклад виводу
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..."
}
]Більше прикладів використання Ollama на Python
Бібліотека JavaScript
tsx
const client = new Ollama();
const results = await client.webSearch("what is ollama?");
console.log(JSON.stringify(results, null, 2));Приклад виводу
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..."
}
]
}Більше прикладів використання Ollama на JavaScript
API отримання веб-сторінок
Отримує вміст однієї веб-сторінки за URL і повертає його.
Запит
POST https://ollama.com/api/web_fetch
url(рядок, обов'язковий): URL для отримання вмісту
Відповідь
Повертає об'єкт, що містить:
title(рядок): заголовок веб-сторінкиcontent(рядок): основний вміст веб-сторінкиlinks(масив): масив посилань, знайдених на сторінці
Приклади
Запит 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"
}'Відповідь
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)Результат
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));Результат
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"
]
}Створення пошукового агента
Використовуйте веб-пошуковий API Ollama як інструмент для створення міні-пошукового агента.
У цьому прикладі використовується модель Qwen 3 від Alibaba з 4 млрд параметрів.
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]+'...')
# Результат обрізано через обмежену довжину контексту
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:
breakРезультат
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.Довжина контексту та агенти
Результати веб-пошуку можуть містити тисячі токенів. Рекомендується збільшити довжину контексту моделі щонайменше до ~32000 токенів. Пошукові агенти працюють найкраще при повній довжині контексту. Хмарні моделі Ollama працюють з повною довжиною контексту.
MCP-сервер
Ви можете увімкнути веб-пошук у будь-якому MCP-клієнті за допомогою Python MCP-сервера.
Cline
Веб-пошук Ollama можна легко інтегрувати з Cline за допомогою конфігурації MCP-сервера.
Manage MCP Servers > Configure MCP Servers > Додайте таку конфігурацію:
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 добре працює з інструментом Codex від OpenAI.
Додайте таку конфігурацію до файлу ~/.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 можна інтегрувати з Goose за допомогою функції MCP.


Інші інтеграції
Ollama можна інтегрувати в більшість доступних інструментів як через пряму інтеграцію з API Ollama, бібліотеками для Python/JavaScript, сумісним API OpenAI, так і через інтеграцію з MCP-сервером.