隨著大型語言模型(LLM)在人工智慧領域的廣泛應用,Ollama作為一款本地化運行的開源大型語言模型平台,提供了靈活且高效的API接口,方便開發者通過程式與模型進行交互,實現文本生成、對話系統、多輪聊天等功能。本文將詳細介紹Ollama API的使用方法,包括安裝服務、API端點說明、請求格式、響應格式及Python SDK的實作示例,幫助讀者快速掌握Ollama API的開發技巧。
在使用API之前,需先確保Ollama本地服務已啟動。打開終端或命令提示符,輸入:
ollama serve
服務預設監聽地址為 http://localhost:11434 。若出現「address already in use」錯誤,表示服務已在運行中,可直接進行API調用。
端點:POST /api/generate
功能:根據輸入的提示詞生成文本。
請求格式:
json
{ "model": "<model-name>", "prompt": "<input-text>", "stream": false, "options": { "temperature": 0.7, "max_tokens": 100 } }
響應格式:
json
{ "response": "<generated-text>", "done": true }
端點:POST /api/chat
功能:支持多輪對話,模型會記憶上下文。
請求格式:
json
{ "model": "<model-name>", "messages": [ { "role": "user", "content": "<input-text>" } ], "stream": false, "options": { "temperature": 0.7, "max_tokens": 100 } }
響應格式:
json
{ "message": { "role": "assistant", "content": "<generated-text>" }, "done": true }
端點:GET /api/tags
功能:查詢本地已安裝的模型列表。
響應格式:
json
{ "models": [ { "name": "<model-name>", "size": "<model-size>", "modified_at": "<timestamp>" } ] }
端點:POST /api/pull
功能:從遠端模型庫下載指定模型。
請求格式:
json
{ "name": "<model-name>" }
響應格式:
json
{ "status": "downloading", "digest": "<model-digest>" }
Ollama提供Python SDK,方便開發者在Python環境中調用API,無需手動處理HTTP請求。
bash
pip install ollama
確保本地服務已啟動:
bash
ollama serve
python
from ollama import chat response = chat( model='llama3.2', messages=[{'role': 'user', 'content': '請介紹一下Ollama API'}] ) print(response['message']['content'])
python
from ollama import AsyncClient import asyncio async def chat_stream(): async for part in await AsyncClient().chat( model='llama3.2', messages=[{'role': 'user', 'content': '請介紹一下Ollama API'}], stream=True ): print(part['message']['content'], end='', flush=True) asyncio.run(chat_stream())
stream參數:默認為false,若設為true,API會以流式方式逐步返回結果,適合即時顯示。
溫度參數(temperature):控制生成文本的隨機性,值越高文本越多樣化。
max_tokens:限制生成文本的最大長度,避免過長回應。
模型選擇:根據需求選擇不同模型,較大模型效果更好但資源消耗較高。
安全性:本地運行保障數據隱私,適合企業敏感場景。
Ollama API通過簡潔的HTTP接口和友好的Python SDK,為開發者提供了一套高效靈活的本地大型語言模型調用方案。無論是文本生成、智能對話還是多輪聊天,Ollama都能輕鬆應對,並且支持模型管理與微調,滿足不同應用場景的需求。掌握Ollama API的使用方法,將助力開發者快速構建安全、穩定且高效的AI應用,推動人工智慧技術的普及與創新。