1 points par GN⁺ 2024-02-09 | 1 commentaires | Partager sur WhatsApp

Compatibilité OpenAI

  • Ollama est désormais compatible avec l’API OpenAI Chat Completions, ce qui permet d’utiliser Ollama en local avec davantage d’outils et d’applications.
  • La configuration commence par le téléchargement d’Ollama et l’importation de modèles comme Llama 2 ou Mistral.

Utilisation

cURL

  • Utilisez le format OpenAI pour appeler le point de terminaison d’API compatible OpenAI d’Ollama et remplacez le nom d’hôte par http://localhost:11434.

Bibliothèque OpenAI Python

  • Vous pouvez accéder au point de terminaison d’API d’Ollama avec la bibliothèque OpenAI Python, en incluant une clé API requise mais non utilisée.

Bibliothèque OpenAI JavaScript

  • Vous pouvez accéder au point de terminaison d’API d’Ollama avec la bibliothèque OpenAI JavaScript, en incluant une clé API requise mais non utilisée.

Exemples

Vercel AI SDK

  • Vercel AI SDK est une bibliothèque open source qui aide à créer des applications interactives en streaming.
  • create-next-app est utilisé pour cloner le dépôt d’exemple.

Autogen

  • Autogen est un framework open source populaire pour créer des applications multi-agents, développé par Microsoft.
  • Dans cet exemple, le modèle Code Llama est utilisé, et Ollama est exploité en installant Autogen puis en créant un script Python.

D’autres éléments à venir

  • Il s’agit d’une première prise en charge expérimentale de l’API OpenAI.
  • Parmi les améliorations futures envisagées figurent l’API Embeddings, l’appel de fonctions, la prise en charge de la vision et les Logprobs.
  • Pour plus d’informations, consultez la documentation sur la compatibilité OpenAI.

L’avis de GN⁺

  • Compatibilité avec l’API OpenAI : avec la compatibilité d’Ollama avec l’API OpenAI, les développeurs peuvent intégrer et exploiter plus facilement des modèles d’IA dans un environnement local. Il s’agit d’une évolution importante qui améliore l’accessibilité du développement d’applications basées sur l’IA.
  • Prise en charge de plusieurs langages de programmation : la prise en charge via les bibliothèques Python et JavaScript montre son utilité dans divers environnements de développement. Cela signifie que les développeurs peuvent intégrer facilement des fonctionnalités d’IA dans leur langage de prédilection.
  • Intégration avec des frameworks open source : les exemples d’intégration avec des frameworks open source comme Vercel AI SDK et Autogen montrent l’élargissement des possibilités d’usage d’Ollama et son potentiel pour stimuler une innovation portée par la communauté.

1 commentaires

 
GN⁺ 2024-02-09
Avis Hacker News
  • Ces derniers mois, la facilité d’utilisation des LLM hébergés localement s’est améliorée de façon remarquable.

    • Il y a quelques heures, quelqu’un faisait remarquer à quel point le llamafile de Mozilla-Ocho est facile à utiliser.
    • Il est difficile de décider quel LLM utiliser.
  • Certaines personnes sont personnellement mécontentes de voir la compatibilité avec l’API d’OpenAI devenir le standard communautaire.

    • Il y a quelques maladresses, comme une imbrication inutile des structures de données, mais pas de grief majeur.
    • On se demande quels sont les problèmes liés au fait que cette API devienne un standard, et s’il existe des tentatives de standards alternatifs.
  • Une version améliorée de Copilot est en cours de développement, avec la possibilité pour l’utilisateur d’apporter son propre LLM.

    • Un backend compatible OpenAI a été ajouté : si l’on fournit un endpoint d’API compatible OpenAI, il gère le format des prompts, les séquences d’arrêt, le nombre maximal de tokens, etc., selon la sémantique du modèle.
    • Cette fonctionnalité était nécessaire pour tester en environnement de développement local, et le fait qu’Ollama la propose facilite grandement les tests avec la prise en charge de divers LLM.
  • Ollama fonctionne mieux que d’autres outils, et fonctionne simplement.

    • Quelqu’un a lancé Dolphin Mixtral 7b sur un Raspberry pi 4 pour demander une recette de pain de maïs, puis a constaté quelques heures plus tard que deux caractères avaient été générés.
  • Le script d’installation Linux d’Ollama suit actuellement le style standard.

    • Cependant, la dernière fois qu’il a été vérifié, le script demandait des privilèges root via sudo.
    • Si vous voulez l’outil, il est recommandé de télécharger le script pour l’inspecter, ou de le modifier selon vos besoins.
  • La compatibilité avec OpenAI est un peu trompeuse.

    • L’implémentation des rôles et du contenu a toujours été relativement simple.
    • Lorsqu’on héberge un agent, il faut réellement faire le travail.
    • Un moteur de script a été intégré au système d’agents, ce qui a fait ressentir la nécessité de prendre en compte la sécurité et les paramètres d’autorisation.
  • La couche de compatibilité peut aussi être construite dans une bibliothèque.

    • Par exemple, Langchain dispose d’un llm() qui fonctionne avec plusieurs backends de LLM.
  • Un projet est en cours pour permettre de basculer facilement entre des modèles open source (par ex. HF, VLLM) et des modèles commerciaux (OpenAI, Google, Anthropic, Together).

    • C’est plus simple à utiliser si l’on veut s’en servir directement en Python sans API HTTP.
  • Une question est posée sur les cas d’usage d’Ollama, et sur les raisons pour lesquelles il ne faudrait pas utiliser directement llama.cpp.

  • Une autre question porte sur le fait de savoir si Ollama n’est qu’un serveur HTTP dockerisé appelant directement llama.cpp, et, en dehors de l’API OpenAI ajoutée récemment, quelle est la différence.