1 Punkte von GN⁺ 2024-02-09 | 1 Kommentare | Auf WhatsApp teilen

OpenAI-Kompatibilität

  • Ollama ist jetzt mit der OpenAI Chat Completions API kompatibel, sodass Ollama lokal mit mehr Tools und Anwendungen genutzt werden kann.
  • Die Einrichtung beginnt damit, Ollama herunterzuladen und Modelle wie Llama 2 oder Mistral zu importieren.

Verwendung

cURL

  • Verwende das OpenAI-Format, um den OpenAI-kompatiblen API-Endpunkt von Ollama aufzurufen, und ändere den Hostnamen zu http://localhost:11434.

OpenAI-Python-Bibliothek

  • Mit der OpenAI-Python-Bibliothek kann auf den API-Endpunkt von Ollama zugegriffen werden; dabei wird ein erforderlicher, aber nicht verwendeter API-Schlüssel angegeben.

OpenAI-JavaScript-Bibliothek

  • Mit der OpenAI-JavaScript-Bibliothek kann auf den API-Endpunkt von Ollama zugegriffen werden; dabei wird ein erforderlicher, aber nicht verwendeter API-Schlüssel angegeben.

Beispiele

Vercel AI SDK

  • Das Vercel AI SDK ist eine Open-Source-Bibliothek, die beim Aufbau interaktiver Streaming-Anwendungen hilft.
  • Zum Klonen des Beispiel-Repositorys wird create-next-app verwendet.

Autogen

  • Autogen ist ein beliebtes Open-Source-Framework von Microsoft zum Aufbau von Multi-Agenten-Anwendungen.
  • In diesem Beispiel wird das Modell Code Llama verwendet; dazu wird Autogen installiert und ein Python-Skript erstellt, um Ollama zu nutzen.

Mehr ist unterwegs

  • Dies ist eine erste experimentelle Unterstützung für die OpenAI API.
  • Zu den erwogenen künftigen Verbesserungen gehören die Embeddings API, Function Calling, Vision-Unterstützung und Logprobs.
  • Weitere Informationen finden sich in der Dokumentation zur OpenAI-Kompatibilität.

Meinung von GN⁺

  • OpenAI-API-Kompatibilität: Durch die Kompatibilität von Ollama mit der OpenAI API können Entwickler KI-Modelle in lokalen Umgebungen einfacher integrieren und nutzen. Das ist eine wichtige Veränderung, die die Zugänglichkeit für die Entwicklung KI-basierter Anwendungen erhöht.
  • Unterstützung verschiedener Programmiersprachen: Die Unterstützung über Python- und JavaScript-Bibliotheken zeigt die Einsetzbarkeit in unterschiedlichen Entwicklungsumgebungen. Das bedeutet, dass Entwickler KI-Funktionen leicht in ihre bevorzugte Sprache integrieren können.
  • Integration mit Open-Source-Frameworks: Die Beispiele zur Anbindung an Open-Source-Frameworks wie Vercel AI SDK und Autogen zeigen das breitere Einsatzpotenzial von Ollama und das Potenzial, communitygetriebene Innovation zu fördern.

1 Kommentare

 
GN⁺ 2024-02-09
Hacker-News-Kommentare
  • In den letzten Monaten hat sich die Benutzerfreundlichkeit lokal gehosteter LLMs erstaunlich verbessert.

    • Vor ein paar Stunden wurde noch darüber geklagt, wie benutzerfreundlich llamafile von Mozilla-Ocho ist.
    • Es fällt schwer zu entscheiden, welches LLM man verwenden soll.
  • Manche stören sich persönlich daran, dass die OpenAI-API-Kompatibilität zum Community-Standard wird.

    • Es gibt ein paar Ungereimtheiten, etwa unnötige Verschachtelung in Datenstrukturen, aber insgesamt keinen großen Ärger.
    • Es stellt sich die Frage, welche Probleme es damit gibt, wenn diese API zum Standard wird, und ob es Versuche für alternative Standards gibt.
  • Es wird an einer verbesserten Version von Copilot gearbeitet, die unterstützt, dass Nutzer ihr eigenes LLM mitbringen.

    • Durch Hinzufügen eines OpenAI-kompatiblen Backends werden Prompt-Format, Stop-Sequenzen, maximale Token usw. entsprechend der Semantik des jeweiligen Modells verarbeitet, sofern ein OpenAI-kompatibler API-Endpunkt bereitgestellt wird.
    • Diese Funktion wurde benötigt, um in einer lokalen Entwicklungsumgebung testen zu können, und weil Ollama sie bereitstellt, ist das Testen mit Unterstützung für verschiedene LLMs deutlich einfacher geworden.
  • Ollama funktioniert besser als andere Tools und läuft einfach.

    • Auf einem Raspberry Pi 4 wurde Dolphin Mixtral 7b ausgeführt und nach einem Rezept für Cornbread gefragt; einige Stunden später stellte sich heraus, dass zwei Zeichen erzeugt worden waren.
  • Das Linux-Installationsskript von Ollama arbeitet im aktuell üblichen Stil.

    • Allerdings fordert das Skript, soweit zuletzt geprüft, per sudo Root-Rechte an.
    • Wer das Tool nutzen will, sollte das Skript herunterladen und prüfen oder es bei Bedarf anpassen.
  • Die Kompatibilität mit OpenAI ist etwas irreführend.

    • Die Implementierung von Rollen und Inhalten war schon immer vergleichsweise einfach.
    • Beim Hosting von Agenten muss tatsächlich Arbeit geleistet werden.
    • Es wurde eine Scripting-Engine in das Agentensystem eingebaut, und dabei zeigte sich die Notwendigkeit, Sicherheit und Berechtigungen zu berücksichtigen.
  • Eine Kompatibilitätsschicht kann auch in Bibliotheken aufgebaut werden.

    • LangChain hat zum Beispiel ein llm(), das mit mehreren LLM-Backends funktioniert.
  • Es wird an einem Projekt gearbeitet, das einen einfachen Wechsel zwischen Open-Source-Modellen (z. B. HF, VLLM) und kommerziellen Modellen (OpenAI, Google, Anthropic, Together) ermöglicht.

    • Wenn man es ohne HTTP-API direkt in Python verwenden möchte, ist es einfacher zu nutzen.
  • Es wird gefragt, wofür Ollama konkret gebraucht wird und warum man nicht einfach direkt llama.cpp verwenden sollte.

  • Außerdem wird gefragt, ob Ollama lediglich llama.cpp direkt als Dockerized-HTTP-Server aufruft und worin – abgesehen von der neu hinzugefügten OpenAI-API – sonst der Unterschied besteht.