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:
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.
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.
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).
La API REST permite a los desarrolladores interactuar con los modelos LLM.
El servicio de la UPV permite acceder a dos backends diferentes:
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...
Permite acceder a los modelos libres, como llama3, mistral, gemma, etc...
Los modelos se ejecutan en maquinas de la UPV.
Actualmente están disponibles los siguientes modelos:
poligpt, es un alias al modelo recomendado por la UPV
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.
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:
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.
Para obtener un token de acceso el personal de la UPV puede acceder a la página https://keyman.poligpt.upv.es
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.
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',
) |
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',
}) |
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.