Introducción a Azure OpenAI Services- Potenciando Aplicaciones con IA_Itequia

Introducció a Azure OpenAI Services: Potenciant Aplicacions amb IA

En el món de la tecnologia i el desenvolupament d’aplicacions, la intel·ligència artificial (IA) està revolucionant la forma en què interactuem amb el software. Azure OpenAI Services emergeix com una solució integral per integrar IA en aplicacions de qualsevol escala, oferint una gamma de serveis avançats d’aprenentatge automàtic i processament del llenguatge natural.

Què és Azure OpenAI Services i com es compara amb OpenAI?

Azure OpenAI Services és una plataforma d’IA basada en el núvol que permet als desenvolupadors integrar de manera senzilla capacitats avançades d’aprenentatge automàtic i processament del llenguatge natural a les seves aplicacions. Aquests serveis inclouen capacitats de generació de llenguatge, reconeixement de llenguatge natural, generació de codi i molt més, la qual cosa permet als desenvolupadors crear aplicacions més intel·ligents i innovadores.

Una diferència clau amb OpenAI radica en què amb Azure OpenAI, els clients obtenen les funcionalitats de seguretat de Microsoft Azure mentre executen els mateixos models que OpenAI.

  • Possibilitat de crear una instància en una zona regional específica.
  • Possibilitat de crear xarxes privades.
  • Filtrat de contingut d’IA responsable.
Introducción a Azure OpenAI Services Potenciando Aplicaciones con IA

Models disponibles en Azure OpenAI Services

Azure OpenAI Services proporciona accés mitjançant la seva API REST als eficients models de llenguatge d’OpenAI, incloent GPT 3.5 Turbo, GPT 4 i GPT 4 amb Visió (és important consultar la disponibilitat dels models per zona regional, ja que actualment els models GPT4 i GPT4 amb Visió no estan disponibles a Europa).

Eines oferides per Azure OpenAI Services

Per treure el màxim profit als serveis d’Azure OpenAI Services, tindrem disponible una API REST en una instància específica que haurem de crear a la nostra subscripció de Microsoft Azure.

Aquesta API compta amb diverses versions, des de la versió Legacy (Completions), Chat Completion (l’estable), i Assistants, la més recent (encara en fase beta), que ens permeten explotar totes les capacitats dels models disponibles, amb algunes diferències.

Actualment, en la versió estable de l’API (Chat Completion) comptem amb les següents eines:

  • Àudio:
    • Crear àudio a partir d’un text
    • Transcriure àudio
    • Traduir àudio
  • Xat
    • Generació de text
    • Mantenir conversació
  • Incrustacions (embeddings)
    • Crear incrustacions de text accessibles pels models i algoritmes.
  • Fine-tuning
    • Creació d’un model entrenat amb dades determinades.
  • Fitxers
    • Pujar fitxers per realitzar Fine-tuning (dades d’entrenament).
  • Imatges
    • Generació d’imatges a partir d’una descripció donada.

Com es pot apreciar, aquesta versió ens ofereix eines per gairebé tot el que se’ns pugui ocórrer. Però compta amb algunes limitacions que s’han resolt a la versió beta de la nova API d’Assistants.

Avantatges i desavantatges de l’API Chat Completion

Avantatges 

  • Simplicitat
  • Flexibilitat en la integració de dades externes.
  • Escalabilitat
  • Menors despeses generals: requereix menys recursos i esforç d’administració en comparació amb l’API d’Assistents.

Desavantatges

  • Gestió de context limitat: no és tan eficaç en la gestió de contextos estesos, que podrien ser necessaris per a interaccions complexes.
  • Sol·licituds independents: cada sol·licitud es tracta de manera independent, el que pot no ser ideal per a aplicacions que requereixin una comprensió profunda d’interaccions anteriors.
  • Potencialment menys efectiu per a consultes complexes.

La nova API: Assistants

En la nova versió de l’API (Assistants) comptem amb les mateixes funcionalitats que en la versió de Chat Completion. Però canvia completament la manera de realitzar les sol·licituds. En aquesta nova versió les sol·licituds ja no són independents unes de les altres. Sinó que formen part d’un mateix fil conversacional i associat a un determinat Assistent. Això implica una configuració més complexa i la gestió dels assistents, els fils de conversa i les execucions de les sol·licituds realitzades per part del sistema que integri Azure OpenAI Services.

A continuació, es detallen les eines i conceptes de la nova versió d’Assistants:

  • Assistants: nos permite crear tantos asistentes como necesitemos, usando como modelo de base, el modelo que necesitemos (GPT 3, 3.5, 4,…) 
  • Threads: en esta nueva versión, tendremos que crear Threads (o hilos) para gestionar los mensajes que enviamos al modelo, y lo que el modelo nos responde. 
  • Fitxers
  • Missatges
  • Runs

Quines avantatges trobem en la nova API?

  • Gestió del context: l’API d’Assistents destaca per mantenir el context en múltiples iteracions, alguna cosa crucial en escenaris on el context jugui un paper important per a la generació de respostes rellevants.
  • Personalització: ofereix opcions de personalització més avançades, el que ens permet adaptar el comportament de l’assistent.
  • Sessions persistents: aquesta nova API gestiona eficaçment els fils de diàlegs estesos.
  • Maneig de consultes complexes: aquesta nova API s’adapta molt millor davant sol·licituds complexes, on sigui necessari disposar de la totalitat del context o d’informació externa.

Com començar amb Azure OpenAI Services?

Per començar amb Azure OpenAI Services tan sols serà necessari realitzar uns senzills passos:

  1. Disposar d’una subscripció de Microsoft Azure
  2. Crear el recurs de tipus Azure OpenAI Services
  3. Seleccionar la zona geogràfica de la nostra instància i assignar-li un nom
  4. Implementar un model
  5. Obtenir la clau d’API de la nostra instància
  6. Consumir la nostra API Rest i realitzar sol·licituds

Un cop haguem realitzat els passos descrits anteriorment, estarem en disposició de realitzar les primeres sol·licituds a la nostra instància. I començar a explotar el potencial dels models d’IA. Per això, també és important destacar que a més de poder realitzar les sol·licituds via HTTP a l’API REST, també estan disponibles les llibreries oficials:

  • Nuget package: Azure.AI.OpenAI (Chat Completion) 
  • Nuget package: Azure.AI.OpenAI.Assistans (Assistants) 

En conclusió

Com a conclusió, totes dues opcions s’han de considerar a l’hora de realitzar una integració amb els serveis d’Azure OpenAI Services. Ja que dependrà de les necessitats i dels requeriments funcionals de la mateixa el que ens ajudin a determinar quan usar una versió o una altra.

Interessat en implementar Azure OpenAI Services al teu projecte? Contacta’ns per obtenir més informació i assessorament personalitzat!

Agustín Plaza Alcántara – Lead Developer at Itequia