- -

Á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 ollama y permite ejecutar modelos varios modelos de IA y interactuar con ellos fácilmente.

¿Cómo puedo acceder al chatbot?

Tenga en cuenta que el chatbot se encuentra en fase de pruebas y solo está disponible para un grupo reducido de usuarios.

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).

¿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 llama3, mistral, gemma, etc...

Los modelos se ejecutan en maquinas de la UPV.

¿Qué modelos están disponibles?

Actualmente están disponibles los siguientes modelos:

  • poligpt:latest, que está basado en llama3:70b-instruct-q6_K

Azure OpenAI Services

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

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.

¿Qué modelos están disponibles?

No todos los modelos de Azure OpenAI Services están disponibles en poliGPT. Los modelos han de instanciarse dentro del ámbito de la UPV.

Actualmente están disponibles los siguientes modelos:

  • gpt-35-turbo-16k
  • gpt-4
  • gpt-4-32k
  • gpt-4-vision

¿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.

¿Cómo puedo obtener un token de acceso?

Para obtener un token de acceso debes ponerte en contacto con el ASIC, preferiblemente a través de Gregal

¿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.

Para el uso del backend de AzureOpenAI Services, debe utilizar una biblioteca compatible con ella.


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:latest',
)


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:latest',
})


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