1 puntos por GN⁺ 2024-02-09 | 1 comentarios | Compartir por WhatsApp

Compatibilidad con OpenAI

  • Ollama ahora es compatible con la API de chat completions de OpenAI, lo que permite usar Ollama localmente con más herramientas y aplicaciones.
  • La configuración comienza descargando Ollama e importando modelos como Llama 2 o Mistral.

Uso

cURL

  • Usa el formato de OpenAI para llamar al endpoint de API compatible de Ollama y cambia el nombre del host a http://localhost:11434.

Biblioteca de Python de OpenAI

  • Se puede acceder al endpoint de API de Ollama usando la biblioteca de Python de OpenAI, incluyendo una API key que es requerida pero no se usa.

Biblioteca de JavaScript de OpenAI

  • Se puede acceder al endpoint de API de Ollama usando la biblioteca de JavaScript de OpenAI, incluyendo una API key que es requerida pero no se usa.

Ejemplos

Vercel AI SDK

  • Vercel AI SDK es una biblioteca de código abierto que ayuda a construir aplicaciones interactivas con streaming.
  • Se usa create-next-app para clonar el repositorio de ejemplo.

Autogen

  • Autogen es un popular framework de código abierto creado por Microsoft para construir aplicaciones multiagente.
  • En este ejemplo se usa el modelo Code Llama, y se instala Autogen y se crea un script de Python para usar Ollama.

Viene más

  • Este es un soporte inicial y experimental para la API de OpenAI.
  • Entre las mejoras futuras que se están considerando están la API de embeddings, function calling, soporte de visión y logprobs.
  • Para más información, consulta la documentación de compatibilidad con OpenAI.

Opinión de GN⁺

  • Compatibilidad con la API de OpenAI: Al volverse compatible con la API de OpenAI, Ollama permite a los desarrolladores integrar y aprovechar modelos de IA más fácilmente en entornos locales. Este es un cambio importante que mejora la accesibilidad del desarrollo de aplicaciones basadas en IA.
  • Soporte para varios lenguajes de programación: El soporte a través de las bibliotecas de Python y JavaScript muestra su utilidad en distintos entornos de desarrollo. Esto significa que los desarrolladores pueden integrar funciones de IA fácilmente en el lenguaje que prefieran.
  • Integración con frameworks de código abierto: Los ejemplos de integración con frameworks de código abierto como Vercel AI SDK y Autogen muestran el alcance potencial de Ollama y su capacidad para impulsar innovación basada en la comunidad.

1 comentarios

 
GN⁺ 2024-02-09
Opinión de Hacker News
  • En los últimos meses, la facilidad de uso de los LLM alojados localmente ha mejorado de forma sorprendente.

    • Hace unas horas se comentaba lo fácil de usar que es llamafile de Mozilla-Ocho.
    • Resulta difícil decidir qué LLM usar.
  • Hay personas que personalmente están inconformes con que la compatibilidad con la API de OpenAI se esté convirtiendo en el estándar de la comunidad.

    • Hay algunas rarezas, como el anidamiento innecesario de estructuras de datos, pero no hay una gran queja.
    • Surge la duda sobre qué problemas tiene que esa API se vuelva el estándar y si existen intentos de estándares alternativos.
  • Se está desarrollando una versión mejorada de Copilot que permite que los usuarios lleven su propio LLM.

    • Al agregar un backend compatible con OpenAI, si se proporciona un endpoint de API compatible con OpenAI, se manejan cosas como el formato de prompt, las secuencias de parada y el máximo de tokens según la semántica de ese modelo.
    • Se necesitaba una función así para probar en un entorno de desarrollo local, y que Ollama la ofrezca hace mucho más fácil probar soporte para distintos LLM.
  • Ollama funciona mejor que otras herramientas y simplemente funciona.

    • Se ejecutó Dolphin Mixtral 7b en una Raspberry pi 4 para pedir una receta de pan de maíz, y horas después se encontró que se habían generado dos caracteres.
  • El script de instalación de Ollama en Linux funciona con el estilo estándar actual.

    • Sin embargo, la última vez que se revisó, el script pedía privilegios de root mediante sudo.
    • Si se quiere usar la herramienta, se recomienda descargar el script, revisarlo o modificarlo según sea necesario.
  • La compatibilidad con OpenAI es un poco engañosa.

    • La implementación de roles y contenido siempre ha sido relativamente sencilla.
    • Al alojar agentes, de verdad hay que hacer el trabajo.
    • Se incorporó un motor de scripting al sistema de agentes y se sintió la necesidad de considerar la seguridad y la configuración de permisos.
  • La capa de compatibilidad también puede construirse en bibliotecas.

    • Por ejemplo, Langchain tiene llm() que funciona con varios backends de LLM.
  • Se está trabajando en un proyecto para cambiar fácilmente entre open source (por ejemplo, HF, VLLM) y modelos comerciales (OpenAI, Google, Anthropic, Together).

    • Si se quiere usar directamente desde Python sin una API HTTP, resulta más fácil de usar.
  • Se plantea la duda de cuál es el caso de uso de Ollama y por qué no usar directamente llama.cpp.

  • Se pregunta si Ollama simplemente invoca directamente llama.cpp como un servidor HTTP dockerizado, y qué diferencias hay aparte de la API de OpenAI agregada recientemente.