API pencarian web Ollama dapat digunakan untuk memperkaya model dengan informasi terbaru guna mengurangi halusinasi dan meningkatkan akurasi.
Pencarian web disediakan sebagai REST API dengan integrasi alat yang lebih dalam di pustaka Python dan JavaScript. Ini juga memungkinkan model seperti model gpt-oss OpenAI untuk melakukan tugas penelitian yang berjalan lama.
Autentikasi
Untuk mengakses API pencarian web Ollama, buat kunci API. Akun Ollama gratis diperlukan.
API Pencarian Web
Melakukan pencarian web untuk satu kueri dan mengembalikan hasil yang relevan.
Permintaan
POST https://ollama.com/api/web_search
query(string, wajib): string kueri pencarianmax_results(integer, opsional): jumlah hasil maksimum yang dikembalikan (default 5, maks 10)
Respons
Mengembalikan objek yang berisi:
results(array): array objek hasil pencarian, masing-masing berisi:title(string): judul halaman weburl(string): URL halaman webcontent(string): cuplikan konten yang relevan dari halaman web
Contoh
Catatan
Pastikan OLLAMA_API_KEY disetel atau harus diteruskan di header Authorization.
Permintaan cURL
bash
curl https://ollama.com/api/web_search \
--header "Authorization: Bearer $OLLAMA_API_KEY" \
-d '{
"query":"what is ollama?"
}'Respons
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..."
}
]
}Pustaka Python
python
response = ollama.web_search("What is Ollama?")
print(response)Contoh output
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..."
}
]Contoh Python Ollama lainnya
Pustaka JavaScript
tsx
const client = new Ollama();
const results = await client.webSearch("what is ollama?");
console.log(JSON.stringify(results, null, 2));Contoh output
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..."
}
]
}Contoh JavaScript Ollama lainnya
API Pengambilan Web
Mengambil satu halaman web berdasarkan URL dan mengembalikan kontennya.
Permintaan
POST https://ollama.com/api/web_fetch
url(string, wajib): URL yang akan diambil
Respons
Mengembalikan objek yang berisi:
title(string): judul halaman webcontent(string): konten utama halaman weblinks(array): array tautan yang ditemukan di halaman
Contoh
Permintaan 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"
}'Respons
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)Hasil
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));Hasil
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"
]
}Membangun Agen Pencarian
Gunakan API pencarian web Ollama sebagai alat untuk membangun mini agen pencarian.
Contoh ini menggunakan model Qwen 3 milik Alibaba dengan 4B parameter.
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]+'...')
# Hasil dipotong untuk panjang konteks yang terbatas
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:
breakHasil
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.Panjang konteks dan agen
Hasil pencarian web dapat mengembalikan ribuan token. Disarankan untuk meningkatkan panjang konteks model menjadi setidaknya ~32000 token. Agen pencarian bekerja paling baik dengan panjang konteks penuh. Model cloud Ollama berjalan dengan panjang konteks penuh.
Server MCP
Anda dapat mengaktifkan pencarian web di klien MCP mana pun melalui server MCP Python.
Cline
Pencarian web Ollama dapat diintegrasikan dengan Cline dengan mudah menggunakan konfigurasi server MCP.
Kelola Server MCP > Konfigurasikan Server MCP > Tambahkan konfigurasi berikut:
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 bekerja baik dengan alat Codex OpenAI.
Tambahkan konfigurasi berikut ke ~/.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 dapat diintegrasikan dengan Goose melalui fitur MCP-nya.


Integrasi lainnya
Ollama dapat diintegrasikan ke dalam sebagian besar alat yang tersedia baik melalui integrasi langsung API Ollama, pustaka Python/JavaScript, API yang kompatibel dengan OpenAI, maupun integrasi server MCP.