Ollama API-Bibliotheken
Was dieser Artikel über Ollama-API-Bibliotheken behandelt
- Offizielle und inoffizielle Bibliotheken für Ollama.
- Beispiele in Python und JavaScript.
- Wie man Bibliotheken einrichtet und nutzt.
- Unterschied zwischen nativer API und OpenAI-kompatibler API.
- Tipps für Streaming, Fehlerbehandlung und Konfiguration.
Einleitung: Ollama API-Bibliotheken
Ollama bietet eine REST-API, die von fast jeder Programmiersprache aus genutzt werden kann. Für Python und JavaScript gibt es zusätzlich offizielle oder populäre Bibliotheken, die Anfragen, Streaming und Embeddings vereinfachen. Wer Ollama in eigene Anwendungen, Agenten oder Skripte integrieren möchte, spart mit einer passenden Bibliothek viel Zeit.
Dieser Artikel zeigt, welche Bibliotheken verfügbar sind, wie sie installiert werden und welche typischen Muster sich damit umsetzen lassen.
Wichtige Begriffe
- Client: Bibliothek, die API-Aufrufe abstrahiert.
- SDK: Software Development Kit, also Bibliotheken und Tools.
- REST API: HTTP-basierte Schnittstelle.
- OpenAI-kompatible API: Endpunkt, der das OpenAI-Schema verwendet.
- Streaming: Antworten werden Stück für Stück geliefert.
- Chat Completion: Mehrturnige Konversation.
- Embedding: Vektor-Darstellung von Text.
Offizielle Python-Bibliothek
Die Bibliothek ollama kann über pip installiert werden:
pip install ollama
Einzelne Antwort
import ollama
response = ollama.chat(
model="llama3.1",
messages=[
{"role": "user", "content": "Erkläre Ollama APIs."}
]
)
print(response["message"]["content"])
Streaming
import ollama
stream = ollama.chat(
model="llama3.1",
messages=[{"role": "user", "content": "Erzähle mir einen Witz."}],
stream=True
)
for chunk in stream:
print(chunk["message"]["content"], end="")
Embeddings
import ollama
response = ollama.embed(
model="nomic-embed-text",
input="Ollama ist ein Werkzeug für lokale KI."
)
print(response["embeddings"][0][:5])
Generate
import ollama
response = ollama.generate(
model="llama3.1",
prompt="Erkläre Quantisierung in drei Sätzen."
)
print(response["response"])
JavaScript / TypeScript
Für Node.js kann man ollama nutzen:
npm install ollama
Beispiel
import ollama from 'ollama';
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: 'Erkläre Ollama APIs.' }],
});
console.log(response.message.content);
Streaming
import ollama from 'ollama';
const stream = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: 'Erzähle mir einen Witz.' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.message.content);
}
Andere Sprachen
Viele Sprachen nutzen einfach HTTP-Anfragen. Beispiele:
curl
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [{"role": "user", "content": "Hallo"}]
}'
Python mit requests
import requests
resp = requests.post(
"http://localhost:11434/api/chat",
json={
"model": "llama3.1",
"messages": [{"role": "user", "content": "Hallo"}],
"stream": False
}
)
print(resp.json()["message"]["content"])
OpenAI-kompatibler Client
Viele Bibliotheken akzeptieren einen base_url-Parameter, um statt OpenAI Ollama zu nutzen:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama"
)
resp = client.chat.completions.create(
model="llama3.1",
messages=[{"role": "user", "content": "Hallo"}]
)
print(resp.choices[0].message.content)
Konfiguration
Die meisten Clients erlauben, Host und Port anzupassen:
import ollama
client = ollama.Client(host="http://ollama-server.local:11434")
oder über Umgebungsvariable:
export OLLAMA_HOST="http://ollama-server.local:11434"
Fehlerbehandlung
Typische Fehler:
- Verbindung fehlgeschlagen: Ollama nicht gestartet oder falscher Host.
- Modell nicht gefunden: Modellname falsch oder nicht heruntergeladen.
- Timeout: Antwort dauert zu lange, Eventuell GPU-Auslastung prüfen.
- Streaming bricht ab: Verbindung oder Chunk-Verarbeitung prüfen.
Beispiel für einfache Fehlerbehandlung:
import ollama
try:
response = ollama.generate(model="llama3.1", prompt="Hallo")
print(response["response"])
except ollama.ResponseError as e:
print("Fehler:", e.error)
Tipps
- Native
ollama-Bibliothek bevorzugen, wenn alle Ollama-Features genutzt werden. - OpenAI-kompatible Clients nutzen, wenn bereits OpenAI-Code vorhanden ist.
- Streaming für bessere UX in interaktiven Anwendungen.
- API-Keys setzen, wenn Ollama hinter einem Proxy mit Authentifizierung liegt.
- Verbindungsparameter zentral konfigurieren.
Weiterführende Links und Infos
- BotServ.de Ollama REST API
- BotServ.de Ollama Befehle
- BotServ.de Ollama Embeddings
- BotServ.de Ollama Sicherheit
FAQ: Ollama API-Bibliotheken
Gibt es eine offizielle Python-Bibliothek?
Ja, installierbar mit pip install ollama.
Kann ich OpenAI-Clients mit Ollama nutzen?
Ja, über die OpenAI-kompatible API unter /v1.
Brauche ich einen API-Key? Nein, Ollama selbst authentifiziert nicht. Bei Proxies kann ein Key nötig sein.
Wie nutze ich Streaming?
Parameter stream=True setzen und Chunks iterieren.
Welche Sprachen werden unterstützt? Jede Sprache, die HTTP-Anfragen senden kann. Offizielle Clients gibt es für Python und JavaScript.
Quellen und weiterführende Literatur
- Ollama Python: https://github.com/ollama/ollama-python
- Ollama JavaScript: https://github.com/ollama/ollama-js
- Ollama API Docs: https://github.com/ollama/ollama/blob/main/docs/api.md
Zusammenfassung: Ollama API-Bibliotheken
Ollama lässt sich über offizielle Python- und JavaScript-Bibliotheken oder einfache HTTP-Anfragen in Anwendungen einbinden. Die native API bietet alle Ollama-Features, während die OpenAI-kompatible API eine einfache Migration bestehender Projekte ermöglicht. Wichtig sind korrekter Host, richtiger Modellname und saubere Fehlerbehandlung. Wer Streaming, Embeddings und Chat-Completion richtig nutzt, baut flüssige und datenschutzfreundliche KI-Anwendungen auf Ollama-Basis.


