Skip to content
BotServBotServ
OllamaAPIPythonJavaScriptIntegrationSDK

Ollama API-Bibliotheken

Ollama in Python, JavaScript und anderen Sprachen nutzen. Offizielle Clients, Beispiele und Best Practices.

S

schutzgeist

3 min read
Ollama API-Bibliotheken

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.

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

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.

Zurück zum KI Blog
Share:

Ähnliche Beiträge