Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 19, 2024 05:22 pm GMT

Integra mltiples APIs de IA en una sola plataforma

Mi Problema con OpenAi y la experiencia web

En los ltimos tiempos, he estado encantado con el servicio ChatGPT Plus de OpenAI. La velocidad de respuesta de los modelos gpt-3.5-turbo y gpt-4 es realmente impresionante, y la capacidad de obtener respuestas con informacin actualizada de la web (con los gpts personalizados del modelo 4) ha sido de gran ayuda en mis tareas diarias.

Sin embargo, no todo ha sido perfecto. Desde el lanzamiento del modelo gpt-4, OpenAI ha limitado el nmero de chats que podemos tener con l a alrededor de 50 chats cada 3 horas. Esto significa que, si ests en medio de una conversacin interesante con gpt-4, de repente te dir que no puedes continuar durante 3 horas, incluso si intentas cambiar al modelo 3.5 para seguir interactuando.

Intent utilizar el chat de Bing, el cual es gratuito y aparentemente no tiene lmites de uso. Sin embargo, en realidad s tiene lmites, aunque son bastante generosos por parte de Microsoft: 30 mensajes por chat.
Quise ir un poco ms all y probar Copilot Pro, que cuesta aproximadamente $20 dlares al mes.

Lamentablemente, no me convenci. La interfaz es la misma que la versin gratuita, solo que sin el lmite de 30 mensajes por chat. Si bien la velocidad de respuesta mejora un poco, no lo suficiente como para justificar el gasto.

Agradezco que Microsoft ofrezca esta "alternativa" a los modelos de lenguaje personalizados de OpenAI. Sin embargo, no es suficiente para mis necesidades, ya que no permite guardar mis chats anteriores con los asistentes personalizados. Esto resulta frustrante si recargo la pgina o cierro el chat por error.

Afortunadamente, hay varias alternativas a OpenAI, como Claude de Anthropic, Mistral.ai, Gemini de Google, Llama2 de Meta, entre otras. Estas opciones ofrecen una amplia variedad de modelos de lenguaje de ltima generacin que pueden competir fcilmente con GPT-4 y 3.5. Sin embargo, cambiar entre diferentes chats o playgrounds no siempre resulta amigable para el usuario. Adems, algunas de estas alternativas, como Claude y Mistral, no permiten cargar documentos en sus interfaces web, lo que dificulta la interaccin.

Ya antes conoca BetterChatGpt, una interfaz gratuita para interactuar con la API de OpenAI. Sin embargo, nuevamente no me convenci completamente debido a la falta de opciones de personalizacin y la ausencia de soporte para otros modelos de IA.

Fue entonces cuando surgi la idea de encontrar un lugar donde pudiera conectar todos estos servicios en un solo lugar. Gracias al poderoso y querido internet, me cruc con Librechat, una plataforma que pareca ofrecer la solucin que estaba buscando.

Qu es LibreChat?

LibreChat es una plataforma de chat de IA gratuita y de cdigo abierto. Esta interfaz web ofrece una gran personalizacin, con soporte para numerosos proveedores, servicios e integraciones de IA. Brinda un nico lugar para todas las conversaciones de IA, con una interfaz familiar y mejoras innovadoras, para tantos usuarios como se necesite.

LibreChat

IAs Soportadas

Si buscas tener todos tus servicios en un solo lugar, Librechat ofrece compatibilidad con mltiples API, incluyendo algunas de las ms populares:

NombrePrecioLmites y Otros Comentarios
OpenAIPay as you go-
AnthropicPay as you go-
GeminiGratis de momentoPosibles cobros en el futuro (no verificado)
MistralPay as you go-
OpenRouterCiertos Modelos Gratis / Pay as you go-
GroqGratis / Pay as you goPuede tener ciertos lmites en la cantidad de solicitudes
OllamaSelf-Hosted-

Integrando todos los servicios con OpenRouter

Como ya sabemos, algunos de los servicios que queremos utilizar ofrecen su API de forma pblica. Para acceder a ellos, necesitamos una clave de API. En este ejemplo, usaremos OpenRouter, que ofrece una amplia gama de modelos de inteligencia artificial, incluyendo algunos de los ms avanzados del mercado.

Imaginemos que tambin queremos usar los servicios de Anthropic, Mistral, Llama2, Gemini, pero no queremos estar pagando o proporcionando los datos de nuestras tarjetas de crdito a cada uno de ellos.

La solucin que OpenRouter ofrece es un servicio de proxy para las APIs de los otros proveedores. De esta forma, podemos usar OpenRouter como intermediario para acceder a los servicios de los otros proveedores sin tener que preocuparnos por los lmites de uso.

OpenRouter nos ofrece modelos gratuitos con lmites bastante generosos, as como modelos de pago que nos permiten hacer uso de ellos prcticamente sin restricciones. Esto nos brinda flexibilidad y control sobre los recursos que utilizamos, sin tener que lidiar directamente con las polticas y limitaciones de cada proveedor por separado.

Primero lo primero, obtener nuestra clave de OpenRouter

Nos vamos a dirigir al sitio de OpenRouter y nos registraremos de forma gratuita. Si te acomoda usar tu cuenta de Google, puedes hacerlo.
Una vez con nuestra cuenta creada, vamos a la seccin de Key y le damos en Create Key

Podemos asignar un nombre y la cantidad de crditos que queremos destinar a cada servicio. Los crditos estn en dlares, por lo que es importante tener cuidado con la cantidad que asignamos.

Si no quieres gastar nada y deseas utilizar nicamente los modelos gratuitos, puedes asignarle 1 crdito o dejar el campo en blanco. Sin embargo, te recomiendo asignar 1 crdito, ya que dejar el campo en blanco significa que el servicio podr utilizar crditos de forma ilimitada, lo cual podra generar costos inesperados.

De esta manera, puedes tener un control ms preciso sobre los recursos que asignas a cada servicio, evitando gastos excesivos y manteniendo el uso de los modelos gratuitos cuando sea apropiado.

Una vez nos retorne nuestra key, debemos guardarla en un lugar seguro. No la compartas con nadie, ya que con ella podrn hacer uso de tus creditos. Adems que una vez cerrada la ventana, no podrs verla de nuevo.
No te preocupes si no tienes crditos, podrs usar los modelos gratuitos sin problemas.

Listo!, ya tenemos nuestra key. El siguiente paso, es instalar LibreChat!!

Instalando LibreChat

Este paso puede ser un poco ms avanzado. Si no te sientes cmodo usando Linux y Docker, o no tienes un servidor donde instalarlo, puedes optar por las alternativas de implementacin que se ofrecen en el repositorio de LibreChat.

Estas opciones te permiten desplegar LibreChat sin necesidad de configurar un entorno Linux y Docker por tu cuenta. Esto puede ser especialmente til si tienes experiencia limitada en estos mbitos o si simplemente prefieres una solucin ms sencilla y lista para usar.

Revisa las diferentes alternativas disponibles en el repositorio y elige la que mejor se adapte a tus necesidades y nivel de experiencia. Esto te permitir disfrutar de los beneficios de LibreChat sin tener que lidiar con los detalles tcnicos ms complejos.

Requerimientos

  • Docker
  • Docker Compose
  • Linux (o WSL en Windows)
  • Git

Para nuestro caso, vamos a instalar LibreChat en una maquina virtual Linux con Docker bajo WSL 2. Si no sabes qu es WSL, te recomiendo leer este artculo.
En la actualidad instalar WSL es tan sencillo como ir a la Store de Microsoft y buscar WSL o Ubuntu. El resto del proceso es bastante intuitivo y automtico.

Si no tienes WSL y usas directamente Linux, puedes continuar directamente con la instalacin de Docker.

Instalamos Docker y Git

Una vez tengas WSL instalado, abre una terminal y ejecuta los siguientes comandos:

sudo apt-get updatesudo apt-get install git -y# Add Docker's official GPG key:sudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:echo \  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \  sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Seguimos los pasos post-instalacin de Docker:

sudo groupadd dockersudo usermod -aG docker $USERnewgrp docker

Y verificamos que todo est ok con:

docker run hello-world

Instalamos Docker Compose (Opcional)

Actualmente, no es necesario instalar Docker Compose por separado, ya que viene incluido en la instalacin de Docker. Sin embargo, si deseas instalarlo de forma independiente, puedes hacerlo utilizando los siguientes comandos:

sudo apt install docker-compose -y

Cabe mencionar que este proceso nos instalar una versin antigua de Docker Compose, la cual se ejecuta con el comando docker-compose. En contraste, la versin ms reciente se ejecuta utilizando el comando docker compose.

Creando Nuestro entorno para LibreChat

Una vez que todo est funcionando y hayamos confirmado que Docker est instalado, procederemos a obtener nuestro archivo docker-compose.yml desde el repositorio de LibreChat.

git clone https://github.com/danny-avila/LibreChat.gitcd LibreChat

Ahora, crearemos nuestro archivo .env con las variables de entorno necesarias para LibreChat.

cp .env.example .env

Una vez que tengamos nuestro archivo .env creado, procederemos a levantar nuestros contenedores con el siguiente comando:

docker compose up -d

Obteniendo un resultado similar a:

 docker compose up -dWARN[0000] The "UID" variable is not set. Defaulting to a blank string.WARN[0000] The "GID" variable is not set. Defaulting to a blank string.WARN[0000] The "UID" variable is not set. Defaulting to a blank string.WARN[0000] The "GID" variable is not set. Defaulting to a blank string.WARN[0000] The "UID" variable is not set. Defaulting to a blank string.WARN[0000] The "GID" variable is not set. Defaulting to a blank string.WARN[0000] /home/alvarosdev/Repos/LibreChat/docker-compose.yml: `version` is obsolete[+] Running 64/35  rag_api Pulled                                                                                                                  26.9s  mongodb Pulled                                                                                                                  30.0s  meilisearch Pulled                                                                                                              23.9s  api Pulled                                                                                                                      37.9s  vectordb Pulled [+] Running 7/7  Network librechat_default       Created                                                                                          0.1s  Volume "librechat_pgdata2"      Created                                                                                          0.0s  Container librechat-vectordb-1  Started                                                                                          0.6s  Container chat-mongodb          Started                                                                                          0.6s  Container chat-meilisearch      Started                                                                                          0.6s  Container librechat-rag_api-1   Started                                                                                          0.0s  Container LibreChat             Started                                                                                          0.0s

Excelente! Hemos completado un paso ms en nuestro proceso de experimentacin/instalacin.

Configurando LibreChat

LibreChat se est ejecutando en nuestro contenedor de Docker y est listo para que nos registremos. Para ello, abriremos nuestro navegador y accederemos a la direccin http://localhost:3080/login.

Procederemos a registrar una cuenta utilizando el correo electrnico que deseemos y una contrasea segura. Una vez completado este paso, se iniciar sesin de forma automtica.

Activando OpenRouter

Recordars que en los pasos anteriores guardamos la clave de OpenRouter. Ahora es el momento de utilizarla. Si revisas detenidamente la interfaz de LibreChat, no vers OpenRouter por ningn lado. Esto se debe a que debemos activarlo en nuestras variables de entorno.

Editamos nuestro .env

Recordars que anteriormente tambin hicimos una copia de nuestro archivo .env.example y la renombramos como .env. Ahora es el momento de editar este archivo e incluir nuestra clave de OpenRouter.

En la lnea 69 de nuestro archivo .env, agregaremos nuestra clave de OpenRouter, asegurndote de eliminar el carcter # al inicio de la lnea.

# SHUTTLEAI_KEY=OPENROUTER_KEY=sk-or-v1-707...d5f   <---- aqu va nuestra key# MISTRAL_API_KEY=

En la linea 58 de nuestro archivo, vamos a agregar OpenRouter al final de la lista, y vamos a quitar el # al inicio de la linea.

ENDPOINTS=openAI,assistants,azureOpenAI,bingAI,google,gptPlugins,anthropic,OpenRouter   <---- aqu agregamos OpenRouter

Luego, vamos a modificar nuestro archivo librechat.yaml, el cual debemos obtener de librechat.yaml.example:

cp librechat.yaml.example librechat.yaml

Abriremos nuestro archivo docker-compose.yml y, en la lnea 30, realizaremos las siguientes modificaciones:

volumes:    - type: bind        source: ./.env        target: /app/.env    - ./images:/app/client/public/images    - ./logs:/app/api/logs    - ./librechat.yaml:/app/librechat.yaml # <---- Agregamos esta linea

Ahora, accederemos a la URL http://localhost:3080/login y veremos que OpenRouter ya est disponible para su uso.

Dato importante: Si agregamos nuestra clave en la variable de entorno OPENROUTER_API_KEY, no ser necesario modificar los archivos librechat.yaml ni docker-compose.yml. Sin embargo, en este caso, no podremos utilizar los modelos de OpenAI si lo deseramos.

Si observamos detenidamente, tambin se han activado los endpoints de Mistral y Groq. Si deseamos utilizarlos, solo debemos agregar las claves correspondientes en el archivo .env, de la misma manera que lo hicimos con OpenRouter.

Usando los modelos grtis de OpenRouter

Te has fijado en algo interesante? Tenemos a nuestra disposicin una cantidad impresionante de modelos, varios de los cuales son gratuitos. Si no tienes crditos en OpenRouter, puedes utilizar estos modelos sin problemas. Siempre y cuando no abusemos de ellos, no deberamos enfrentar inconvenientes.

Podemos encontrar los modelos gratuitos con el sufijo :free en la lista de modelos disponibles.

Hagamos una pequea prueba. Utilizaremos el modelo google/gemma-7b-it:free, el cual es un modelo de lenguaje de Google similar a GPT-3. En el men superior, al lado del nombre de OpenRouter, seleccionaremos google/gemma-7b-it:free y escribiremos algo como "Hola, cmo ests?".

Ahora vamos a cambiar de modelo, sin perder el contexto de la conversacin. Seleccionamos mistralai/mistral-7b-instruct:free y luego escribimos algo como Qu es un perro?.

Notaremos que gran parte de los modelos gratuitos a veces pueden generar respuestas extraas, pero en general son bastante buenos. Si deseamos utilizar los modelos de pago, deberemos tener crditos en nuestra cuenta de OpenRouter.

Para ejemplificar, utilizaremos uno de los modelos de pago ms esperados de Google, google/gemini-pro-1.5. Si seleccionamos este modelo, veremos que nos solicitar crditos para poder usarlo.

Bonus: Chateando con nuestros PDFs

Un dato interesante y no menos importante es que podemos interactuar con nuestros documentos, como PDFs e imgenes, a travs de LibreChat. Para ello, simplemente deberemos arrastrar y soltar el archivo en la interfaz de LibreChat.

Voy a utilizar un documento de prueba que he encontrado en este enlace.

Lamentablemente, para que LibreChat pueda procesar nuestros documentos, ser necesario contar con una clave de OpenAI (que incluya crditos). Sin embargo, esto nos brindar la ventaja de poder utilizar casi cualquier modelo para analizar nuestros documentos.

A diferencia de los modelos de texto, con los modelos compatibles con visin, como Claude3, Gemini Pro 1.5, GPT4V, entre otros, podremos analizar imgenes sin problemas y sin necesidad de contar con una clave de OpenAI.

Eso es todo...(?)

Mi experiencia con LibreChat ha sido realmente satisfactoria. Despus de lidiar con las limitaciones y problemas que enfrentaba con servicios como OpenAI y Bing, encontr en LibreChat la solucin que estaba buscando.

La interfaz es realmente amigable y personalizable. Puedo cambiar fcilmente entre diferentes modelos de IA sin perder el contexto de la conversacin, lo cual ha sido un gran alivio.

En general, LibreChat ha sido la solucin que necesitaba para gestionar de manera centralizada y eficiente mis interacciones con mltiples asistentes de IA. Estoy realmente satisfecho con los resultados y lo recomiendo encarecidamente a cualquiera que est buscando una plataforma integral y conveniente para sus necesidades de IA.

Un dato algo offtopic

El modelo Mistral8x7b, siendo muy ligero y "econmico", me ha sorprendido gratamente por su velocidad de respuesta y su capacidad para generar cdigo e interpretar documentos sin consumir tantos tokens.

Por otro lado, los modelos de Anthropic, Claude 3 en sus versiones Haiku, Sonnet y Opus, son simplemente impresionantes. Estos tres modelos tienen la habilidad de generar texto de alta calidad, interpretar documentos con una precisin bastante interesante, e incluso comprender imgenes. Incluso han logrado entender memes!


Original Link: https://dev.to/alvarosdev/integra-multiples-apis-de-ia-en-una-sola-plataforma-3m5a

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To