Dieser Artikel beschreibt, wie man die Ollama API . Diese Dokumentation soll Entwicklern helfen, schnell loszulegen und die Möglichkeiten von Ollama voll auszuschöpfen. Sie können es in einer Node.js-Umgebung verwenden oder das Modul direkt in Ihrem Browser importieren. Wenn Sie dieses Dokument studieren, können Sie Ollama leicht in Ihre Projekte integrieren.
Ollama installieren
npm i ollama
Verwendung
import ollama von 'ollama'
const response = await ollama.chat({
model: 'ollama3.1', message: [{ role: 'user', content: 'Warum ist der Himmel blau?
messages: [{ role: 'user', content: 'Warum ist der Himmel blau?' }]
})
console.log(response.message.content)
Browser-Nutzung
Um diese Bibliothek ohne Node.js zu verwenden, importieren Sie das Browser-Modul.
ollama von 'ollama/browser' importieren
Streaming-Antwort
Dies kann durch das Setzen des Parameters Strom: wahr
Aktivieren Sie das Antwort-Streaming, so dass ein Funktionsaufruf eine AsyncGenerator
, wobei jeder Teil ein Objekt im Stream ist.
import ollama von 'ollama'
const message = { role: 'user', content: 'Warum ist der Himmel blau?' }
const response = await ollama.chat({ model: 'ollama3.1', messages: [message], stream: true })
for await (const Teil der Antwort) {
process.stdout.write(part.message.content)
}
Strukturierte Ausgabe
Unter Verwendung der Ollama JavaScript-Bibliothek wird die Architektur als JSON
Objekt wird an den Format
können Sie optional den Parameter Objekt
Format, oder Sie können Zod verwenden (empfohlen), um die zodToJsonSchema()
Architektur der Methodenserialisierung.
import ollama von 'ollama';
import { z } from 'zod';
importiere { zodToJsonSchema } von 'zod-to-json-schema';
const Country = z.object({
Name: z.string(), Hauptstadt: z.string(), {
Sprachen: z.array(z.string()),
}); const response = await ollama.
const response = await ollama.chat({
model: 'ollama3.1', messages: [{ role: 'user', 'chat', 'chat']); const response = await ollama.chat({
messages: [{ role: 'user', content: 'Tell me about Canada.' }], format: zodToJson(z.string()), }
format: zodToJsonSchema(Country), }); }
}).
const country = Country.parse(JSON.parse(response.message.content)); console.log(country.log(response.message.content)); console.log(country.log(response.message.content))
console.log(country);
Modelle erstellen
import ollama von 'ollama'
const modelfile = `
FROM llama3.1
SYSTEM "Du bist Mario aus Super Mario Bros."
`
await ollama.create({ model: 'example', modelfile: modelfile })
API
Die API der Ollama JavaScript-Bibliothek wurde um die Ollama REST API herum entwickelt. Wenn Sie mehr über die zugrundeliegende Implementierung und die vollständigen API-Endpunktinformationen erfahren möchten, empfehlen wir Ihnen die Ollama API Benutzerhandbuch
Chats
ollama.chat(Anfrage)
Anfrage
: Ein Anfrageobjekt, das Chat-Parameter enthält.
Modell
Der Name des Modells, das für den Chat verwendet werden soll.
Nachrichten
Array: Ein Array von Nachrichtenobjekten, die den Chatverlauf darstellen.
Rolle
Rolle: Die Rolle des Absenders der Nachricht ("Benutzer", "System" oder "Assistent").
Inhalt
: Der Inhalt der Nachricht.
Bilder
(Optional) Das Bild, das in die Nachricht aufgenommen werden soll, entweder ein Uint8Array oder eine base64-kodierte Zeichenkette.
Format
(Optional) Legt das erwartete Format der Antwort fest (
json
).Strom
: (Optional) Wenn true, wird
AsyncGenerator
.erhalten_alive
(Optional) Gibt die Dauer an, die das Modell geladen ist.
Werkzeuge
(Optional) Eine Liste von Werkzeugen, die von dem Modell aufgerufen werden können.
Optionen
(Optional) Konfigurieren Sie die Laufzeitoptionen.
- Rückgabe.
Erzeugung von
ollama.generate(Anfrage)
Anfrage
Request Object: Das Request Object, das die generierten Parameter enthält.
Modell
Der Name des Modells, das für den Chat verwendet werden soll.
Aufforderung
:: Hinweise, die an das Modell gesendet werden.
Suffix
(Optional) Das Suffix ist der Text, der auf den eingefügten Text folgt.
System
(Optional) Überschreiben Sie die Eingabeaufforderungen des Modellsystems.
Vorlage
(Optional) Modellvorlagen außer Kraft setzen.
roh
(Optional) Umgeht die Prompt-Vorlage und übergibt den Prompt direkt an das Modell.
Bilder
(Optional) Das einzuschließende Bild, entweder ein Uint8Array oder eine base64-kodierte Zeichenfolge.
Format
(Optional) Legt das erwartete Format der Antwort fest (
json
).Strom
: (Optional) Wenn true, wird
AsyncGenerator
.erhalten_alive
(Optional) Gibt die Dauer an, die das Modell geladen ist.
Optionen
(Optional) Konfigurieren Sie die Laufzeitoptionen.
- Rückgabe.
Pull-Modell
ollama.pull(Anfrage)
Anfrage
Das Request-Objekt, das die Pull-Parameter enthält.
Modell
Der Name des zu ziehenden Modells.
unsicher
(Optional) Abruf von Servern, die sich nicht authentifizieren können.
Strom
: (Optional) Wenn true, wird
AsyncGenerator
.
- Rückgabe.
Push-Modell
ollama.push(Anfrage)
Anfrage
: Ein Anfrageobjekt, das Push-Parameter enthält.
Modell
Der Name des zu schiebenden Modells.
unsicher
(Optional) Push an einen Server, der die Identität nicht authentifizieren kann.
Strom
: (Optional) Wenn true, wird
AsyncGenerator
.
- Rückgabe.
Modelle erstellen
ollama.create(Anfrage)
Anfrage
Parameter: Enthält das Anfrageobjekt, für das die Parameter erstellt wurden.
Modell
Der Name des zu erstellenden Modells.
Pfad
(Optional) Pfad zu der zu erstellenden Modelldatei.
Modelldatei
(Optional) Der Inhalt der zu erstellenden Modelldatei.
Strom
: (Optional) Wenn true, wird
AsyncGenerator
.
- Rückgabe.
Modell löschen
ollama.delete(Anfrage)
Anfrage
: Das Request-Objekt, das den Löschungsparameter enthält.
Modell
Der Name des zu löschenden Modells.
- Rückgabe.
Replikationsmodelle
ollama.copy(Anfrage)
Anfrage
Das Request-Objekt, das die Replikationsparameter enthält.
Quelle
Der Name des Modells, von dem kopiert werden soll.
Zielort
Der Name des Modells, in das kopiert werden soll.
- Rückgabe.
Liste der lokalen Modelle
ollama.list()
- Rückgabe.
Anzeige von Modellinformationen
ollama.show(Anfrage)
Anfrage
Request: Ein Request-Objekt, das die Anzeigeparameter enthält.
Modell
Der Name des Modells, das angezeigt werden soll.
System
(Optional) Überschreibt den Rückgabewert der Modellsystemaufforderung.
Vorlage
(Optional) Überschreiben Sie den Rückgabewert der Modellvorlage.
Optionen
(Optional) Konfigurieren Sie die Laufzeitoptionen.
- Rückgabe.
Einbettung generieren
ollama.embed(Anfrage)
Anfrage
: Ein Anfrageobjekt, das eingebettete Parameter enthält.
Modell
Der Name des Modells, das zur Erzeugung der Einbettung verwendet wird.
Eingabe
|
Eingabe, die zur Erzeugung der Einbettung verwendet wird.abschneiden.
(Optional) Kürzen Sie die Eingabe, um sie an die vom Modell unterstützte maximale Kontextlänge anzupassen.
erhalten_alive
(Optional) Gibt die Dauer an, die das Modell geladen ist.
Optionen
(Optional) Konfigurieren Sie die Laufzeitoptionen.
- Rückgabe.
Kurs
ollama.ps()
- Rückgabe.
Kundenspezifische Kunden
Benutzerdefinierte Kunden können mit Hilfe der folgenden Felder erstellt werden:
Gastgeber
(Optional) Ollama-Host-Adresse. Standard.
"http://127.0.0.1:11434"
.abrufen.
(Optional) Die Fetch-Bibliothek, die verwendet wird, um Anfragen an den Ollama-Host zu stellen.
importiere { Ollama } von 'ollama'
const ollama = new Ollama({ host: 'http://127.0.0.1:11434' })
const response = await ollama.chat({
model: 'ollama3.1', { messages: [{ role: 'user', 'user', 'user', 'user'] }
messages: [{ role: 'user', content: 'Warum ist der Himmel blau?' }]
})
(etwas Abstraktes) konstruieren
Um die Projektdatei zu erstellen, führen Sie aus:
npm run build
Siehe dazu die Dokumentation:ollama-js