- -

Árbol de páginas

¿Qué es poliGPT?

PoliGPT es un servicio de IA en pruebas puesto en marcha por el Área de Sistemas de Información y Comunicaciones de la Universitat Politècnica de València.

Actualmente poliGPT proporciona dos herramientas:

  • Acceso a un chatbot.
  • Acceso a una API REST compatible con la de openAI.

¿Qué es el chatbot?

Es una herramienta permite ejecutar modelos de lenguaje en los ordenadores de la UPV de manera sencilla.

Su principal propósito es facilitar el acceso a modelos de gran tamaño sin necesidad de utilizar la nube.

El servicio de la UPV está basado en diversos modelos locales ejecutados sobre plataformas como vLLMollama, y permite ejecutar modelos varios modelos de IA e interactuar con ellos fácilmente.

¿Cómo puedo acceder al chatbot?

Para acceder al chatbot necesita ser personal PAS/PDI de la UPV. Puede acceder en el siguiente enlace https://poligpt.upv.es/chat y seguir las instrucciones.

A veces el chatbot no responde o tarda en responder.

Para ahorrar memoria, el modelo de lenguaje se descarga de la memoria de la GPU si no se usa durante un tiempo. Cuando se utiliza un modelo que no está cargado en memoria por primera vez, el modelo se tiene que cargar en la GPU para poder utilizarlos. Esta operación puede tardar un tiempo dependiendo del tamaño del modelo y de la carga de la GPU.

En modelos de gran tamaño se ha comprobado que el chatbot no responderá a las primeras peticiones (hasta que esté completamente cargado en memoria).

Tenemos algunos modelos cargados de forma permanente por ser los que se consideran de mayor uso. Generalmente estos son los modelos etiquetados con el nombre "poligpt*", tales como poligpt, poligpt-vision, poligpt-tts, etc.

¿Qué es la API Rest?

La API REST permite a los desarrolladores interactuar con los modelos LLM.

El servicio de la UPV permite acceder a dos backends diferentes:

  1. Modelos locales de la UPV.
  2. Azure OpenAI Services

Estos modelos se pueden adaptar fácilmente a su tarea específica, entre las que se incluyen, entre otras, la generación de contenido, el resumen, el reconocimiento de imágenes, la búsqueda semántica y la traducción de lenguaje natural a código. Los usuarios pueden acceder al servicio a través de las API REST, el SDK de Python, Java, Javascript, etc...

Modelos locales en la UPV

Permite acceder a los modelos libres, como gpt-oss-120b, llama3, mistral, gemma, etc...

Los modelos se ejecutan en maquinas de la UPV.

Los modelos poligpt-* también son locales, y son en realidad alias a los mejores modelos que tenemos disponibles para diversas tareas en cada momento.

¿Qué modelos están disponibles?

Actualmente están disponibles los siguientes modelos:

  • llama, es un alias a la ultima version de llama instalada (llama3.3:70b)
  • llama-mini, un alias ala ultima version de llama mas pequeña y rápida instalada (llama3.1:8b)
  • poligpt, es un alias al modelo recomendado por la UPV. Ahora mismo es gpt-oss-120b

  • poligpt-vision, alias de Qwen3-VL-30B.

Y muchos más...

Azure OpenAI Services

Proporciona acceso mediante la API de REST a los modelos de lenguaje de OpenAI (GPT-3.5, GPT-4, GPT-4o, etc...).

Puedes encontrar información sobre Azure OpenAI Services. en la documentación oficial de Microsoft.

Tenga en cuenta que el acceso a la API de OpenAI a través de Azure OpenAI Services es de pago por uso y el acceso a esta funcionalidad está controlado y limitado. Puedes solicitar el acceso de forma justificada a través de Gregal.

¿Cómo puedo usar la API REST de openAI en poliGPT?

Para usar la API REST, necesitas solicitar un token de acceso.

Se proporcionará tanto un token de acceso como un endpoint.

Después de obtener el token de acceso, puede usar la API REST para enviar solicitudes a los modelos de OpenAI.

Acceso

Solo se puede acceder a la API REST desde la red de la UPV. Esto significa que necesitaremos o bien un ordenador físicamente conectado a la red, o estar conectados al Wifi local, o hacer un túnel VPN

¿Cómo puedo obtener un token de acceso?

Para obtener un token de acceso el personal de la UPV puede acceder a la página https://keyman.poligpt.upv.es

En el apartado "API" podremos ver ejemplos sobre cómo realizar peticiones a la API de Poligpt.

En el apartado "Claves de usuario" podemos solicitar una nueva clave o revocar las antiguas. La clave solo se muestra una vez, así que deberemos guardarla bien. En cualquier caso, siempre se puede revocar y solicitar una nueva.

Es buena práctica solicitar una clave API por aplicación o caso de uso.

El acceso a este portal también requiere de estar conectado a la red del Poli (tener una IP 158.42.X.X)

¿Existe algún ejemplo de uso de la API REST de poliGPT?

poliGPT solo hace de proxy intermedio entre los diferentes backends. El acceso a la API de los modelos locales es compatible con las interfaz REST de OpenAI, por lo que cualquier biblioteca que permita interactuar con la API REST de OpenAI funcionará con poliGPT. Tan solo debe cambiar el endpoint o URL base y el token de acceso.


Ejemplo en python usando la biblioteca de OpenAI (Modelos locales)
from openai import OpenAI

client = OpenAI(
    base_url='<endpoint>',
    api_key='<api_key>',
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': 'Say this is a test',
        }
    ],
    model='poligpt',
)


Ejemplo en Javascript usando la biblioteca de OpenAI (Modelos locales)
import OpenAI from 'openai'

const openai = new OpenAI({
  baseURL: '<endpoint>',
  apiKey: '<api_key>',
})

const chatCompletion = await openai.chat.completions.create({
  messages: [{ role: 'user', content: 'Say this is a test' }],
  model: 'poligpt',
})


Ejemplo en python usando la biblioteca de OpenAI (Azure OpenAI Services)
from openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint='<endpoint>',
    api_key='<api_key>',
    api_version='2023-12-01-preview'
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': 'Say this is a test',
        }
    ],
    model='gpt-4',
)

En la documentación oficial de Microsoft. sobre Azure OpenAI Services puedes encontrar mas ejemplos de uso de la API REST. Tan solo es necesario sustituir el endpoint y el token de acceso por los proporcionados por el ASIC.

  • Sin etiquetas