API wyszukiwania w internecie Ollamy można użyć do uzupełniania modeli najnowszymi informacjami, co zmniejsza halucynacje i poprawia dokładność.
Wyszukiwanie w internecie jest dostępne jako REST API z głębszą integracją narzędzi w bibliotekach Python i JavaScript. Umożliwia to również modelom takim jak modele gpt-oss od OpenAI wykonywanie długotrwałych zadań badawczych.
Uwierzytelnianie
Aby uzyskać dostęp do API wyszukiwania w internecie Ollamy, utwórz klucz API. Wymagane jest darmowe konto Ollamy.
API wyszukiwania w internecie
Wykonuje wyszukiwanie w internecie dla pojedynczego zapytania i zwraca odpowiednie wyniki.
Żądanie
POST https://ollama.com/api/web_search
query(ciąg znaków, wymagany): ciąg znaków zapytania wyszukiwaniamax_results(liczba całkowita, opcjonalna): maksymalna liczba zwracanych wyników (domyślnie 5, maksymalnie 10)
Odpowiedź
Zwraca obiekt zawierający:
results(tablica): tablica obiektów wyników wyszukiwania, z których każdy zawiera:title(ciąg znaków): tytuł strony internetowejurl(ciąg znaków): adres URL strony internetowejcontent(ciąg znaków): odpowiedni fragment treści ze strony internetowej
Przykłady
Uwaga
Upewnij się, że zmienna OLLAMA_API_KEY jest ustawiona, lub musi zostać przekazana w nagłówku Authorization.
Żądanie cURL
bash
curl https://ollama.com/api/web_search \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
-d '{
"query":"what is ollama?"
}'Odpowiedź
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..."
}
]
}Biblioteka Python
python
response = ollama.web_search("What is Ollama?")
print(response)Przykładowy wynik
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..."
}
]Więcej przykładów użycia biblioteki Python Python example
Biblioteka JavaScript
tsx
const client = new Ollama();
const results = await client.webSearch("what is ollama?");
console.log(JSON.stringify(results, null, 2));Przykładowy wynik
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..."
}
]
}Więcej przykładów użycia biblioteki JavaScript JavaScript example
API pobierania stron internetowych
Pobiera pojedynczą stronę internetową pod podanym adresem URL i zwraca jej treść.
Żądanie
POST https://ollama.com/api/web_fetch
url(ciąg znaków, wymagany): adres URL do pobrania
Odpowiedź
Zwraca obiekt zawierający:
title(ciąg znaków): tytuł strony internetowejcontent(ciąg znaków): główna treść strony internetowejlinks(tablica): tablica linków znalezionych na stronie
Przykłady
Żądanie 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"
}'Odpowiedź
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)Wynik
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));Wynik
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"
]
}Tworzenie agenta wyszukiwania
Użyj API wyszukiwania w internecie Ollamy jako narzędzia do zbudowania małego agenta wyszukiwania.
Ten przykład używa modelu Qwen 3 od Alibaby z 4 miliardami parametrów.
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:
breakWynik
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.Długość kontekstu i agenci
Wyniki wyszukiwania w internecie mogą zawierać tysiące tokenów. Zaleca się zwiększenie długości kontekstu modelu do co najmniej ~32000 tokenów. Agenci wyszukiwania działają najlepiej przy pełnej długości kontekstu. Chmurowe modele Ollamy działają przy pełnej długości kontekstu.
Serwer MCP
Możesz włączyć wyszukiwanie w internecie w dowolnym kliencie MCP za pomocą serwera MCP w Pythonie.
Cline
Wyszukiwanie w internecie Ollamy można łatwo zintegrować z Cline za pomocą konfiguracji serwera MCP.
Zarządzaj serwerami MCP > Skonfiguruj serwery MCP > Dodaj następującą konfigurację:
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 działa dobrze z narzędziem Codex od OpenAI.
Dodaj następującą konfigurację do pliku ~/.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 może zintegrować się z Goose za pomocą jego funkcji MCP.


Inne integracje
Ollama można zintegrować z większością dostępnych narzędzi, zarówno przez bezpośrednią integrację z API Ollamy, bibliotekami Python/JavaScript, zgodnym z OpenAI API, jak i przez integrację z serwerem MCP.