API веб-поиска Ollama можно использовать для дополнения моделей актуальной информацией, чтобы снизить количество галлюцинаций и повысить точность ответов.
Веб-поиск предоставляется в виде REST API с расширенной интеграцией инструментов в библиотеках для Python и JavaScript. Это также позволяет моделям, таким как gpt-oss от OpenAI, выполнять длительные исследовательские задачи.
Аутентификация
Для доступа к 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-сервером.