AI工具有那些? @ 香港AI工具平台
Ollama API 教學:隨著大型語言模型(LLM)在人工智慧領域的廣泛應用,Ollama作為一款本地化運行的開源大型語言模型平台,提供了靈活且高效的API接口,方便開發者通過程式與模型進行交互,實現文本生成、對話系統、多輪聊天等功能。本文將詳細介紹Ollama API的使用方法,包括安裝服務、API端點說明、請求格式、響應格式及Python SDK的實作示例,幫助讀者快速掌握Ollama API的開發技巧。


環球AI能力評測基準認證考試 ACE, AI證照 @ ExtranAI
AI資訊

Ollama API 教學

隨著大型語言模型(LLM)在人工智慧領域的廣泛應用,Ollama作為一款本地化運行的開源大型語言模型平台,提供了靈活且高效的API接口,方便開發者通過程式與模型進行交互,實現文本生成、對話系統、多輪聊天等功能。本文將詳細介紹Ollama API的使用方法,包括安裝服務、API端點說明、請求格式、響應格式及Python SDK的實作示例,幫助讀者快速掌握Ollama API的開發技巧。

一、啟動Ollama服務

在使用API之前,需先確保Ollama本地服務已啟動。打開終端或命令提示符,輸入:

ollama serve

服務預設監聽地址為 http://localhost:11434 。若出現「address already in use」錯誤,表示服務已在運行中,可直接進行API調用。

二、主要API端點介紹

1. 生成文本(Generate Text)

  • 端點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 }

2. 聊天對話(Chat)

  • 端點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 }

3. 列出本地模型(List Models)

  • 端點GET /api/tags

  • 功能:查詢本地已安裝的模型列表。

  • 響應格式


 

json

{ "models": [ { "name": "<model-name>", "size": "<model-size>", "modified_at": "<timestamp>" } ] }

4. 拉取模型(Pull Model)

  • 端點POST /api/pull

  • 功能:從遠端模型庫下載指定模型。

  • 請求格式


 

json

{ "name": "<model-name>" }

  • 響應格式


 

json

{ "status": "downloading", "digest": "<model-digest>" }

三、Python SDK 使用示例

Ollama提供Python SDK,方便開發者在Python環境中調用API,無需手動處理HTTP請求。

安裝SDK


 

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應用,推動人工智慧技術的普及與創新。