NAVIG(AI)TOR:
UNA HERRAMIENTA RECOMENDADORA DE LLMS BASADA
EN LA DESCRIPCIÓN DEL DOMINIO A APLICAR
TRABAJO FIN DE GRADO
2023-2024
AUTORES:
ÁNGELA LUCENA PRIETO
SUPERVISADO POR:
ISMAEL SAGREDO OLIVENZA
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
NAVIG(AI)TOR:
A TOOL FOR RECOMMENDING LLMS BASED ON THE
DESCRIPTION OF THE DOMAIN TO APPLY
BCS THESIS
2023-2024
AUTHORS:
ÁNGELA LUCENA PRIETO
SUPERVISED BY:
ISMAEL SAGREDO OLIVENZA
BSC IN COMPUTER ENGINEERING
SCHOOL OF COMPUTER SCIENCE
COMPLUTENSE UNIVERSITY OF MADRID
2
DEDICATORIA
A mi amilia y amigos, especialmen e a mis pad es, mis he manas y a Ma i a.
3
AGRADECIMIENTOS
Veni a es udia a Mad id ha sido lo más impo an e que me ha ocu ido en la ida, y es o se debe
a las siguien es pe sonas a las que me gus a ía ag adece odo lo que han hecho po mí a lo la go de es os
años.
P ime o, a mis pad es, po habe me b indado la opo unidad de i i es a expe iencia,
apoyándome económica y mo almen e en cada decisión que he omado, con iando siemp e en mí y
dejándome se lo su icien emen e independien e pa a ap ende po mí misma.
A mis he manas, po su apoyo incondicional desde el p incipio y po da me el alo y la con ianza
en mí misma que muchas eces me ha al ado.
A Ma i a, po no sepa a se de mi lado en las peo es épocas de es udio, y po es a siemp e
dispues a a hace de lo malo algo mucho más lle ade o. Te echo de menos.
A mis amigas y amigos, mi segunda amilia. Po no deja me nunca sola, po hace que Mad id no
pa ezca an g ande y po da le sen ido a odo lo i ido du an e es os años. G acias.
A mi u o Ismael, po su ayuda y disposición cons an e pa a esol e cualquie duda o suge i
posibles mejo as en mi abajo. Su o ien ación ha sido undamen al en mi p oceso académico y ha hecho
mucho más ameno el es ue zo que ha implicado el desa ollo de es e p oyec o.
Finalmen e, al equipo de Nexus and Inno a ion de S a esys, po habe me o o gado la
opo unidad de desa olla es e p oyec o, asumiendo odos los gas os adhe idos al mismo.
Especialmen e, quie o ag adece a I ene, Edu, Guille, Juli y F an, po ab i me las pue as al ascinan e
mundo de la In eligencia A i icial y po su colabo ación, jun o con mi u o , en la esolución de cualquie
p oblema en el desa ollo de mi T abajo de Fin de G ado.
A odos oso os, po acompaña me en es a e apa, mil g acias de co azón; es o no end ía sen ido
si no hubie ais es ado ahí.
4
RESUMEN
Na igAI o : Una he amien a ecomendado a de LLMs basada en la desc ipción del dominio a aplica
El p ocesamien o del lenguaje na u al (NLP) ha sido un desa ío ecnológico du an e décadas. Es e
es udio se cen a en e alua el endimien o de di e sos modelos de lenguaje a g an escala (LLMs) en casos
de uso especí icos de NLP, con el obje i o p incipal de desa olla un asis en e i ual llamado Na igAI o
que o ezca ecomendaciones basadas en los esul ados del es udio. Se iden i ican y compa an modelos
de OpenAI, LLAMA y Mis al en dos con ex os: el análisis de en e is as de abajo y de llamadas
ele ónicas. Se han u ilizado he amien as de e aluación que incluyen un o mula io pa a la alo ación
subje i a de los usua ios sob e las salidas gene adas en las a eas de cada caso de uso po cada modelo,
jun o con la medición de la la encia, indicando el iempo que cada modelo a da en ejecu a dichas a eas.
Además, se ha lle ado a cabo una in es igación exhaus i a sob e o as mé icas ele an es, como el
endimien o en benchma ks es anda izados y el p ecio po oken. Los esul ados ob enidos buscan guia
a desa ollado es y p o esionales de IA en la selección de modelos de lenguaje pa a aplicaciones del
mundo eal, con ibuyendo al a ance del campo del NLP y mejo ando la e icacia de las soluciones
implemen adas.
Palab as cla e
Modelos G andes de Lenguaje (LLM), P ocesamien o del lenguaje na u al (NLP), gene ación de
eúmenes, ex acción de insigh s, Talen Scan, Sma Call T ansc ip , mé icas de e aluación, bechma ks
es anda izados, asis en e i ual e in eligencia a i icial.
5
ABSTRACT
Na igAI o : A ool o ecommending LLMs base don he desc ip ion o he domain o apply
Na u al Language P ocessing (NLP) has been a echnological challenge o decades. This s udy
ocuses on e alua ing he pe o mance o a ious la ge language models (LLMs) in speci ic NLP use cases,
wi h he p ima y objec i e o de eloping a i ual assis an called Na igAI o ha p o ides
ecommenda ions based on he s udy's indings. Models om OpenAI, LLAMA, and Mis al a e iden i ied
and compa ed in wo con ex s: he analysis o job in e iews and phone calls. E alua ion ools used
include a use eedback o m o subjec i e assessmen o he ou pu s gene a ed by each model o each
use case ask, along wi h la ency measu emen indica ing he ime each model akes o execu e hese
asks. Addi ionally, an exhaus i e in es iga ion in o o he ele an me ics, such as pe o mance in
s anda dized benchma ks and cos pe oken, has been conduc ed. The esul s aim o guide de elope s
and AI p o essionals in selec ing language models o eal-wo ld applica ions, con ibu ing o he
ad ancemen o NLP and imp o ing he e ec i eness o implemen ed solu ions.
Keywo ds
La ge Language Models (LLM), Na u al Language P ocessing (NLP), ex gene a ion, insigh s
ex ac ion, Talen Scan, Sma Call T ansc ip , e alua ion me ics, s anda dized benchma ks, i ual
assis an , a i icial in elligence.
6
ÍNDICE DE CONTENIDOS
Con enido
1. In oducción ........................................................................................................................................ 15
1.1 Mo i ación ........................................................................................................................................ 16
1.2 Hipó esis del es udio ......................................................................................................................... 17
1.3 Obje i os ........................................................................................................................................... 17
1.4 Plan de T abajo ................................................................................................................................. 18
2. Es ado del a e..................................................................................................................................... 21
2.1 In oducción a los Modelos de Lenguaje a G an Escala .................................................................... 21
2.1.1 ¿Qué son los LLMs y cómo uncionan? ...................................................................................... 21
2.1.2 E olución de los LLMs ................................................................................................................ 23
2.1.3 Tipos de Modelos de Lenguaje .................................................................................................. 24
2.2 Agen es In eligen es y su elación con los LLMs ............................................................................... 26
2.3 Agen e basado en LLM y sus componen es c í icos .......................................................................... 27
2.3.1 Tex Spli e ................................................................................................................................ 28
2.3.2 Embeddings ............................................................................................................................... 30
2.3.3 RAG y Vec o DB ......................................................................................................................... 34
2.3.4 Memo ia .................................................................................................................................... 35
2.3.5 P omp Enginee ing ................................................................................................................... 39
3. Casos de Uso Po E alua .................................................................................................................... 40
3.1 P esen ación de los casos de uso ...................................................................................................... 41
3.1.1 Talen Scan................................................................................................................................. 41
3.1.2 Sma Call P ocesso .................................................................................................................. 42
7
3.2 Implemen ación de los casos de uso ................................................................................................ 43
3.2.1 In aes uc u a y Comunicación con las APIs de los Modelos en Azu e ..................................... 43
3.2.2 Funciones gene ales .................................................................................................................. 45
3.2.3 Funciones especí icas de Talen Scan ........................................................................................ 46
3.2.4 Funciones especí icas de Sma Call P ocesso .......................................................................... 48
4. Modelos G andes de Lenguaje a E alua ............................................................................................. 51
4.1 OPENAI .............................................................................................................................................. 53
4.1.1 GPT-4 32K .................................................................................................................................. 54
4.2 MISTRAL ............................................................................................................................................ 56
4.3 LLAMA 2 ............................................................................................................................................ 58
5. Resul ados ........................................................................................................................................... 61
5.1 P ocedimien o de Ejecución ............................................................................................................. 62
5.2 Resul ados de la Ejecución ................................................................................................................ 63
5.3 E aluación del Fo mula io y Resul ados Ob enidos .......................................................................... 67
5.3.1 Diseño e implemen ación del o mula io .................................................................................. 67
5.3.2 Resul ados ob enidos en el o mula io ...................................................................................... 68
5.4 Resul ados de algunos modelos en benchma ks es anda izados ..................................................... 74
5.5 E aluación Final................................................................................................................................. 78
6. Na igAI o ............................................................................................................................................ 82
7. Conclusiones y T abajos Fu u os ......................................................................................................... 88
In oduc ion ................................................................................................................................................ 90
1. Mo i a ion ............................................................................................................................. 91
2. S udy Hypo hesis ................................................................................................................... 92
3. Objec i es .............................................................................................................................. 92
14
15
1. In oducción
El p ocesamien o del lenguaje na u al (NLP) ha ep esen ado un desa ío ecnológico du an e
décadas. A pesa de los a ances, los agen es con e sacionales han en en ado múl iples de iciencias,
como la incapacidad pa a eco da con e saciones p e ias, man ene diálogos cohe en es sob e emas
especí icos y esponde con p ecisión a p egun as comp ome idas, donde e elaban ácilmen e su
na u aliza a i icial. Es as de iciencias se hicie on e iden es en la in e acción con asis en es de oz
popula es como ‘Alexa’ y ‘Si i’, quienes, a pesa de su amplia adopción, han sido obje o de c í icas po sus
e o es y limi aciones a la ho a de esponde al usua io. En el con ex o de la pé dida de con ol, ue un
ejemplo no o io el cha bo de Mic oso , ‘Tay’, e i ado de Twi e debido a su compo amien o
inap opiado y a la incapacidad pa a ges iona adecuadamen e las in e acciones con los usua ios.
'Como muchos de us edes sab án, el mié coles lanzamos un cha bo llamado Tay. Lamen amos
p o undamen e los wee s in olun a ios o ensi os e hi ien es de Tay, que no ep esen an quiénes somos ni
qué ep esen amos, ni cómo diseñamos a Tay'. (Pe e Lee, 2016)
Sin emba go, en los úl imos años, el pano ama del NLP ha expe imen ado una ans o mación
e oluciona ia, impulsada po el su gimien o de los Modelos de Lenguaje a G an Escala o La ge Language
Models (LLMs) en inglés, basados en la a qui ec u a T ans o me . Es os a ances han sido posibles g acias
al desa ollo de edes neu onales p o undas y al aumen o en la capacidad de p ocesamien o de los da os.
La in oducción de los LLMs ha ma cado un pun o de in lexión en el campo, pe mi iendo que los sis emas
de NLP alcancen ni eles de endimien o sin p eceden es en a eas como la gene ación de ex o.
Además, es esencial des aca que la e olución de los LLMs ha sido impulsada po hi os especí icos
en la in es igación. Uno de los momen os más signi ica i os ue la p esen ación del modelo GPT
(Gene a i e P e- ained T ans o me ) po OpenAI en 2018, seguido po su suceso , ‘GPT-2’, y los
inno ado es ‘GPT-3’ y ‘GPT-4’, que es ablecie on un nue o es ánda en la capacidad de los modelos de
lenguaje pa a comp ende y gene a ex o na u al. Asimismo, la apa ición de po en es modelos de código
abie o pe enecien es a amilias como LLAMA (La ge Language Model o Model Analysis) y MISTRAL,
que han con ibuido signi ica i amen e al a ance del campo, democ a izando el acceso a es as
ecnologías y omen ando la colabo ación en la comunidad de in es igación del NLP. Es os a ances han
sen ado las bases pa a una nue a e a en el NLP, con aplicaciones po enciales que aba can desde la
asis encia i ual has a la c eación de con enido au oma izado.
16
1.1 Mo i ación
El campo de la in eligencia a i icial (IA), y en pa icula el p ocesamien o del lenguaje na u al ha
expe imen ado un c ecimien o sin p eceden es en los úl imos años, g acias al desa ollo de modelos de
lenguaje cada ez más a anzados y po en es. Sin emba go, con la p oli e ación de es os modelos, su ge
la necesidad de e alua su endimien o en di e en es casos de uso y escena ios especí icos.
La mo i ación de ás de es e es udio adica en la necesidad de comp ende cómo di e en es
modelos de lenguaje se desempeñan en una a iedad de a eas y si uaciones, con el obje i o de iden i ica
cuál de ellos o ece mejo es esul ados en cada caso. Es a necesidad lle a a ios años siendo es udiada
po o os desa ollado es pe enecien es al campo de la IA. (Lipenko a, 2022).
En es e p oyec o pa icula , se p opone e alua di e en es modelos de lenguaje pe enecien es a
OpenAI, LLAMA y Mis al, en dos casos de uso dis in os. Es os casos de uso aba can la gene ación de
esúmenes y la ex acción de insigh s ele an es, en endidos como in o mación aliosa o hallazgos
signi ica i os, en dos con ex os di e en es: el análisis de una en e is a de abajo y el análisis de una
llamada ele ónica. Al e alua es os modelos en di e sos escena ios, pod emos de e mina sus o alezas
y debilidades, así como su idoneidad pa a di e en es aplicaciones y con ex os.
Además, es e es udio iene como obje i o p opo ciona una guía p ác ica pa a la selección de
modelos de lenguaje en aplicaciones del mundo eal. Al en ende qué modelos uncionan mejo en qué
si uaciones, los desa ollado es y p o esionales de IA pod án oma decisiones más in o madas y e icaces
al implemen a soluciones de NLP en di e sos p oyec os.
Con es a in o mación, se espe a acili a la adopción y el desa ollo de soluciones de NLP más
e ec i as y adap adas a las necesidades del mundo eal.
Es a mo i ación subyace en la c eación de Na igAI o , un asis en e i ual basado en la
in o mación ecopilada, capaz de ecomenda el modelo de lenguaje más adecuado pa a una a ea
especí ica, p opo cionando así una he amien a ú il y p ác ica pa a aquellos que abajan en el campo de
la IA y el p ocesamien o del lenguaje na u al.
17
1.2 Hipó esis del es udio
La p emisa básica de es e abajo es que, al e alua y compa a di e en es modelos de lenguaje
en dis in os casos de uso del p ocesamien o del lenguaje na u al, se pod á iden i ica cuál de ellos
p opo ciona los mejo es esul ados en é minos de endimien o y e icacia pa a cada si uación especí ica.
Se hipo e iza que al analiza el desempeño de los modelos de OpenAI, LLAMA2 y MISTRAL en dos casos
de uso di e en es que in oluc an a eas como la gene ación de esúmenes y la ex acción de insigh s
aliosos, se pod á de e mina cuál de ellos se adap a mejo a cada aplicación pa icula .
Así, se espe a que es a e aluación p opo cione una guía ú il pa a los desa ollado es y usua ios
que buscan implemen a modelos de lenguaje en aplicaciones p ác icas, al o ece ecomendaciones
sob e qué modelo u iliza en unción de las necesidades especí icas de cada caso de uso. Asimismo, se
espe a que es e es udio con ibuya a la comp ensión y la alo ación de los modelos de lenguaje
disponibles en el me cado, conside ando an o su endimien o como su aplicabilidad en escena ios del
mundo eal. Además, se an icipa que los esul ados ob enidos se án u ilizados pa a in o ma el diseño y
desa ollo de un asis en e ecomendado de modelos de lenguaje que pueda o ien a a los usua ios en la
selección del modelo más adecuado pa a sus necesidades especí icas.
1.3 Obje i os
Los obje i os de es e p oyec o son los siguien es:
C ea dos casos de uso di e en es del p ocesamien o del lenguaje na u al sob e los que
se ealiza án la e aluación de los modelos:
1. P ime Caso: desa olla un sis ema de p ocesamien o del lenguaje na u al pa a
analiza en e is as de abajo. Es e sis ema ex ae á in o mación sob e las
habilidades blandas (so skills) y habilidades écnicas ( echnical skills) de los
candida os, y gene a á un esumen que e alua á la idoneidad del candida o pa a
la acan e.
2. Segundo Caso: implemen a un sis ema de p ocesamien o del lenguaje na u al
pa a analiza llamadas ele ónicas. Es e sis ema gene a á un esumen de allado
de los e en os ocu idos du an e la llamada y ealiza á un análisis de sen imien os
pa a e alua las emociones del ecep o a lo la go de la con e sación.
18
Analiza las mé icas de los modelos de lenguaje de g an escala pe enecien es a OpenAI,
LLAMA y Mis al, incluyendo la e aluación humana, el p ecio po oken, la en ana de
con ex o del modelo y la la encia, en e o os aspec os.
E alua y compa a el endimien o de los modelos seleccionados, en los casos de uso
p e iamen e c eados.
Desa olla he amien as de e aluación:
1. C ea un o mula io de e aluación pa a que expe os y usua ios puedan cali ica
y p opo ciona e oalimen ación sob e el endimien o de los modelos en cada
caso de uso.
2. Es udia el endimien o de los modelos seleccionados en benchma ks
es anda izados.
Implemen ación y E aluación de un asis en e i ual:
1. Desa olla un asis en e i ual ecomendado de modelos de lenguaje que,
basado en la in o mación ecopilada y las mé icas de e aluación, sugie a el
modelo más ap opiado pa a una a ea especí ica, eniendo en cuen a las
p e e encias y equisi os del usua io.
2. P opo ciona una uncionalidad adicional al asis en e pa a que esponda sob e
cualquie p egun a cuyo con ex o o me pa e de es e p oyec o de in es igación.
3. E alua la e icacia del asis en e i ual pa a ecomenda el modelo más adecuado
eniendo en cuen a las p e e encias y equisi os del usua io.
1.4 Plan de T abajo
E apa 1: P epa ación y Diseño
1. Pasos Iniciales:
In es igación p e ia sob e el uso de S eamli , LangChain, Azu e y cómo u iliza es as
pla a o mas pa a ealiza las di e en es implemen aciones y llamadas a los LLMs,
jun o con odos los equisi os que es o implica.
In es igación de los casos de uso más ele an es en el campo de la IA gene a i a y el
NLP, pa a decidi los casos de uso a desa olla .
19
In es igación de los LLMs más ele an es del me cado ac ual y su disponibilidad en
Azu e.
2. De inición de los Casos de Uso:
Re isión de allada de las necesidades y equisi os pa a cada caso de uso: Talen Scan
y Sma Call T ansc ip .
Diseño de los lujos de abajo y la a qui ec u a de los sis emas de p ocesamien o del
lenguaje na u al pa a cada caso de uso.
3. Recopilación de Mé icas:
In es igación exhaus i a sob e las mé icas de e aluación de modelos de lenguaje,
incluyendo el p ecio po oken, la en ana de con ex o del modelo y la la encia, en e
o os.
Iden i icación y ecopilación de da os ele an es pa a la compa ación de los modelos
pe enecien es a OpenAI, LLAMA y Mis al.
E apa 2: Implemen ación y E aluación de Modelos
1. Desa ollo de Casos de Uso:
Implemen ación de los sis emas de p ocesamien o del lenguaje na u al pa a el
análisis de en e is as de abajo y llamadas ele ónicas.
In eg ación de los modelos de lenguaje seleccionados en cada caso de uso y p uebas
p elimina es pa a e la iabilidad de los modelos.
2. Ejecución Compa a i a:
Ejecución de p uebas exhaus i as pa a e alua el endimien o de los modelos en los
casos de uso desa ollados, jun o con la oma de medidas como la la encia.
Recopilación de los esul ados ob enidos, pa a u iliza en la e aluación subje i a.
20
E apa 3: Desa ollo de He amien as de E aluación
1. C eación del Fo mula io de E aluación:
Diseño y desa ollo de un o mula io es uc u ado pa a la e aluación de expe os y
usua ios sob e el endimien o de los modelos en cada caso de uso, u ilizando los
esul ados ob enidos en la e apa an e io .
P uebas y ajus es del o mula io pa a ga an iza su e icacia y usabilidad.
2. Es udio de Rendimien o en Benchma ks:
In es igación del endimien o de los modelos en benchma ks es anda izados pa a
e alua los en escena ios especí icos y pode compa a dicha e aluación con la del
o mula io.
E apa 4: Implemen ación y E aluación del Asis en e Vi ual
1. Desa ollo del Asis en e Vi ual:
Implemen ación del asis en e i ual ecomendado de modelos de lenguaje, basado
en oda la in o mación ecopilada y las mé icas de e aluación de las e apas
an e io es.
Añadi la uncionalidad de que pueda esponde a cualquie ema que apa ezca en la
documen ación y, de hecho, u ilice es a in o mación pa a explica sus
esomendaciones.
2. E aluación de E icacia:
Realización de p uebas de usabilidad y e aluación de la e icacia del asis en e i ual
en la ecomendación de modelos adecuados.
Análisis de si ealiza la uncionalidad adicional de p opo ciona cualquie in o mación
que se encuen e en el documen o.
E apa 5: Conclusiones y abajos u u os
Apo a conclusiones en base a los esul ados ob enidos y posibles u u as mejo as o
implemen aciones.
21
2. Es ado del a e
En el mundo del p ocesamien o del lenguaje na u al y la c eación de agen es in eligen es, son dos
las ecnologías que han supues o una ue e dis upción: los La ge Language Models (LLMs) y la gene ación
p ocedimen al.
Du an e los úl imos años, se ha sido es igo de una e olución so p enden e en el mundo de los
LLMs. Desde sus humildes comienzos en o no al año 2018 con ‘GPT-1’, es os modelos han expe imen ado
una ans o mación no able, especializándose signi ica i amen e en di e sas á eas. Es e p og eso no solo
e leja su c ecimien o en complejidad, sino ambién la di e si icación de sus aplicaciones p ác icas,
ma cando así una e a ascinan e en el p ocesamien o del lenguaje na u al.
Aden ándose en los en esijos, en es a sección se explo a án a ondo los componen es esenciales
que po encian a los agen es in eligen es en conjun o con los LLMs, desde p ocesos como el ‘Spli ing’
has a la in eg ación de ‘Embeddings’, en e o os. Con es a na a i a, no solo se busca descub i es os
elemen os, sino ambién a oja luz sob e cómo con ibuyen a la e icacia y oma de decisiones de los
agen es digi ales con los que con i imos en nues o día a día.
Es e iaje a a és del es ado del a e iene como obje i o con ex ualiza es os elemen os
esenciales, p opo cionando así una base sólida. Una base que, a su ez, se á la guía en la e aluación de
modelos y la c eación de un asis en e i ual capaz de señala el modelo más adecuado pa a di e sos
desa íos especí icos.
2.1 In oducción a los Modelos de Lenguaje a G an Escala
2.1.1 ¿Qué son los LLMs y cómo uncionan?
Al sume gi se en el uni e so de los La ge Language Models, se aden a en algo i mos de
ap endizaje p o undo diseñados pa a abo da una amplia gama de a eas elacionadas con el
p ocesamien o del lenguaje na u al. Es os modelos poseen una capacidad única pa a cap a pa ones de
lenguaje, g amá ica y con ex o, con i iéndolos en componen es esenciales pa a una amplia a iedad de
aplicaciones elacionadas con el NLP. En e es as des acan la gene ación y el esumen de ex o, la
aducción de idiomas, la espues a a consul as, la ob ención de insigh s e incluso la gene ación de código.
22
Su habilidad pa a sin e iza y gene a in o mación los posiciona como elemen os in aluables en la
in eligencia a i icial y el p ocesamien o del lenguaje.
En el co azón de los LLMs se encuen an los T ans o me s (Vaswani, 2017), una a qui ec u a
e oluciona ia que ha ma cado un cambio signi ica i o en la o ma en la que los modelos comp enden y
gene an ex o.
Es os T ans o me s des acan po su habilidad a la ho a de maneja dependencias a la ga dis ancia
median e lo que se conoce como mecanismos de au oa ención, que como su p opio nomb e indica, en
luga de cen a se exclusi amen e en una pa e especí ica del ex o, pe mi e al modelo conside a odas
las palab as (o elemen os) en la en ada, asignando di e en es ni eles de impo ancia. En pa icula , los
T ans o me s se cen an en la a ención mul i-cabeza (Mul i-Head A en ion). Cada ‘cabeza’ unciona como
un conjun o independien e de pesos y conexiones pa a cap u a di e en es pa ones y elaciones en los
da os.
Du an e el p ocesamien o, cada cabeza de a ención calcula pesos especí icos pa a cada palab a
en unción de su ele ancia en el con ex o global. Es a capacidad única le pe mi e al modelo adap a se a
di e en es pa ones y je a quías den o del ex o, mejo ando signi ica i amen e su capacidad pa a
comp ende y gene a ex o de mane a e ec i a.
Es c ucial des aca el p oceso de en enamien o de es os modelos, ya que sien a las bases pa a
su uncionamien o. Du an e la ase de p een enamien o, los LLMs se sume gen en as os conjun os de
da os, ap endiendo pa ones lingüís icos complejos. Luego, en el ajus e ino ( ine- uning) se adap an a
a eas especí icas.
Finalmen e, es esencial menciona que, en ambas ases, la op imización de los pesos se lle a a
cabo median e algo i mos de e op opagación que pe mi en p opaga los e o es de p edicción hacia
a ás a a és de la ed neu onal, ajus ando los pesos pa a que el modelo ap enda a gene a p edicciones
más p ecisas; y el descenso del g adien e, que calcula el g adien e (la de i ada) de la unción de pé dida
espec o a los pesos, y los ac ualiza en la di ección opues a, educiendo la pé dida y pe mi iendo que el
modelo con e ja, haciendo que el e o se minimice.
Es e p oceso i e a i o de e op opagación y descenso del g adien e es undamen al pa a que los
LLMs desa ollen su capacidad de comp ende y gene a ex o, adap ándose a di e sas a eas y con ex os.
23
2.1.2 E olución de los LLMs
En el anscu so de la his o ia de la In eligencia A i icial, el NLP ha sido una de las á eas más
des acadas. Desde los años 50, igu as como Alan Tu ing, pione o de la in o má ica y la IA, plan ea on
ideas undamen ales que hoy son cen ales en es e campo. Tu ing in odujo el amoso ‘Tes de Tu ing’
(Josue, 2021), concebido pa a e alua la in eligencia de una máquina, asemejándose a lo que conocemos
como un Cha Bo . Es o sub ayó desde el p incipio que comp ende y p ocesa el lenguaje humano se ía
una me a esencial de la IA.
En sus p ime as e apas, los en oques basados en eglas y g amá icas o males en en a on
limi aciones debido a su incapacidad pa a adap a se a las complejidades del lenguaje na u al. Sin
emba go, la in oducción de las edes neu onales a i iciales en la década de los 80 pe mi ió el desa ollo
de modelos más a anzados, como las edes neu onales ecu en es (RNN) que es án diseñadas pa a
p ocesa da os secuenciales, y las edes neu onales con olucionales (CNN), las cuales son conocidas po
su e iciencia en el p ocesamien o de da os que ienen una es uc u a de cuad ícula, como imágenes o
ep esen aciones ec o iales de palab as. Es os modelos, inspi ados en el ce eb o humano, posibili a on
que las máquinas ap endie an a pa i de ejemplos, mejo ando signi ica i amen e su capacidad pa a
comp ende y gene a ex o en lenguaje na u al. Sin emba go, el e dade o cambio de pa adigma ocu ió
hace menos de un decenio, con la in oducción de los T ans o me s en 2017.
Como se discu ió en el apa ado an e io (2.1.1), los T ans o me s, con su a qui ec u a
inno ado a, pe mi en supe a las limi aciones de las RNN y las CNN al abo da e icien emen e las
elaciones de la go alcance en e palab as en el ex o. Es a e olución allanó el camino pa a los Modelos
de Lenguaje P e-en enados (PLMs) y, más ecien emen e, los LLMs, como ‘BERT’ y ‘GPT’, que han
mos ado un endimien o excepcional en di e sas a eas de NLP.
A pesa de es os a ances, es c ucial abo da p eocupaciones eme gen es en es e con ex o
ecnológico. Los LLMs, aunque pode osos, equie en eno mes ecu sos y plan ean desa íos en é minos
de sos enibilidad y accesibilidad. Además, la p esencia de sesgos en los da os de en enamien o puede
da luga a esul ados disc imina o ios.
‘Los modelos de lenguaje a g an escala ienen una con iabilidad limi ada, una
comp ensión limi ada, un alcance limi ado y, po lo an o, necesi an supe isión
humana.’ (Michael Osbo ne p o eso de Machine Lea ning de la Uni e sidad de Ox o d, 2023)
30
Nomb e
Di isión
Añade
Me ada os
Desc ipción
Recu si e
Lis a de ca ac e es
de inida po el usua io
Di ide el ex o de o ma ecu si a. Es a
di isión si e pa a a a de man ene
agmen os de ex o elacionados uno al lado
del o o. Es la o ma ecomendada de
comenza a di idi ex o.
HTML
Ca ac e es especí icos
de HTML
Di ide el ex o en unción de ca ac e es
especí icos de HTML. Es o ag ega
in o mación impo an e (me ada os) sob e
la p ocedencia de ese agmen o.
Code
Ca ac e es especí icos
de código (Py hon, JS)
Di ide el ex o en unción de los ca ac e es
especí icos de los lenguajes de codi icación.
Hay 15 idiomas di e en es disponibles pa a
elegi .
Token
Tokens
Di ide el ex o en okens (g upos de
ca ac e es que ep esen an una unidad
undamen al de ex o). Exis en algunas
o mas di e en es de medi los okens.
Cha ac e
Un ca ác e de inido
po el usua io
Di ide el ex o en unción de un ca ác e
de inido po el usua io. Uno de los mé odos
más sencillos.
[Expe imen al]
Seman ic
Chunke
O aciones
P ime o se di ide en o aciones. Luego
combina unos al lado de o os si son lo
su icien emen e simila es semán icamen e.
Tomado de (Kam ad , 2024)
Tabla 1. Tipos de Tex Spli e s
2.3.2 Embeddings
Los La ge Language Models no in e p e an el ex o de la mane a en que lo hacen los humanos,
sino que en su luga lo con ie en a una ep esen ación numé ica conocida como ‘embeddings’ (Wo d
Embeddings h ough Hellinge PCA, 2017). Es a écnica ha e olucionado las a eas de descub imien o de
conocimien o y ecomendación de con enido desde su popula ización en 2013 con el desa ollo de
‘wo d2 ec’.
31
Figu a 2-6. Rep esen ación de los Embeddings (Image Sou ce: (Rude , 2016))
Pa a ilus a es e concep o, conside a el desa ollo de un sis ema de econocimien o acial. En
es e con ex o, la a ea es compa a una imagen del os o de una pe sona con una base de da os que
con iene imágenes de e e encia pa a de e mina su au en icidad. En luga de compa a di ec amen e las
imágenes, se cons uye una ed con olucional que p ocesa las imágenes y gene a un ‘embedding’, una
ep esen ación ec o ial que es esencialmen e una lis a de núme os. La cla e aquí es que os os simila es
p oduci án embeddings ce canos, mien as que los os os di e en es gene a án embeddings más
dis an es.
En el ámbi o del p ocesamien o y análisis del lenguaje na u al se emplea un en oque simila
llamado Wo d Embedding. Es e mé odo oma palab as, las ep esen a como okens y las con ie e en
embeddings. Al igual que en el con ex o de las imágenes, palab as con ex ualmen e simila es end án
embeddings ce canos en e sí. Las igu as (Figu a 2-6 y Figu a 2-7) ep esen an g á icamen e es a elación
en una nube de Embeddings, o eciendo una isión más cla a.
32
Figu a 2-7. Ejemplos de Embeddings (Image Sou ce: (Thcookieh, 2024))
Sin emba go, es c ucial en ende que, en el lenguaje na u al, las palab as no exis en de mane a
aisladas, sino en un con ex o especí ico, como una ase. Dependiendo de ese con ex o, una palab a
puede adqui i di e en es signi icados. Aquí es donde en an en juego los LLMs y las Redes T ans o me .
Es as ecnologías pe mi en gene a embeddings capaces de cap u a la in o mación con ex ual,
asegu ando que ases con signi icado simila engan ep esen aciones ec o iales simila es. Es a écnica
se conoce como Tex Embedding (Feldges, 2023).
Al explo a las di e en es opciones de modelos de Tex Embeddings, se encuen an di e sos
p o eedo es des acados como OpenAI, Cohe e y Hugging Face, en e o os. Langchain complemen a es a
a iedad al o ece una clase base diseñada pa a in e ac ua con es os modelos, simpli icando el p oceso
de embebido de documen os y consul as. Es e p oceso in e no compa a el embedding de la consul a con
el de los documen os o eciendo la mejo espues a basada en la simili ud de los embeddings.
En pa icula , OpenAI des aca con dos modelos de embeddings de e ce a gene ación, de allada
en la siguien e abla ex aída de (OpenAI, 2024):
Figu a 2-8. Embedding models OpenAI
33
La abla p esen a una isión de allada de cada modelo, incluyendo el cos o po páginas de ex o
en dóla es (basado en ap oximadamen e 800 okens po página), el endimien o e aluado en MTEB
(Massi e Tex Embedding Benchma k) y la capacidad máxima admi ida po cada modelo.
El nue o modelo ‘ ex -embedding-3-small’ se des aca como una e sión al amen e e icien e,
ep esen ando una mejo a signi ica i a espec o a su p edeceso , el ‘ ex -embedding-ada-002’ lanzado en
diciemb e de 2022. Es e modelo exhibe un endimien o mejo ado en la e aluación es ánda pa a
ecupe ación mul ilingüe (MIRACL), con una pun uación p omedio aumen ada del 31.4% al 44%. Además,
ha mejo ado su endimien o e aluado con MTEB, pasando de un 61% a un 62.3%. Una en aja adicional
es su educción de p ecio en una quin a pa e con espec o al ‘ ex -embedding-ada-002’, disminuyendo
de 0.0001$ a 0.0002$ po cada 1000 okens.
En la misma abla, se des aca el modelo ‘ ex -embedding-3-la ge’, una e sión de ex o a g an
escala que gene a embeddings con has a 3072 dimensiones. Es e modelo se posiciona como el mejo
endimien o de OpenAI, ob eniendo un 54.9% en la p ueba MIRACL, en compa ación con el 31.4% de ex -
embedding-ada-002. Asimismo, en MTEB, la pun uación p omedio ha c ecido de 61% a 64.6%
1
.
En conclusión, los embeddings ep esen an un a ance c ucial en el p ocesamien o del lenguaje
na u al, pe mi iendo la aducción de concep os lingüís icos a ep esen aciones numé icas. Su aplicación
a más allá de la me a comp ensión semán ica, ya que impulsan he amien as como el Re ie al
Augmen ed Gene a ion (RAG) y acili an la c eación de sis emas más e icien es pa a la ecupe ación y
gene ación de in o mación. Es os a ances no solo op imizan la in e acción con modelos de lenguaje, sino
que ambién ab en nue as posibilidades pa a la inno ación en in eligencia a i icial y el desa ollo de
aplicaciones más in ui i as y con ex uales.
1
Todos es os esul ados pueden se consul ados en la página o icial de OpenAI: h ps://openai.com/
34
2.3.3 RAG y Vec o DB
Figu a 2-9. Elemen os en una a qui ec u a RAG (Image Sou ce: (Escalona, 2023))
Uno de los p oblemas más p eocupan es en los LLMs son las alucinaciones, ca ac e izadas po la
gene ación de in o mación incohe en e, i ele an e o simplemen e alsa. A pesa del en enamien o
ex ensi o con g andes olúmenes de da os, las e a as en la comp ensión del con ex o pe sis en. Pa a
abo da es e desa ío, des acan dos concep os undamen ales en el ámbi o del P ocesamien o del
Lenguaje Na u al: el Re ie al-Augmen ed Gene a ion (RAG) y Vec o DB, una base de da os especializada
pa a almacena ec o es de embeddings, comúnmen e in eg ada en implemen aciones de RAG.
El RAG, o Gene ación con Recupe ación (Al a ado, 2023), ep esen a una écnica a anzada en NLP
que usiona modelos ecupe a i os y gene a i os. Los modelos ecupe a i os seleccionan in o mación
ele an e en espues a a una consul a, mien as que los gene a i os p oducen ex o comple amen e
nue o. Es a combinación ha concedido esul ados de angua dia en a eas como espues as a p egun as
abie as y diálogos complejos.
Además de los LLMs, o os elemen os cla e en la a qui ec u a RAG incluyen las bases de da os
ec o iales o Vec o DB, que almacenan embeddings pa a pe mi i una búsqueda semán ica e icien e
du an e la e apa de ecupe ación inicial. Pa a escala en g andes co pus de ex o, bases de da os
al amen e op imizadas como Ch oma (Ch oma, 2024) o Pinecone (Pinecone, 2024) son esenciales (En el
p esen e abajo se ha u ilizado Pinecone en la implemen ación del agen e ecomendado de modelos).
35
Es as a qui ec u as des acan po su capacidad pa a almacena miles de millones de ec o es de ex o o
documen os, acili ando búsquedas de simili ud de baja la encia, es deci casi ins an áneas. Es as bases
de da os ec o iales u ilizan es uc u as a anzadas, como índices in e idos y á boles de decisión (O ega,
2023), y es a egias como hashing (Ma ínez) y g á icos HNSW (Yu. A. Malko , 2018) pa a la búsqueda
ap oximada del ecino más ce cano en espacios de al a dimensión, e i ando cálculos cos osos.
O os componen es des acables de la a qui ec u a RAG son los modelos de inc us ación
(Embedding models), que ans o man consul as y da os en ec o es, acili ando la compa ación y
búsqueda e icaz en las bases de da os ec o iales. Es os modelos se o nan i ales en la iden i icación y
ecupe ación de la in o mación más pe inen e. Po o o lado, se debe des aca el papel que desempeñan
los modelos ecupe a i os o Re ie al models, que se enca gan de selecciona in o mación ele an e
almacenada en el Vec o DB du an e la ase de ecupe ación, que pos e io men e se u iliza en la e apa de
gene ación de espues as. Pa a log a es o, los Re ie al models aplican di e sas écnicas, como MMR
(Maximum Ma ginal Rele ance) (Kuma , 2024), que di e si ica los esul ados de la búsqueda
seleccionando de las k espues as más simila es aquellas que sean di e sas en e sí. También emplean la
écnica de sel -que y, que modi ica o expande la consul a o iginal u ilizando in o mación (me ada os) de
documen os ecupe ados p e iamen e. Po úl imo, des aca en es e con ex o el concep o de
comp ensión, que alude a la educción de la can idad de in o mación edundan e o no ele an e de los
esul ados. Es a educción puede log a se median e écnicas como la eliminación de é minos comunes o
la ep esen ación compac a de documen os, con ibuyendo a acele a la ecupe ación y a mejo a la
e iciencia del sis ema.
2.3.4 Memo ia
Pa a man ene una con e sación cohe en e, es undamen al que los Modelos de Lenguaje a G an
Escala dispongan de una memo ia con e sacional que les pe mi a esponde a múl iples consul as de
mane a simila a un cha . Es a memo ia es esencial pa a eco da in e acciones pasadas y con ex ualiza
las espues as, e i ando que cada consul a se a e como una en ada independien e.
36
Figu a 2-10. LLM con y sin memo ia con e sacional. Los ecuad os azules ep esen an al usua io, mien as que los g ises son la
espues a del LLM. Sin memo ia con e sacional (de echa), el LLM no puede esponde u ilizando el conocimien o de in e acciones
p e ias. (Sou ce Image: (Pinecone, 2024))
En el con ex o de (LangChain, 2024), la implemen ación de es a memo ia se basa en
Con e sa ionChain, que cons a de dos pa áme os p incipales: el his o ial (his o y) y la en ada (inpu ). El
his o ial almacena in o mación sob e con e saciones p e ias en e el usua io y la IA, mien as que la
en ada hace e e encia a la úl ima consul a ealizada po el usua io. Es os pa áme os se u ilizan pa a
alimen a al LLM, pe mi iendo que con inúe la con e sación de mane a cohe en e.
Exis en a ios ipos de memo ia con e sacional, cada uno con sus p opias ca ac e ís icas y
aplicaciones. Uno de los en oques más simples es la Con e sa ionBu e Memo y (Langchain, 2024), que
u iliza un bu e pa a almacena di ec amen e cada in e acción en el his o ial de cha , lo que o ece
en ajas en cuan o a la can idad de in o mación disponible pa a el LLM. Sin emba go, es e en oque
ambién p esen a des en ajas, como el aumen o del iempo de espues a y el cos o a medida que se
acumulan más okens en el bu e . Además, exis e un lími e en la can idad de okens que se pueden
almacena en el LLM (po ejemplo 4096 okens pa a ‘ ex -da inci-003’ y ‘gp -3.5- u bo’), lo que puede
esul a en la pé dida de in o mación cuando se alcanza es e lími e.
37
Pa a mi iga es e p oblema, se in oduce la Con e sa ionSumma yMemo y, que esume el
his o ial de con e saciones an es de pasa lo al pa áme o ‘his o ial’. Es e en oque implica el uso de un
LLM adicional pa a ealiza el esumen de cada nue a in e acción y ag ega la a un esumen con inuo de
odas las in e acciones pasadas.
Figu a 2-11. Recuen o de Tokens a medida que aumen a el núme o de in e acciones pa a la Con e sa ionBu e Memo y en e a
la Con e sa ionSumma yMemo y (Image Sou ce: (Pinecone, 2024))
En la Figu a 2-11 se puede obse a que, aunque la Con e sa ionSumma yMemo y consume más
okens que la Con e sa ionBu e Memo y en una con e sación p olongada, pe mi e con e saciones más
ex ensas y e i a la pé dida de in o mación cuando se alcanza el lími e de okens.
O a a ian e es la Con e sa ionBu e WindowMemo y, que ag ega una en ana de memo ia al
en oque de bu e . Es a en ana e iene solo un núme o de e minado de in e acciones pasadas an es de
‘ol ida las’. En es a con igu ación, se debe especi ica un alo k, que ep esen a el núme o de
in e acciones que la en ana puede eco da . Aunque es a memo ia no es ideal pa a eco da
in e acciones dis an es, esul a ú il pa a limi a el núme o de okens u ilizados, ya que la en ana puede
ajus a se aumen ando o disminuyendo el alo de k según las necesidades de la con e sación.
38
Finalmen e, la Con e sa ionSumma yBu e Memo y combina los p incipios de la
Con e sa ionSumma yMemo y y la Con e sa ionBu e WindowMemo y. La esencia es a memo ia adica
en su capacidad pa a esumi las p ime as in e acciones de una con e sación, man eniendo
simul áneamen e los okens más ecien es sin p ocesa (sin esumi ), iden i icados po un lími e máximo
p ede inido (max_ okens_limi ). Es o pe mi e es ablece un equilib io en e la necesidad de eco da
in e acciones pasadas ele an es y la op imización del uso de okens, e i ando la pé dida de in o mación
i al en las in e acciones más ecien es.
No obs an e, la implemen ación de la Con e sa ionSumma yBu e Memo y conlle a desa íos
p opios. Como se obse a en la Figu a 2-12, el p oceso de esumi las in e acciones pasadas puede
aumen a el ecuen o de okens en con e saciones más co as, lo que puede a ec a la e iciencia del
sis ema en cie os escena ios. Además, el almacenamien o de las in e acciones sin p ocesa , aunque se
conside a alioso en é minos de e ención de in o mación, ambién puede inc emen a el consumo de
ecu sos compu acionales.
Figu a 2-12. Compa aciones de ecuen os de okens, incluido el ipo Con e sa ionSumma yBu e Memo y con alo es de
max_ oken_limi de 650 y 1300. (Image Sou ce: ( (Pinecone, 2024)))
39
2.3.5 P omp Enginee ing
Pa a ce a el pano ama del es ado del a e, es impo an e menciona el P omp Enginee ing,
ambién conocido como ingenie ía de indicaciones. Es e p oceso es undamen al en el con ex o de los
LLMs, ya que se cen a en diseña y e ina las ins ucciones p opo cionadas a es os modelos pa a di igi
su gene ación de espues as de mane a más p ecisa y ele an e.
La p ác ica del p omp enginee ing in oluc a dos ipos p incipales de p omp s: los p omp s
di igidos al usua io (human p omp s) y los p omp s di igidos al sis ema (sys em p omp s). Los p omp s
di igidos al usua io buscan guia al usua io inal en la o mulación de sus solici udes pa a que el modelo
pueda p ocesa de mane a más e ec i a. Es os p omp s ayudan a los usua ios a es uc u a sus en adas
de o ma que el modelo pueda en ende y gene a espues as más ele an es. Po o o lado, los p omp s
di igidos al sis ema se u ilizan pa a con igu a y ajus a el p opio modelo de lenguaje. Es os p omp s le
indican al modelo cómo debe compo a se, cuáles son sus obje i os y es icciones, y cómo debe gene a
las espues as. Al de ini es os p omp s de sis ema, los ingenie os de p omp s pueden op imiza aún más
el desempeño del modelo pa a aplicaciones especí icas.
La impo ancia del p omp enginee ing adica en su capacidad pa a guia la a ención del modelo
hacia aspec os especí icos de una a ea o dominio, lo que desemboca en la ob ención de esul ados más
cohe en es y con ex ualmen e ele an es. Al diseña indicaciones cla as y especí icas, se educe la
necesidad de in e ención humana o de pos -p ocesamien o ex enso, lo que con ibuye a la e iciencia del
sis ema. Además, acili a la adap ación de los LLMs a di e en es escena ios y aplicaciones al ajus a las
indicaciones según las necesidades especí icas de cada a ea, lo que op imiza los esul ados gene ados
po el modelo y mejo a su u ilidad y aplicabilidad en di e sos con ex os.
En es a p ác ica, la expe imen ación y la i e ación desempeñan un papel c ucial. Es común que la
p ime a ez que un ingenie o esc ibe un p omp , el modelo no ac úe con la p ecisión espe ada. Po lo
an o, es esencial p oba di e en es en oques y e ina con inuamen e las indicaciones en unción del
endimien o del modelo. Es e p oceso de e oalimen ación y ajus e se conside a undamen al pa a
ga an iza la calidad de las espues as gene adas y maximiza el po encial de los LLMs en una amplia gama
de aplicaciones.
En de ini i a, es e componen e se pe cibe como absolu amen e c ucial, ya que puede a ia
signi ica i amen e el esul ado del modelo u ilizado en el desa ollo de una a ea especí ica.
46
3.2.3 Funciones especí icas de Talen Scan
Como se ha is o an e io men e, Talen Scan se cen a en la e aluación de candida os pa a
pues os de abajo especí icos, ex ayendo habilidades blandas y écnicas de en e is as labo ales. Sus
unciones especí icas incluyen:
T ansc ipción de la En e is a: Es a unción p opo ciona o ma o al a chi o de en ada
que con ienen la con e sación de la en e is a. Lo que se consigue p incipalmen e en es a
unción es: dis ingui de mane a cla a quién es el en e is ado y quién el en e is ado,
co egi posibles e o es g ama icales y es uc u a la isualización de las in e enciones
pa a que se mues en de mane a cla a. El esul ado de es a llamada se gua da en una
a iable llamada guion, que es la u ilizada como a gumen o en el es o de las unciones.
Ex ae So Skills y Technical Skills: Talen Scan iden i ica y ex ae del guion las
habilidades blandas y écnicas ele an es del candida o, p opo cionando una isión
in eg al de sus compe encias.
Gene a Desc ipción del Rol: U ilizando in o mación sob e el pues o y la emp esa, Talen
Scan gene a una desc ipción de allada del ol acan e, ayudando a de ini cla amen e las
expec a i as y equisi os del pues o. Es a unción se u iliza en caso de que el pues o
especi icado sea dis in o a ‘Chie Happiness O ice ’ o a ‘Technical RPA consul an ’ pa a
los cuales se p esen an unos p omp s especí icos de la desc ipción en main.py, an es de
llama a la unción expues a a con inuación.
Gene a Conclusiones y Resumen de la En e is a: Es a unción sin e iza los hallazgos de
la en e is a y gene a un esumen de allado que des aca los pun os cla e discu idos y las
imp esiones gene ales sob e el candida o, des acando aspec os como cuáles son las
habilidades del candida o que se conside an in e esan es pa a el pues o, así como
aquellos aspec os en los que el candida o p esen a ca encias.
47
Figu a 3-4.Diag ama del lujo de llamadas de Talen Scan
48
3.2.4 Funciones especí icas de Sma Call P ocesso
Po o o lado, Sma Call P ocesso se en oca en el análisis de llamadas ele ónicas, gene ando
esúmenes y analizando sen imien os del ecep o . Sus unciones especí icas aba can:
Gene a T ansc ipción de la Llamada: Es a unción, al igual que la del caso de uso an e io
p ocesa el a chi o de en ada que con iene la llamada ele ónica pa a gene a un guion
de la con e sación, iden i icando al emiso y ecep o de cada mensaje, co igiendo
posibles e o es g ama icales y apo ando una es uc u a cla a.
Analiza Sen imien os del Recep o : Sma Call P ocesso analiza los sen imien os del
ecep o a lo la go de la llamada, p opo cionando in o mación sob e las emociones
p edominan es y los pun os cla e de la con e sación.
Gene a Resumen de la Llamada: U ilizando el guion de la con e sación y el análisis de
sen imien os, es a unción gene a un esumen conciso y ele an e de lo ocu ido en la
llamada, acili ando la comp ensión y e isión del con enido.
49
Figu a 3-5. Diag ama del lujo de llamadas de Sma Call P ocesso
50
Con es as unciones especí icas, Talen Scan y Sma Call P ocesso o ecen soluciones comple as
y e ec i as pa a sus espec i os casos de uso, ap o echando las ecnologías mencionadas pa a
p opo ciona una expe iencia de usua io in ui i a y una uncionalidad a anzada de p ocesamien o de
lenguaje na u al.
La u ilización de unciones gene ales en la implemen ación ealizada p opo ciona una es uc u a
obus a y lexible que pe mi e ag ega ácilmen e nue as unciones o modelos pa a su e aluación,
ampliando así las capacidades de las he amien as y su adap abilidad a di e en es casos de uso.
Es a a qui ec u a del sis ema (Figu a 3-4 y Figu a 3-5) pe mi e una ápida i e ación y
expe imen ación, lo que acili a la explo ación de nue as ideas y en oques en el p ocesamien o de
lenguaje na u al. Ga an iza que las he amien as puedan man ene se ac ualizadas y ele an es en un
en o no en cons an e cambio, al iempo que p opo ciona una expe iencia de usua io consis en e y de al a
calidad.
51
4. Modelos G andes de Lenguaje a E alua
La selección y despliegue de modelos de lenguaje ha sido de g an impo ancia en el desa ollo de
es e TFG, ya que inciden di ec amen e en el endimien o y la e icacia de las a eas de los casos de uso
expues os an e io men e (Casos de Uso Po E alua ). En es e p oyec o, se ha op ado po ap o echa la
in aes uc u a y he amien as p opo cionadas po Mic oso Azu e pa a implemen a es modelos
pe enecien es a LLAMA, MISTRAL y OpenAI. Pa a e alua y compa a es os modelos se han enido en
cuen a mé icas cla e como el p ecio po oken, el núme o de pa áme os u ilizados en el en enamien o
del modelo, el con ex o máximo admi ido, la la encia, conside aciones é icas, la anspa encia y la
e aluación de expe os a a és de un Google Fo m. Además de las mé icas an e io es, se ha ob enido
in o mación ace ca del endimien o de a ios modelos en benchma ks
2
es anda izados de la indus ia,
que se e án en la u u a sección 5.4 Resul ados de algunos modelos en benchma ks es anda izados.
La elección de es os modelos se basa en su amplio econocimien o y uso en la ac ualidad, además
de que p esen an di e en es na u alezas; mien as que MISTRAL y LLAMA-2 con ienen modelos Open
Sou ce o código abie o, OpenAI p opo ciona modelos de caja neg a. Es impo an e des aca que Azu e
o ece dos posibilidades de despliegue pa a los modelos: el pago po uso de sus espec i as API o la opción
de ejecu a los en una máquina i ual con los equisi os ha dwa e necesa ios pa a su ejecución (el p ecio
en es e caso consis e en el iempo que se man iene ac i a la máquina i ual y depende de lo compleja
que sea es a máquina). Pa a ga an iza una compa ación equi a i a en e los es modelos, se ha op ado
po el pago po uso, dado que se dispone de la mé ica de p ecio po oken de los es modelos pa a
e alua su e iciencia económica con mayo p ecisión.
La elección de Azu e se debe a su des acada posición como una de las p incipales pla a o mas de
compu ación en la nube a ni el mundial. S a esys, emp esa en la que es oy ealizando las p ác icas, ha
acili ado el acceso a Azu e, p opo cionando un usua io pa a su uso. Además, ha asumido los cos os
asociados al uso de las APIs pa a llama a es os modelos, lo que ha con ibuido signi ica i amen e a la
2
Un benchma k es una p ueba o conjun o de p uebas u ilizadas pa a compa a el endimien o de di e en es sis emas o
componen es, gene almen e bajo condiciones es ánda . En el con ex o de la IA gene a i a y el NLP, los benchma ks son un
conjun o de p uebas es anda izadas diseñadas pa a e alua el endimien o de los LLM en di e sas habilidades, como el
azonamien o y la comp ensión, y u iliza pun uaciones o mé icas especí icas pa a medi cuan i a i amen e es as habilidades.
52
iabilidad económica de es a implemen ación. Es o demues a el comp omiso de la emp esa con la
inno ación y el desa ollo ecnológico, así como su in e és en ap o echa al máximo las capacidades de la
in eligencia a i icial pa a bene icio de sus p oyec os y clien es.
Po o o lado, es impo an e menciona que exis e la opción de ejecu a an o MISTRAL como
LLAMA de mane a g a ui a en local, siemp e y cuando se cuen e con el ha dwa e adecuado. Sin emba go,
es o equie e una in e sión en in aes uc u a, como una po en e a je a g á ica, una can idad
conside able de memo ia VRAM y o os ecu sos necesa ios pa a la ejecución de es os modelos an
exigen es. Es a al e na i a puede esul a económica a la go plazo, pe o es impo an e ene en cuen a
los cos os iniciales y el man enimien o de la in aes uc u a.
‘Loading e en a ela i ely small model such as Llama2 7B and pe o ming in e ence equi es
app oxima ely 30GB o GPU memo y [1]. The la ges Llama2 model a 70B pa ame e s equi es
app oxima ely 320GB o GPU memo y which can be p ohibi i e.’ (Coelho, 2024).
Además, es ele an e menciona la exis encia de modelos cuan izados.
‘La cuan i icación es un conjun o de écnicas pa a educi la p ecisión, hace que el modelo sea más
pequeño y en ena más ápido en modelos de ap endizaje p o undo.’ (Noyan, 2023).
Es os modelos son lige amen e menos p ecisos y más len os, pe o ocupan menos memo ia y
equie en menos ecu sos de ha dwa e. ‘I ins ead o loading he model weigh s a 32-bi p ecision, hey
can be educed down o 8-bi , 4-bi , o an e en lowe p ecision, i becomes possible o load and un hese
models on consume ha dwa e, democ a izing access o LLMs and hei applica ions.’ (Coelho, 2024)
An es de op a po u iliza las llamadas a las APIs de los modelos a a és de Azu e, se lle a on a
cabo p uebas de ejecución local g a ui a de modelos como el ‘llama-2-13B-GGUF’ pa a los casos de uso
mencionados an e io men e. Sin emba go, los esul ados no cumplie on con las expec a i as, ya que el
con ex o e a demasiado g ande pa a dicho modelo. A pesa de ello, pa a a eas menos complejas, como
la gene ación de co eos elec ónicos a pa i de un ema dado, y la indicación de la o malidad de es e,
el modelo uncionaba co ec amen e.
O o modelo cuan izado in es igado en es e p oyec o y que ha esul ado in igan e es el de
‘Dolphin-2.7-mix al-8x7b-GGUF’, un modelo de código abie o sin cesu a. Su al a de limi aciones é icas
esul a an o cu iosa como po encialmen e pelig osa, lo que ha lle ado a explo a cuidadosamen e sus
capacidades y posibles implicaciones.
53
En esumen, la elección de Azu e pa a el despliegue de modelos de lenguaje nos p opo ciona una
solución in eg al, escalable y segu a que combina la po encia de la nube con la e sa ilidad de los modelos
de LLAMA, MISTRAL y OpenAI. Es a pla a o ma nos pe mi e ap o echa al máximo las capacidades de la
in eligencia a i icial y o ece expe iencias de usua io excepcionales en nues as aplicaciones de
p ocesamien o del lenguaje na u al.
4.1 OPENAI
El p ime modelo de lenguaje con el que se han ealizado las p uebas de e aluación de los Casos
de uso ha sido el T ans o me P e-en enado Gene a i o (GPT) desa ollado po OpenAI, ‘GPT-3.5-Tu bo-
0125-16K’. Es e modelo, ope a de o ma simila a ‘GPT-3.5-Tu bo’ con la p incipal di e encia de que su
en ana de con ex o ha sido ampliada a 16.385 okens. Es a expansión aumen a ocho eces la capacidad
de e ención de memo ia del modelo, lo que le pe mi e man ene el con ex o de las in e acciones en
ex os más la gos (aho a puede admi i 20 páginas de ex o en una sola solici ud, cuando an es
simplemen e podía poco más de 2 páginas).
El modelo de ’GPT-3.5-Tu bo’ es una e sión a anzada de la se ie de modelos de lenguaje
gene a i o p e-en enados de OpenAI. Es á diseñado pa a se más e icien e y p eciso que sus
p edeceso es, con mejo as en la comp ensión y gene ación de ex o en a ios idiomas y en la capacidad
de segui ins ucciones más complejas.
La ealidad es que no se sabe a ciencia cie a la can idad de pa áme os con los que ha sido
en enado es e modelo especí ico; sin emba go, se conoce que ‘GPT-3’, el p edeceso de ‘GPT-3.5’, iene
175 mil millones de pa áme os. Es común que las e siones pos e io es de los modelos, como ‘GPT-3.5-
Tu bo’, man engan un núme o de pa áme os simila o inc emen ado pa a mejo a su endimien o. Un
ac o a ene en cuen a es que es e modelo ha sido en enado con da os has a el año 2021, lo que
signi ica que su conocimien o in e no y la in o mación que puede gene a se basa en da os que pueden
conside a se desac ualizados.
Es impo an e des aca que, aunque su uncionamien o in e no puede conside a se como una
‘caja neg a’ que a ec a a la anspa encia, OpenAI ha omado medidas signi ica i as pa a o ece segu idad
y mi iga los iesgos é icos. Al u iliza la API de OpenAI alojada en Azu e, se bene icia de las sólidas
p ác icas de segu idad de Mic oso , lo que p opo ciona una capa adicional de con ianza y cumplimien o
no ma i o. Sin emba go, la na u aleza opaca de es os modelos de IA plan ea desa íos con inuos en
54
é minos de anspa encia y explicabilidad, lo que equie e un comp omiso cons an e con la mejo a de la
in e p e abilidad y la implemen ación de p ác icas é icas en su desa ollo y uso.
Po úl imo, cabe menciona el cos e del mé odo adop ado pa a desplega el modelo en Azu e, el
pago po uso. Es e en oque pe mi e paga exclusi amen e po los ecu sos que se consumen, siendo en
es e caso cada oken p ocesado al llama a la API. Po an o, el p ecio es de 0.0005 € po cada 1000 okens
de en ada y 0.0014 € po cada 1000 okens de salida como se ilus a en la Figu a 4-1.
Figu a 4-1.Pago po Uso de Gp -3.5-Tu bo-0125-16k en Azu e
4.1.1 GPT-4 32K
Uno de los suceso es del modelo an e io que se ha u ilizado ambién en es e p oyec o ha sido el
modelo ‘GPT-4-32K’. Aunque no se ha e aluado en el Google Fo m que se mues a en secciones u u as
(5.3 E aluación del Fo mula io y Resul ados Ob enidos); sí que se ha enido en cuen a pa a hace una
pequeña p ueba que se ha conside ado c í ica en el desa ollo de es e TFG y que se mues a en los
Resul ados. Además, es e se á el modelo u ilizado pa a implemen a nues o agen e ecomendado de
LLMs.
El ’GPT-4-32K’ es una e sión mejo ada del GPT-4 desa ollado po OpenAI. Aunque compa e
muchas simili udes con el ’GPT-3.5-Tu bo-0125-16K’ que hemos explicado an es, hay algunas di e encias
cla e que lo dis inguen.
55
Una de las di e encias más no ables es la en ana de con ex o del ’GPT-4-32K’, que ha sido
ampliada a 32.768 okens. Es o signi ica que el modelo puede man ene el con ex o de las in e acciones
en ex os aún más la gos, lo que le pe mi e analiza y p ocesa in o mación de mane a más e ec i a.
Según las p uebas ealizadas, el ’GPT-4-32K’es capaz de esol e p oblemas di íciles con mayo
p ecisión que cualquie modelo an e io de OpenAI. Es o se debe en pa e a su en ana de con ex o
mencionada an e io men e.
En cuan o al cos e, el mé odo adop ado pa a desplega el modelo en Azu e es igual que pa a el
an e io , el pago po uso. El p ecio pa a el modelo ‘GPT-4-32K’ en Azu e es de 0.0562€ po cada 1000
okens de en ada y 0.1124€ po cada 1000 okens de salida. (Figu a 4-2)
Figu a 4-2. Pago po uso Gp -4-32k en Azu e
Dada su e iciencia y endimien o supe io , en es e TFG se ha decidido hace más hincapié en
compa a el endimien o del ’GPT-4-32K’ con el modelo no pe enecien e a OpenAI más a anzado
u ilizado, que ha sido ’Mis al-la ge’ y que se expone a con inuación.
62
5.1 P ocedimien o de Ejecución
El p oceso de ejecución de los modelos se diseñó me iculosamen e pa a op imiza la compa ación
en e los di e en es modelos de lenguaje en los casos de uso especí icos seleccionados. Se conside a on
di e sas medidas pa a ga an iza la uni o midad y cohe encia en las p uebas ealizadas.
Du an e la ejecución de los modelos, se man u o casi in ac o odo el código u ilizado en los casos
de uso, con mínimas modi icaciones necesa ias pa a adap a la llamada a los modelos alojados en Azu e.
Es a es a egia ga an izó la homogeneidad en las p uebas, asegu ando que las en adas pa a los modelos
ue an consis en es en odas las unciones.
Se p es ó especial a ención a a ias conside aciones cla e pa a acili a la e aluación p ecisa de
los modelos:
o P omp s Consis en es: Se emplea on los mismos p omp s en odas las unciones pa a
ga an iza que los modelos ecibie an la misma in o mación inicial. Es o pe mi ió que los
inpu - okens y el con ex o ue an idén icos en los es modelos, acili ando una
compa ación jus a basada en las espues as gene adas. Se op ó po no modi ica los
p omp s en e los modelos pa a e i a posibles impac os en el endimien o y asegu a
una e aluación equi a i a.
o A chi os de en ada: El mismo a chi o de en ada ue u ilizado pa a la llamada a la
p ime a unción que gene aba el guion inicial en odas las p uebas. Aunque se ealiza on
múl iples p uebas con di e en es en adas, se epi ió el mismo p ocedimien o con los es
modelos pa a pode compa a los esul ados ob enidos con dichos da os. Es o ga an izó
que el con ex o inicial p opo cionado ue a uni o me en e los modelos. Pos e io men e,
la in o mación gene ada po el modelo en la unción inicial se u ilizó como en ada pa a
las siguien es unciones, asegu ando cohe encia en el p oceso de gene ación.
o Núme o máximo de okens de salida: Se ajus ó el mismo núme o máximo de okens de
salida en los es modelos (1000 okens). Aunque no se puede p e e exac amen e cuáles
se án los okens en el ou pu de cada modelo, es a ap oximación pe mi ió una
compa ación equi a i a de los esul ados ob enidos. Es o ambién acili ó la compa a i a
del p ecio base po 1000 okens en e los modelos, asegu ando una e aluación equi a i a
en é minos de cos o.
63
o Tempe a u a: es e pa áme o indica la di e sidad y c ea i idad en las espues as
gene adas po el modelo. A meno empe a u a, el modelo iende a gene a espues as
más p edecibles y menos di e sas. En es e p oyec o se ha op ado po man ene la
empe a u a en los es modelos a 0.1, que asegu a que el p oceso de gene ación de
espues as se man enga consis en e y p edecible, lo que acili a la compa ación en e los
di e en es modelos.
Du an e la ejecución de los modelos, se c onome ó el iempo en el que cada modelo gene aba
la espues a, es deci , la la encia. Es a mé ica p opo cionó in o mación aliosa sob e la elocidad de
espues a de cada modelo en cada a ea especí ica, lo que acili ó la compa ación de su e iciencia en la
gene ación de espues as.
Es e p oceso ga an izó la cohe encia y iabilidad en las p uebas ealizadas, p opo cionando una
base sólida pa a la e aluación p ecisa y signi ica i a de los modelos de lenguaje en los casos de uso
especí icos abo dados.
5.2 Resul ados de la Ejecución
En es a sección se p esen an los esul ados ob enidos al ejecu a los di e en es modelos en las
dis in as a eas de los casos de uso seleccionados. Los esul ados se mues an en o ma o de imagen,
de allando las espues as gene adas po cada modelo en cada a ea especí ica. Es impo an e des aca
que las cap u as de pan alla de las espues as gene adas se han incluido en el Apéndice de es e in o me.
(Imágenes de los esul ados u ilizados en el o mula io)
Inicialmen e, se lle a on a cabo a ias p uebas u ilizando a chi os de en ada que pod ían
conside a se “sencillos”, como en e is as y llamadas en las que se p edecía cla amen e los oles de las
dos pe sonas que in e enían en las con e saciones. En la p ueba u ilizada en el o mula io, odos los
modelos ue on capaces de gene a diálogos bien es uc u ados con el o ma o indicado en el p omp .
Es a unción esul ó se la más de e minan e, ya que el es o de las unciones dependen del guion
gene ado.
Como se obse ó que algunos modelos, como ‘LLAMA-2-Cha -70B’ y ‘GPT-3.5-Tu bo-16k’, o ecían
espues as muy simila es, en algunos casos pa eciendo has a idén icas, se op ó po ealiza una p ueba
más complicada que hicie a una especie de c iba en el endimien o de los modelos. El obje i o e a ob ene
64
una isión más ealis a de di e en es escena ios, más allá de la alo ación subje i a de los usua ios sob e
espues as cohe en es en odos los casos.
Se ealizó una p ueba adicional, especí icamen e en el caso de "Talen Scan", u ilizando una
en e is a de en ada más compleja. (Imágenes de los esul ados de la p ueba con la en e is a más ) Es a
en e is a se lle ó a cabo sin segui un o den de in e ención es ic o, lo que p o ocó que algunos
modelos pe die an el con ex o y gene a an guiones e óneos.
‘Mis al-La ge’ des acó al se el único modelo capaz de cap a co ec amen e la secuencia de
in e enciones y man ene el o den adecuado pa a gene a el guion.
Pos e io men e, se decidió in oduci , solo en es e caso, una p ueba con el modelo de ‘GPT-4-
32k’. So p enden emen e, es e modelo ampoco ue capaz de cap a la segunda in e ención del
en e is ado , lo que esul ó en una pé dida de con ex o simila a los o os modelos e aluados. A pesa
de que ‘GPT-4’ mues e un endimien o supe io en benchma ks es ánda en compa ación con Mis al,
en es e con ex o especí ico, pa ece que ‘Mis al-La ge’ es más capaz.
Es as p uebas ue on c í icas pa a de e mina la idoneidad de ‘Mis al-La ge’ en en adas más
complejas, mos ando un mejo endimien o con espec o a sus modelos i ales. Se ha supues o que es o
se debe a su ca ác e de modelo come cial op imizado, el cual se explica en el capí ulo de Modelos G andes
de Lenguaje a E alua . Sin emba go, se examina á en la p óxima sección cómo ha sido conside ado es e
modelo en el o mula io con es ado po los usua ios expe os en la ma e ia.
Pa a las p uebas ealizadas, se incluye la mé ica de la la encia, que ep esen a el iempo que ha
a dado cada modelo en comple a cada a ea. Es os iempos de ejecución se mues an en las siguien es
ablas compa a i as pa a acili a la isualización y la compa ación en e los modelos.
65
Tabla 2. COMPARATIVA DEL TIEMPO DE EJECUCIÓN DE LOS DIFERENTES MODELOS
EN CADA UNA DE LAS TAREAS DE TALENT SCAN
GPT-3.5-Tu bo-16k
GPT-4-32K
MISTRAL-La ge
LLAMA-2-Cha -70B
Guion de la
en e is a
10 segundos
50 segundos
39 segundos
11 segundos
So Skills
8 segundos
NA
26 segundos
7 segundos
Technical Skills
8 segundos
NA
19 segundos
11 segundos
Conclusiones
9 segundos
NA
35 segundos
13 segundos
De es a abla se pueden ob ene las siguien es conclusiones:
En gene al, el modelo ‘GPT-3.5-Tu bo-16k’ mues a iempos de ejecución consis en emen e
más bajos en compa ación con los o os modelos en la mayo ía de las a eas.
El modelo ‘LLAMA-2-Cha -70B’ des aca po su apidez en la a ea de “So Skills”,
demos ando una e iciencia no able en la gene ación de habilidades blandas.
‘MISTRAL-La ge’ iende a ene iempos de ejecución más al os en odas las a eas,
especialmen e en la gene ación del “Guion de la en e is a” y las “Conclusiones”.
Menciona ambién que, aunque solo se haya ejecu ado en la a ea de “Guión de la
en e is a”, ‘GPT-4-32K’ es el más len o de odos los modelos.
66
Tabla 3. COMPARATIVA DEL TIEMPO DE EJECUCIÓN DE LOS DIFERENTES MODELOS
EN CADA UNA DE LAS TAREAS DE SMART CALL TRANSCRIPT
GPT-3.5-Tu bo-16k
MISTRAL-La ge
LLAMA-2-Cha -70B
Guion de la llamada
13 segundos
32 segundos
10 segundos
Resumen de la
llamada
12 segundos
12 segundos
6 segundos
Sen imien os de la
llamada
8 segundos
14 segundos
5 segundos
De es a abla se pueden ob ene las siguien es conclusiones:
‘LLAMA-2-Cha -70B’ eme ge como el modelo más ápido en la mayo ía de las a eas, con
iempos de ejecución consis en emen e bajos.
‘MISTRAL-La ge’ mues a iempos de ejecución más al os en compa ación con los o os
modelos, especialmen e en la gene ación del “Guion de la llamada”.
Aunque ‘GPT-3.5-Tu bo-16k’ no es el modelo más ápido en odas las a eas, es
compe i i o y mues a una consis encia no able en sus iempos de ejecución.
67
5.3 E aluación del Fo mula io y Resul ados Ob enidos
5.3.1 Diseño e implemen ación del o mula io
En es a sección, se explo a á el diseño y la implemen ación del o mula io u ilizado pa a ecopila
las opiniones de expe os con el in de elegi el modelo óp imo “a ciegas”, es deci , sin sabe cuál modelo
ha p oducido cada espues a. Asimismo, se p esen a án y analiza án los esul ados ob enidos a pa i de
las espues as ecopiladas.
Se op ó po u iliza Google Fo ms pa a c ea el o mula io debido a su capacidad pa a inse a
imágenes de g an amaño sin pé dida de calidad. El o mula io
3
se con eccionó a pa i de cap u as de los
esul ados ob enidos, disponibles en Imágenes de los esul ados u ilizados en el o mula io. Se incluyó una
b e e in oducción sob e el ema del TFG pa a con ex ualiza a los encues ados, seguida de una p egun a
inicial sob e cuál c eían que e a el mejo modelo en e los es que se iban a e alua .
El o mula io se di idió en dos secciones: una pa a las espues as de Talen Scan y o a pa a Sma
Call T ansc ip , ambas siguiendo el mismo o ma o. Pa a ga an iza la impa cialidad de las e aluaciones,
los modelos se iden i ica on como: “Modelo 1”, “Modelo 2” y “Modelo 3”. La única pe sona con
conocimien o de qué modelo co espondía a cada uno de ellos e a yo misma, y e elo aho a que en o den
son: ‘GPT-3.5-Tu bo-16K’, ‘Mis al-La ge’ y ‘LLAMA-2-Cha -70B’.
Cada sección incluyó los obje i os especí icos que debían cumpli se en cada a ea. Los
encues ados debían asigna una pun uación del 1 al 3 a cada modelo en cada a ea, donde 1 ep esen aba
la mejo espues a y 3 la peo . Se p ohibió epe i el mismo núme o pa a dos modelos di e en es en una
misma a ea. Sin emba go, en la gene ación de los guiones, donde los esul ados de odos los modelos
e an muy simila es, se solici ó a los encues ados que selecciona an cuál o cuáles de ellos les esul aban
más a ac i os en é minos de es uc u a, y explica an sus azones.
Al inal de cada sección, se incluyó una p egun a opcional pa a que los encues ados compa ie an
sus pe cepciones sob e el p oceso de alo ación. Finalmen e, se concluyó con una p egun a en la que se
les pidió a los encues ados que o a an po el modelo que conside aban mejo en gene al, basándose en
su p opio c i e io.
3
Enlace al o mula io: h ps:// o ms.gle/AjS8LqY6Fx 1PgnX7
68
5.3.2 Resul ados ob enidos en el o mula io
A con inuación, se abo da á en de alle las espues as ecopiladas a a és del o mula io. Se
examina án las pun uaciones o o gadas po los expe os a cada modelo en las dis in as a eas de Talen
Scan y Sma Call T ansc ip . Asimismo, se explo a án los comen a ios adicionales p opo cionados po los
encues ados con el in de comp ende mejo sus pe cepciones y conside aciones al e alua los modelos.
A a és de es e análisis exhaus i o, se busca á iden i ica pa ones, disc epancias signi ica i as y o os
aspec os ele an es que puedan in lui en la selección del modelo óp imo pa a los casos de uso especí icos
abo dados.
En p ime luga , se puede obse a como la mayo ía de los usua ios apos aban po ‘GPT-3.5-
Tu bo-16K’ como el mejo modelo, es o puede debe se a la popula idad que ha ma cado OpenAI çcon
Cha GPT.
Figu a 5-1. P egun a inicial Fo mula io
En el in e io de la p ime a sección, se encuen an las espues as elacionadas a las a eas
pe enecien es a Talen Scan, en e las cuales es aba la gene ación del guion de la en e is a o ma eado.
Los encues ados debían selecciona cuál o cuáles de los guiones les esul aban mejo es uc u ados y po
qué. Se han ob enido las siguien es espues as (Figu a 5-2) en las que se ob ienen que los modelos mejo
alo ados a la ho a de gene a el guion han sido ‘GPT-3.5-Tu bo-16K’ y ‘LLAMA-2-Cha -70B’. Es a elección
ha sido jus i icada po la mayo ía de los encues ados con comen a ios como es os:
69
‘Los esul ados no es que sean pa ecidos, son iguales, sal o que en uno de los
modelos en ez de deci en e is ado y en e is ada, dice in e iewe e in e iewed’
‘La única di e encia que eo, es que se iden i ica el en e is ado y en e is ado
en inglés o en español. Me pa ece más azonable que se iden i ique en español ya que
la con e sación es á en ese idioma. Po ese mo i o he ma cado los guiones 1 y 3.’
Figu a 5-2.Valo ación po expe os de los guiones de la en e is a gene ados po los modelos
Aunque se haya conside ado po es e pequeño de alle a ‘Mis al-La ge’ como el peo
modelo, se iene que eco da cómo ealmen e es el que mejo o ma ea los guiones pues o que
en en adas más complicadas como el caso que se explicó an e io men e en el que el
en e is ado y el en e is ado no siguen un pa ón en las in e enciones, odos los modelos se
pie den excep o es e.
Con inuando con la a ea de la gene ación de los So Skills del en e is ado, se han
ob enido los siguien es esul ados:
70
Figu a 5-3. Valo aciones de GPT-3.5-Tu bo-16K en la gene ación de So Skills
Figu a 5-4. Valo aciones de Mis al-La ge en la gene ación de So Skills
Figu a 5-5.Valo aciones de LLAMA2-Cha -70B en la gene ación de So Skills
71
El análisis e ela cla amen e las p e e encias de los encues ados en cuan o a la gene ación de So
Skills, donde el modelo más ap eciado ue ‘Mis al-La ge’ con 18 o os como p ime pues o, seguido de
‘LLAMA-2-Cha -70B’ con 14 o os como el segundo mejo modelo, y ‘GPT-3.5-Tu bo-16K’ ob u o 11 o os
como el peo modelo en es a a ea.
NOTA: A pa i de es e momen o no se p opo ciona án las imágenes del es o de a eas pues o
que odas man ienen el mismo o ma o y lo que ealmen e in e esa es el con enido que con ienen, el cual
se edac a de alladamen e.
En la a ea de gene a los Technical Skills, los esul ados es u ie on mucho más eñidos. Aunque
‘Mis al-La ge’ se lle ó el p ime pues o con 11 o os (menos o os que en el caso an e io ), el segundo
luga esul ó en empa e en e ‘GPT-3.5-Tu bo-16K’ y ‘LLAMA-2-Cha -70B’, ambos con 9 o os. No
obs an e, el desempa e se basó en el e ce pues o, que ue pa a ‘LLAMA-2-Cha -70B’ con 9 o os. Po
an o, en es a a ea, los modelos se o dena on de la siguien e mane a: ‘Mis al-La ge’, ‘GPT-3.5-Tu bo-
16K’ y ‘LLAMA-2-Cha -70B’.
En la gene ación de las Conclusiones, ‘Mis al-La ge’ ue nue amen e el modelo más o ado con
16 o os, seguido de ‘GPT-3.5-Tu bo-16K’ con 13 o os y ‘LLAMA-2-Cha -70B’ ocupó el úl imo luga con 13
o os.
Los comen a ios ecopilados sob e los esul ados des acan que los modelos ‘GPT-3.5-Tu bo-16K’
y ‘LLAMA-2-Cha -70B’ pa ecen o ece espues as muy simila es y, en ocasiones, menos p ecisas en
compa ación con el modelo ‘Mis al-La ge’. Se esal a que el segundo modelo des aca po cap a las
cualidades del en e is ado de mane a más p ecisa en las conclusiones, mien as que los o os dos
modelos ienden a señala ca encias.
‘Las espues as de los modelos 1 y 3 siemp e han sido muy pa ecidas, y a mi
pa ece in e io es a las del modelo 2, con in o mación más inexac a’
‘Des aca el 2 modelo po encima de los demás, es el único que en las
conclusiones cap a ealmen e las cualidades del en e is ado, los o os dos la ponen
como ca encias’
78
En es a úl ima g á ica se puede obse a la p ecisión media calculada a pa i de los alo es
ob enidos po los modelos en múl iples benchma ks es anda izados (Figu a 5-11). Algunos de los modelos
u ilizados en los casos de uso de es e p oyec o es án incluidos en es a e aluación. El modelo 'gp -4-32k'
ob iene la mayo p ecisión media, des acándose como el mejo modelo en es e con ex o. Le sigue
‘mis al-la ge’, que se si úa como el segundo mejo modelo e aluado, aunque no supe a a ninguna e sión
de ‘gp -4’. Los modelos ‘gp -3.5- u bo’ p esen an una p ecisión media supe io a la de ‘llama-2-70b-cha ’.
Sin emba go, es no able que el nue o modelo lanzado po Me a, ‘llama-3-70b’, mues a una p ecisión
media supe io a la de ‘gp -3.5- u bo’ y ‘llama-2-70b-cha ’, aunque oda ía es in e io a la de ‘mis al-
la ge’. Finalmen e, la e sión ‘llama-3-70b-ins uc ’ ha supe ado en p ecisión media a ‘mis al-la ge’,
aunque sigue es ando po debajo de ‘gp -4-32k’.
Es os esul ados en benchma ks es anda izados, como MMLU y HellaSwag, p opo cionan una
aliosa alidación obje i a de las capacidades de los modelos de lenguaje analizados. Pe mi en iden i ica
sus o alezas y debilidades en á eas cla e como el azonamien o de sen ido común, la comp ensión del
lenguaje y la e sa ilidad en di e en es dominios de conocimien o. Es a in o mación, combinada con los
hallazgos de la e aluación subje i a basada en las espues as de los usua ios, b inda una imagen más
comple a y con iable del desempeño de es os modelos, lo que es undamen al pa a oma decisiones
in o madas sob e su selección y aplicación en di e sos con ex os.
5.5 E aluación Final
T as ecopila y analiza odas las mé icas seleccionadas pa a la e aluación de los modelos, es a
sección p esen a una e aluación inal in eg al de los mismos. Se ha enido en cuen a la in o mación
ecopilada en el capí ulo de los modelos, la la encia ob enida en la ejecución de los casos de uso, la
e aluación subje i a median e el o mula io de Google y los da os ob enidos sob e el endimien o de
es os modelos en di e en es benchma ks es anda izados.
Con oda es a in o mación, se ha elabo ado una abla compa a i a inal (Tabla 5. Compa a i a
Final de los Modelos) que pe mi e isualiza de mane a cla a y concisa las di e encias y simili udes en e
los dis in os modelos e aluados. En es a abla se incluyen mé icas cla e como:
79
Rendimien o en benchma ks como MMLU, HellaSwag, Wino G ande, A c Challenge y T i iaQA
Pun uaciones en la e aluación subje i a de los usua ios
La encia y iempos de espues a en la ejecución de los casos de uso
P ecio de los modelos en Azu e
Ven ana de con ex o
Núme o de pa áme os u ilizados en su en enamien o
T anspa encia
Tabla 5. Compa a i a Final de los Modelos
MODELOS
GPT-3.5-Tu bo-16k
GPT-4-32K
MISTRAL-La ge
LLAMA-2-Cha -70B
PARAMETROS
175 Billones
175 Billones
7,3 Billones
70 Billones
PRECIO POR 1000
TOKENS INPUT
0.0005 €
0.0562 €
0.00369 €
0.00146 €
PRECIO POR 1000
TOKENS OUTPUT
0.0015 €
0.1124 €
0.01108 €
0.00167 €
CONTEXTO MÁXIMO
16.385 okens
32.768 okens
32.000 okens
4096 okens
TRANSPARENTE
NO
NO
NO
SÍ
RAPIDEZ
Rápido
Más Len o
Len o
Rápido
RENDIMIENTO EN
BENCHMARKS
3º
1º
2º
4º
EVALUACIÓN
SUBJETIVA
3º
2º
1º
4º
80
En la an e io abla compa a i a se p esen an los pun os más ele an es ex aídos de la
in es igación y ejecución de es os modelos:
En lo que espec a al endimien o de los modelos, se obse a una disc epancia en e las
pun uaciones en los benchma ks y la ealidad de la ejecución de uno de nues os casos de uso. A pesa
de que ‘GPT-4-32k’ es conside ado el mejo modelo según los benchma ks, en nues a expe iencia,
‘Mis al-La ge’ demos ó se el más e icaz al es uc u a y comp ende de mane a óp ima la en e is a
ecibida como en ada. Además, ‘Mis al-La ge’ ue el modelo p e e ido po los usua ios que comple a on
el o mula io. Po o o lado, an o la e aluación subje i a como la de los benchma ks si úan a los modelos
de la amilia de LLAMA2 y GPT3.5-Tu bo en posiciones simila es en el anking, aunque ‘GPT-3.5-Tu bo-
16K’ se acaba mos ando supe io a ‘LLAMA-2-Cha -70B’.
En cuan o al p ecio po oken en Azu e, ‘GPT-4’ es el modelo más cos oso con una di e encia
signi ica i a, llegando a se has a ap oximadamen e 15.22 eces más ca o que ‘Mis al-La ge’ pa a los
okens de en ada y ap oximadamen e 10.14 eces más ca o pa a los okens de salida. Es e ac o es
impo an e conside a , ya que se ha obse ado que el endimien o de es os modelos es compa able.
Cuando se analizan modelos menos e icien es, ‘GPT-3.5-Tu bo-16K’, además de o ece un mejo
endimien o que ‘LLAMA-2-Cha -70B’, esul a se más económico en é minos de okens de en ada y
salida, posicionándose como el modelo más asequible de los cua o e aluados.
Al e alua la apidez de los modelos, se obse a una co elación di ec a con el endimien o de
cada uno. Los modelos más e icien es ienden a se más len os en compa ación con aquellos que o ecen
espues as de calidad lige amen e in e io . Aun siendo len a su ejecución, ‘Mis al-La ge’ supe a en la
gene ación del guion, a ‘GPT-4’ en es e aspec o.
Un pun o impo an e a des aca sob e ‘LLAMA-2-Cha -70B’ es su anspa encia al a a se de un
modelo Open Sou ce. Es o signi ica que los usua ios ienen acceso al código uen e comple o del modelo,
lo que acili a la comp ensión de su uncionamien o in e no y b inda la posibilidad de ealiza
modi icaciones según las necesidades especí icas. Es a ca ac e ís ica de anspa encia puede omen a la
colabo ación y el desa ollo de una comunidad en o no a ‘LLAMA-2-Cha -70B’, pe mi iendo a los usua ios
expe imen a con el modelo y adap a lo de acue do a sus eque imien os pa icula es.
Finalmen e, se des aca la impo ancia de la en ana de con ex o de los modelos, la cual pe mi e
man ene con e saciones cohe en es y ex ensas, eco dando de alles p e ios y gene ando espues as
81
más p ecisas y con ex uales. En es e sen ido, los esul ados en o den de mayo a meno han sido los
siguien es: ‘GPT-4’, ‘Mis al-La ge’, ‘GPT-3.5-Tu bo-16K’ y ‘LLAMA-2-Cha -70B’.
En conclusión, la e aluación de allada de los modelos de lenguaje ‘GPT-4’, ‘Mis al-La ge’, ‘GPT-
3.5-Tu bo-16K’ y ‘LLAMA-2-Cha -70B’ des aca la di e sidad de ca ac e ís icas y desempeños que cada uno
o ece en dis in os aspec os como endimien o, p ecio, anspa encia y capacidad con ex ual. Es os
hallazgos sub ayan la impo ancia de conside a múl iples ac o es al selecciona un modelo de lenguaje
pa a sa is ace las necesidades especí icas de cada aplicación. La a iedad de opciones disponibles en el
campo de la in eligencia a i icial y el p ocesamien o del lenguaje na u al b inda a los usua ios la
opo unidad de elegi el modelo que mejo se adap e a sus eque imien os, ya sea en é minos de e icacia,
accesibilidad al código uen e, cos e o capacidad pa a man ene con e saciones cohe en es y
con ex ualmen e p ecisas. Además de se i como uen e p incipal de conocimien o pa a Na igAI o , es e
análisis de allado de los modelos esal a la complejidad y la di e sidad de en oques en el desa ollo y la
aplicación de ecnologías de p ocesamien o del lenguaje na u al, o eciendo a los usua ios una gama
amplia de opciones pa a op imiza sus p oyec os y aplicaciones.
82
6. Na igAI o
T as una exhaus i a in es igación sob e di e sos modelos de lenguaje a anzados (LLMs) y la
ecopilación de aliosa in o mación sob e su compo amien o en dos casos de uso especí icos: Talen Scan
y Sma Call T ansc ip , se ha desa ollado un agen e ecomendado de modelos de lenguaje llamado
Na igAI o .
Como se de alló en la e isión de la sección ‘2.3 Agen e basado en LLM y sus componen es c í icos‘
del Es ado del A e, la documen ación gene ada du an e es e p oceso de in es igación se ha almacenado
en un espacio de nomb es (namespace) de Pinecone, la base de da os ec o ial u ilizada en es e p oyec o.
El p ocedimien o de ca ga de la in o mación incluyó los siguien es pasos:
En p ime luga , se aplicó la écnica de Spli ing sob e la documen ación, u ilizando el
‘Recu si eCha ac e Tex Spli e ’ del paque e Langchain- ex -spli e s. Es a he amien a pe mi ió di idi el
ex o en chunks de 1000 okens (chunk_size), con un solapamien o de 100 okens en e ellos
(chunk_o e lap), con el obje i o de man ene la cohe encia y elación en e los agmen os de ex o
consecu i os.
Pos e io men e, se gene a on los embeddings co espondien es; es deci , se con i ie on es os
agmen os en una ep esen ación numé ica ap a pa a se almacenada en la Vec o DB usando el modelo
‘ ex -embedding-ada-002’ de la clase Azu eOpenAIEmbedding, accesible a a és de Langchain.
Una ez subidos los documen os, se p ocedió al desa ollo del asis en e i ual Na igAI o , cuyo
on end ue implemen ado con S eamli . Na igAI o cuen a con una memo ia con e sacional,
especí icamen e la ‘Con e sa ionBu e Memo y’ de Langchain, que le pe mi e almacena cada in e acción
en el his o ial del cha , p opo cionando el mayo con ex o posible al modelo u ilizado, en es e caso ‘GPT-
4-32K’, pues o que se buscaba el mayo endimien o posible y S a esys se enca gaba una ez más del
cos e de su implemen ación.
Pa a ecupe a la in o mación (RAG) elacionada con la p egun a del usua io en Pinecone, se ha
u ilizado la écnica de ‘Maximun Ma ginal Rele ance (MMR)’. Es a écnica di e si ica los esul ados de la
búsqueda seleccionando, de las k espues as más simila es, aquellas que sean di e sas en e sí. En es e
p oyec o, se ha es ablecido un alo de k igual a 8, pa a ecupe a los 8 agmen os más ele an es pa a
la p egun a ealizada.
83
Finalmen e, se desa olló un sis ema de indicaciones cla o pa a guia al modelo en el manejo de
la in o mación ecupe ada y las di ec ices a segui en su espues a, des acando los c i e ios cla e que
deben conside a se al selecciona el modelo más adecuado pa a la a ea especi icada. Es os c i e ios
incluyen el p esupues o, la elocidad del modelo, la e iciencia deseada en la a ea, las conside aciones
é icas y cualquie modi icación de pa áme os in e nos del modelo. Además, el agen e es á p epa ado
pa a esponde p egun as sob e cualquie ema p esen e en la documen ación del TFG.
Todos es os componen es se encadena on en una cadena de pensamien o, conc e amen e la
‘Con e sa ionalRe ie alChain’ de LangChain, que coo dina odas las llamadas a es os componen es pa a
gene a espues as e icien es.
A con inuación, se mos a án imágenes que ep esen an el diseño del asis en e i ual y algunos
ejemplos de cómo esponde es e a las consul as ealizadas:
Figu a 6-1. Na igAI o F on End
84
Figu a 6-2.Con e sación con Na igAI o 1
85
Figu a 6-3. Con e sación con Na igAI o 2
86
Figu a 6-4. Con e sación con Na igAI o 3
87
Figu a 6-5. Final de la con e sación con Na igAI o
El análisis de Na igAI o e ela una espues a cla a y p ecisa, espaldada po la in o mación ecopilada en es e p oyec o. Aunque ocasionalmen e o ece consejos ingeniosos, siemp e se
man iene den o del con ex o del ema discu ido. Es e log o se ha alcanzado al ajus a el pa áme o ' empe a u e' a 0.4, lo que pe mi e al modelo exhibi una mayo c ea i idad. Es impo an e
des aca que Na igAI o no in en a in o mación que no posee, lo que ga an iza su p ecisión y iabilidad.
El ono de Na igAI o es amable y espe uoso hacia el usua io, y iene la capacidad de sin e iza la p egun a del usua io con el con ex o elacionado pa a p opo ciona una espues a
cohe en e, incluso cuando la in o mación no es á explíci amen e p esen e en la documen ación. Po ejemplo, cuando se le p egun a sob e el mejo modelo pa a desa olla un cha bo , como se
mues a en la Figu a 6-4.
NOTA: Tene en cuen a que las alo aciones apo adas sob e Na igAI o ace ca de cómo unciona ha sido subje i o en base a mis conocimien os adqui idos du an e el desa ollo del
p oyec o y esc i u a de es a Memo ia. Se ía in e esan e p oba lo con un g an núme o de usua ios pa a hace una alo ación ealmen e e ec i a.
94
Resea ch on he mos ele an LLMs in he cu en ma ke and hei
a ailabili y in Azu e.
2. De ini ion o Use Cases:
De ailed e iew o he needs and equi emen s o each use case: Talen Scan
and Sma Call T ansc ip .
Design o he wo k lows and a chi ec u e o he na u al language p ocessing
sys ems o each use case.
3. Me ics Collec ion:
Ex ensi e esea ch on language model e alua ion me ics, including oken
p ice, model con ex window, and la ency, among o he s.
Iden i ica ion and collec ion o ele an da a o he compa ison o models
belonging o GPT, LLAMA and Mis al.
S age 2: Model Implemen a ion and E alua ion
1. Use Case De elopmen :
Implemen a ion o na u al language p ocessing sys ems o he analysis o
job in e iews and elephone calls.
In eg a ion o he selec ed language models in each use case and p elimina y
es s o see he iabili y o he models.
2. Compa a i e Execu ion:
Execu ion o exhaus i e es s o e alua e he pe o mance o he models in
he de eloped use cases, along wi h he measu emen o me ics such as
la ency.
Compila ion o he ob ained esul s, o be used in he subjec i e e alua ion.
95
S age 3: De elopmen o E alua ion Tools
1. C ea ion o he E alua ion Fo m:
Design and de elopmen o a s uc u ed o m o he e alua ion o expe s
and use s on he pe o mance o he models in each use case, using he
esul s ob ained in he p e ious s age.
Tes ing and adjus men s o he o m o ensu e i s e ec i eness and usabili y.
2. Pe o mance S udy in Benchma ks:
Resea ch on he pe o mance o he models in s anda dized benchma ks o
e alua e hem in speci ic scena ios and be able o compa e his e alua ion
wi h ha o he o m.
S age 4: Implemen a ion and E alua ion o he Vi ual Assis an
1. Vi ual Assis an De elopmen :
Implemen a ion o he i ual assis an ha ecommends language models,
based on all he in o ma ion collec ed and he e alua ion me ics om he
p e ious s ages.
Add he unc ionali y so ha i can espond o any opic ha appea s in he
documen a ion, and in ac , use his in o ma ion o explain i s
ecommenda ions.
2. E ec i eness E alua ion:
Conduc ing usabili y es s and e alua ing he e ec i eness o he i ual
assis an in ecommending sui able models.
Analysis o whe he i pe o ms he addi ional unc ionali y o p o iding any
in o ma ion ound in he documen .
S age 5: Conclusions and Fu u e Wo k
P o ide conclusions based on he esul s ob ained and possible u u e
imp o emen s o implemen a ions
96
Conclusions and u u e wo k
As men ioned a he beginning o his documen : 'The mo i a ion behind his s udy lies in he need
o unde s and how di e en language models pe o m in a a ie y o asks and si ua ions, wi h he aim o
iden i ying which one o e s he bes esul s in each case'.
By analyzing he beha io o di e en language models in wo speci ic use cases in ol ing asks commonly
used in gene a i e AI p ojec s, i has been ound ha some models, hough less popula , can pe o m as
well as o e en be e han globally ecognized models such as hose om OpenAI.
Fu he mo e, i has been obse ed ha pe o mance me ics in ce ain s anda dized benchma ks do no
always gua an ee which models a e he mos e icien . Fo ins ance, 'Mis al' sco ed lowe han 'GPT-4' in
hese benchma ks, ye in he speci ic use cases de eloped in his p ojec , i p o ed o be mo e e icien .
Such de ails ha e gi en meaning o he esea ch p esen ed in his hesis and o he de elopmen o
Na igAI o , which, as demons a ed in p e ious examples, appea s o ope a e e icien ly. Al hough his
e alua ion is subjec i e and based on he knowledge gained du ing his p ojec , Na igAI o is p esen ed
as a aluable ool o de elope s and esea che s in he AI ield, p o iding guidance on which LLM bes
sui s hei needs.
I would be in e es ing o Na igAI o o unde go u u e analysis wi h pe o mance es s conduc ed by a
la ge numbe o specialized use s o e alua e i s usabili y and pe o mance mo e comp ehensi ely.
This p ojec con ibu es o he ield o echnology, which is s ill ela i ely unknown bu has eno mous
po en ial. By au oma ing asks p e iously pe o med by humans, e iciency and speed o p ocesses a e
imp o ed. In summa y, his s udy ep esen s a s ep o wa d in he p ac ical applica ion o language
models and hei impac on he eal wo ld.
The po en ial o his p ojec lies in i s abili y o imp o e. The gene a ed code has been s uc u ed in such
a way ha i is e y easy o es new models by simply inding he necessa y equi emen s o implemen
hem. This s uc u e also allows o he addi ion o new asks in a simple and cohe en manne . This opens
he doo o he possibili y o es ing a g ea e numbe o LLMs in he u u e, add essing o he ele an
na u al language p ocessing asks. The in o ma ion ga he ed om hese es s could be used o e ain
Na igAI o and keep i always upda ed, making i an e en mo e use ul and cu ing-edge ool.
97
Mo eo e , Pinecone acili a es he abili y o upload a la ge numbe o documen s o he ec o da abase.
This would allow he ecommenda ion assis an o be ed wi h all he ele an documen a ion a ailable
and e en upda e i o add new language models as hey eme ge, inco po a ing he esul s hey gene a e.
Rega ding mo e complex u u e implemen a ions, i could be use ul o ans o m his agen in o a se ice
ha , gi en a p ojec wi h di e en ypes o asks, is capable o iden i ying each one and selec ing he mos
e icien model in e ms o cos -e ec i eness o execu e hem. In his way, he agen could call hese
models wi h he co esponding ask, op imizing he p ocess in eg ally.
Finally, c ea ing nume ical me ics based on he asks om he use cases ca ied ou could be
con empla ed o e alua e ce ain impo an cha ac e is ics when pe o ming such asks. This would allow
he de elopmen o an algo i hm ha quan i a i ely sco es he esponses gene a ed by each model,
unc ioning as a so o benchma k.
98
BIBLIOGRAFÍA
Xi∗†, Zhiheng, Chen∗, Wenxiang and Guo∗, Xin. 2023. The Rise and Po en ial o La ge Language Model.
[Online] 9 19, 2023. h ps://a xi .o g/pd /2309.07864.
A.Zhang. 2024. Wha is Chain-o -Though P omp ing(CoT)? Explained in E e yday Language o AI
Beginne s. [Online] 2 21, 2024. h ps://medium.com/ai- o -absolu e-beginne s/wha -is-chain-o - hough -
p omp ing-co -explained-in-e e yday-language- o -ai-beginne s-88861 64c657.
Alkhay a , Maha, Aljnidi, Mohamad and Aljoumaa, Kadan. 2020. A compa a i e dimensionali y educ ion
s udy in elecom cus ome segmen a ion using deep lea ning and PCA. [Online] 2 2020.
h ps://www. esea chga e.ne /publica ion/338995559_A_compa a i e_dimensionali y_ educ ion_s udy
_in_ elecom_cus ome _segmen a ion_using_deep_lea ning_and_PCA.
Al a ado, Paulo. 2023. La gene ación aumen ada po ecupe ación (RAG). [Online] 11 5, 2023.
h ps://medium.com/@el echno/la-gene aci%C3%B3n-aumen ada-po - ecupe aci%C3%B3n- ag-
dcae0a571 4b.
Ch oma. 2024. ch oma he AI-na i e open-sou ce embedding da abase. [Online] 2024.
h ps://www. ych oma.com/.
Coelho, Aimee. 2024. Quan iza ion in LLMs: Why Does I Ma e ? Medium. [Online] Ene o 11, 2024.
h ps://medium.com/da a- om- he- enches/quan iza ion-in-llms-why-does-i -ma e -7c32d2513c9e.
D, So en. 2023. Unde s anding T ans o me model a chi ec u es. [Online] 2 13, 2023.
h ps://www.p ac icalai.io/.
Enca nación, Johnny. 2023. P omp Enginee ing Explained: The Key o Unlocking AI’s Po en ial. Medium.
[Online] 5 8, 2023. h ps://medium.com/aimonks/p omp -enginee ing-explained- he-key- o-unlocking-ais-
po en ial-936a79b177bc.
Escalona, Ma io A ias. 2023. GENERACIÓN AUMENTADA DE RECUPERACIÓN (RAG): IA GENERATIVA CON
TUS PROPIOS DATOS. [Online] diciemb e 17, 2023. h ps://www. hepowe pla o mca e.com/ ag-ia-
gene a i a-con- us-da os/.
—. 2023. GENERACIÓN AUMENTADA DE RECUPERACIÓN (RAG): IA GENERATIVA CON TUS PROPIOS DATOS.
[Online] 12 17, 2023. h ps://www. hepowe pla o mca e.com/ ag-ia-gene a i a-con- us-da os/.
99
Feldges, Claude. 2023. Wo d Embeddings and Tex Embeddings: a Compa ison. [Online] 6 25, 2023.
h ps://medium.com/@claude. eldges/wo d-embeddings-and- ex -embeddings-a-compa ison-
9547 8 0c9a3.
Ghosh, Biji . 2024. RAG Vs Vec o DB. Medium. [Online] 1 18, 2024. h ps://medium.com/@biji 211987/ ag-
s- ec o db-2c8cb3e0ee52.
HuggingFace. Hugging Face - ELECTRA. [Online]
h ps://hugging ace.co/docs/ ans o me s/model_doc/elec a.
Jawade, Bha in. 2023. Demys i ying GQA — G ouped Que y A en ion o E icien LLM P e- aining.
[Online] 12 27, 2023. h ps:// owa dsda ascience.com/demys i ying-gqa-g ouped-que y-a en ion-
3 b97b678e4a.
Josue. 2021. Tu ing Tes . [Online] 1 8, 2021. h ps://medium.com/ echnology-hi s/ u ing- es -
ae3803942b60.
Kam ad , G eg. 2024. 5 Le els O Tex Spli ing. Gi Hub. [Online] 2024.
h ps://gi hub.com/FullS ackRe ie al-
com/Re ie alTu o ials/blob/main/5_Le els_O _Tex _Spli ing.ipynb.
Kanade, Vijay. 2023. Wha Is a La ge Language Model (LLM)? Meaning, Types, Wo king, and Examples.
[Online] 2023. h ps://www.spicewo ks.com/ ech/a i icial-in elligence/a icles/wha -is-llm/#_002.
Kuma , Sachin. 2024. E alua ing Ad anced Re ie al Augmen ed Gene a ion : Compa isons and E alua ions
o a ious RAG echniques. [Online] 4 12, 2024. h ps://medium.com/@ echsachin/e alua ing-ad anced-
e ie al-augmen ed-gene a ion-compa isons-and-e alua ions-o - a ious- ag-32 ea2de155a.
Langchain. 2024. Con e sa ion Bu e . [Online] 2024.
h ps://py hon.langchain.com/ 0.1/docs/modules/memo y/ ypes/bu e /.
LangChain. 2024. LangChain. Tex Spli e s. [Online] 2024.
h ps://py hon.langchain.com/docs/modules/da a_connec ion/documen _ ans o me s/.
Lipenko a, Janna. 2022. Choosing he igh language model o you NLP use case. [Online] 9 26, 2022.
h ps:// owa dsda ascience.com/choosing- he- igh -language-model- o -you -nlp-use-case-
1288e 3c4929.
100
Lu, P., B. Peng, H. Cheng, e al. 2023. Chameleon: Plug-and-play composi ional easoning wi h la ge
language models. 2023.
Ma ínez, M. en C. Edga do Ad ián F anco. Es uc u as de da os- Tema 05: Tablas hash. [Online]
h ps://docencia.ea anco.com/ma e iales/es uc u asdeda os/05/Tema05.pd .
Me a. 2023. Building Gene a i e AI Fea u es Responsibly. [Online] Sep iemb e 27, 2023.
h ps://abou . b.com/news/2023/09/building-gene a i e-ai- ea u es- esponsibly/.
Michael Osbo ne, p o eso de Machine Lea ning de la Uni e sidad de Ox o d. 2023. 2023.
Mic oso . 2024. Azu e AI Se ices. [Online] 2024. h ps://azu e.mic oso .com/en-us/p oduc s/ai-
se ices/.
Mish a, Onka . 2023. Using langchain o Ques ion Answe ing on Own Da a. [Online] 8 7, 2023.
h ps://medium.com/@onka mish a/using-langchain- o -ques ion-answe ing-on-own-da a-
3a 0a82789ed.
Mis al AI, Equipo de Mis al. 2024. Mis al AI. [Online] 2024. h ps://mis al.ai/news/mis al-
la ge/? e =aihub.cn.
Nan asenama , Chanin. 2024. S eamli . [Online] 2024. h ps://s eamli .io/.
Noyan, Me e. 2023. In oduc ion o Quan iza ion cooked . Hugging Face. [Online] 8 25, 2023.
h ps://hugging ace.co/blog/me e/quan iza ion.
OpenAI. 2024. New Embeddings Models OpenAI. [Online] 2024. h ps://openai.com/blog/new-embedding-
models-and-api-upda es.
—. 2024. Wha a e Embeddings. OpenAI. [Online] 2024.
h ps://pla o m.openai.com/docs/guides/embeddings/wha -a e-embeddings.
O ega, C is ina. 2023. Á bol de decisión: Qué es, ipos, en ajas y ejemplo. [Online] 2023.
h ps://www.ques ionp o.com/blog/es/a bol-de-decision/.
Pe e Lee, icep esiden e co po a i o de Mic oso . 2016. Blog o icial de Mic oso . [Online] 3 25, 2016.
Pinecone. 2024. Con e sa ional Memo y o LLMs wi h Langchain. [Online] 2024.
h ps://www.pinecone.io/lea n/se ies/langchain/langchain-con e sa ional-memo y/.
—. 2024. Pinecone. [Online] 2024. h ps://www.pinecone.io/.
101
Qin, Y., S. Hu, Y. Lin, e al. 2023. Tool lea ning wi h ounda ion models. . 2023.
Rossum, Guido an. 1989. Py hon. [Online] 1989. h ps://www.py hon.o g/downloads/.
Rude , Sebas ian. 2016. On wo d embeddings - Pa 1. [Online] 4 11, 2016. h ps://www. ude .io/wo d-
embeddings-1/.
Schick, T., J. Dwi edi-Yu, R. Dessì, e al. 2023. Tool o me : Language models can each hemsel es o use
ools. 2023.
So aqui á, Miguel. 2023. ¿Qué son los Embeddings? codi icandobi s. [Online] Agos o 28, 2023.
h ps://www.codi icandobi s.com/blog/embeddings-y-llms/.
S an o d Uni e si y, Cen e o Resea ch on Founda ion Models. 2024. HELM. [Online] 3 1, 2024.
h ps://c m.s an o d.edu/helm/li e/ 1.1.0/#/.
Thcookieh. 2024. Embeddings + Knowledge G aphs: El u u o de la IA Gene a i a. [Online] 4 4, 2024.
h ps://medium.com/@ hcookieh/embeddings-knowledge-g aphs-el- u u o-de-la-ia-gene a i a-
c7795554 1d8.
Vaswani, Ashish. 2017. A en ion Is All You Need. Medium. [Online] 2017.
h ps://a xi .o g/pd /1706.03762.pd .
Wo d Embeddings h ough Hellinge PCA. Remi Leb e and Ronan Collobe . 2017. 1 4, 2017.
Yu. A. Malko , D. A. Yashunin. 2018. E icien and obus app oxima e nea es neighbo sea ch using
Hie a chical Na igable Small Wo ld g aphs. [Online] 2018. h ps://a xi .o g/abs/1603.09320.
Yule Wang, PhD. 2023. A Comple e Guide o LLMs-based Au onomous Agen s(Pa I). Medium. [Online] 10
10, 2023. h ps://medium.com/ he-mode n-scien is /a-comple e-guide- o-llms-based-au onomous-
agen s-pa -i-69515c016792.
102
APÉNDICES
Apéndice A - Imágenes de los esul ados u ilizados en el
o mula io
A.1 Resul ados en Talen Scan
A.1.1 GPT-3.5-Tu bo-16K
Figu a 0-1.Guion de la en e is a 2 usando el modelo de OpenAI
103
Figu a 0-2. So Skills de la En e is a 2 usando el modelo de OpenAI
110
A.1.3 LLAMA-2-Cha -70B
Figu a 0-9. Guion de la en e is a 2 usando el modelo de LLAMA
111
Figu a 0-10. So Skills de la en e is a 2 usando el modelo de LLAMA
112
Figu a 0-11. Technical Skills de la en e is a 2 usando el modelo de LLAMA
113
Figu a 0-12. Conclusiones de la en e is a 2 usando el modelo de LLAMA
114
A.2 Resul ados en Sma Call T ansc ip
A.2.1 GPT-3.5-Tu bo-16K
Figu a 0-13. Guion de la llamada 1 usando el modelo de OpenAI
115
Figu a 0-14. Resumen de la llamada 1 usando el modelo de OpenAI
Figu a 0-15.Sen imien os de la llamada 1 usando el modelo de OpenAI
116
A.2.2 Mis al-La ge
Figu a 0-16. Guion de la llamada 1 usando modelo de MISTRAL
117
Figu a 0-17. Resumen de la llamada 1 usando modelo de MISTRAL
Figu a 0-18. Sen imien os de la llamada 1 usando modelo de MISTRAL
118
A.2.3 LLAMA-2-Cha -70B
Figu a 0-19. Guion de la llamada 1 usando modelo de LLAMA
119
Figu a 0-20. Resumen de la llamada 1 usando modelo de LLAMA
Figu a 0-21. Sen imien os de la llamada 1 usando modelo de LLAMA
126
conclusión de allada. Un ecu so pode oso pa a eclu ado es que acele a la oma
de decisiones de con a ación de o ma p ecisa y e icien e.")
s .ma kdown('</di >', unsa e_allow_h ml=T ue) # Ce a el con enedo
wi h col2:
s .ma kdown('<di s yle="ma gin-bo om: 20px;">',
unsa e_allow_h ml=T ue) # Ag ega ma gen in e io
s .ma kdown('<h2 s yle=" ex -align: le ; display: inline-
block;">P incipales mé icas</h2>', unsa e_allow_h ml=T ue)
s .ma kdown('<h s yle="bo de : 1px solid #000; ma gin: 0;">',
unsa e_allow_h ml=T ue)
s .ma kdown( '''
<di s yle="ma gin- op: 20px; display: lex; ma gin-bo om:
20px;">
<di s yle="ma gin- igh : 20px; display: lex; lex-di ec ion:
column; align-i ems: cen e ;">
<img s c="da a:image/png;base64,{encoded_image1}"
s yle="ma gin- op: -20px; heigh : 40px; wid h: 40px; objec - i : con ain;">
<p s yle=" on -size: 12px; on -weigh : bold; ex -align:
cen e ;">E iciencia de la e aluación</p>
</di >
<di s yle="ma gin- igh : 20px; display: lex; lex-di ec ion:
column; align-i ems: cen e ;">
<img s c="da a:image/png;base64,{encoded_image1}"
s yle="ma gin- op: -20px; heigh : 40px; wid h: 40px; objec - i : con ain;">
<p s yle=" on -size: 12px; on -weigh : bold; ex -align:
cen e ;">Mejo a en la selección de candida os</p>
</di >
<di s yle="display: lex; lex-di ec ion: column; align-i ems:
cen e ;">
<img s c="da a:image/png;base64,{encoded_image1}"
s yle="ma gin- op: -20px; heigh : 40px; wid h: 40px; objec - i : con ain;">
<p s yle=" on -size: 12px; on -weigh : bold; ex -align:
cen e ;">Sa is acción del eclu ado </p>
</di >
</di >
''', unsa e_allow_h ml=T ue)
#Pa a subi la en e is a, pa e de la in e az g á ica
o mCol1, o mCol2, o mCol3 = s .columns([0.15,0.7,0.15], gap="la ge")
#Va iables de s eamli que se u ilizan du an e el p og ama
127
i 'uploaded_ ile' no in s .session_s a e:
s .session_s a e['uploaded_ ile'] = None
i 'coun ' no in s .session_s a e:
s .session_s a e.coun = 0
i 'guion' no in s .session_s a e:
s .session_s a e.guion = None
i 'so skills' no in s .session_s a e:
s .session_s a e.so skills = "Las so skills apa ece án aquí"
i ' echnicalskills' no in s .session_s a e:
s .session_s a e. echnicalskills = "Las compe encias écnicas apa ece án
aquí"
i ' esumen' no in s .session_s a e:
s .session_s a e. esumen = "Las conclusiones de la en e is a apa ece án
aquí"
i 'job ole' no in s .session_s a e:
s .session_s a e.job ole = None
wi h o mCol2:
wi h s . o m("in e iewT ansc ip "):
s .w i e('## Adjun a la en e is a y noso os e ayuda emos a analiza al
candida o.')
#Subimos el x que con iene la en e is a y lo gua damos en
uploaded_ ile
uploaded_ ile = s . ile_uploade ("Suba la en e is a pa a su analisis",
ype=[" x "])
#Los oles de las acan es
opciones = ['','Chie Happiness O ice ','Technical RPA consul an ',
'Da a analys ', 'P ojec manage ', 'O os']
job ole = s .selec box('Selecciona la acan e', opciones)
i job ole=='O os':
job ole = s . ex _inpu ('Esc iba la posición')
#Bo on que p ocesa el ex o de la en e is a p opo cionada
i s . o m_submi _bu on("Analiza En e is a ►", ype='p ima y'):
s .session_s a e['uploaded_ ile'] = uploaded_ ile. ead().decode('u -
8')
wi h s .spinne ("T ansc ibiendo..."):
#Si se ha ca gado bien el x nos asegu amos de que el guion no
se ha gene ado p e iamen e, y ansc ibimos el x
i s .session_s a e['uploaded_ ile'] is no None:
128
i s .session_s a e.coun == 0:
i s .session_s a e.guion is None: # Asegú a e de que el
guion no se haya gene ado p e iamen e
## ansc ip = audio_ ansc ip (uploaded_ ile)
guion =
in e iew_ ansc ip (s .session_s a e['uploaded_ ile'])
s .session_s a e.guion = guion
s .session_s a e.coun = 1
#Gene amos dos columnas pa a la ansc ipcion y los es abs
o mCol1, o mCol2 = s .columns([0.5,0.5], gap="la ge")
#Si se ha gene ado el guion
i s .session_s a e.coun == 1:
#Me emos en la segunda columna los es abs: "So Skills", "Compe encias
écnicas", "Conclusiones de la en e is a"
wi h o mCol2:
ab1, ab2, ab3 = s . abs(["So Skills", "Technical Skills",
"Conclusiones de la en e is a"])
#Empezamos con el p ime ab --> So skills
wi h ab1:
i s .bu on("Analiza So Skills"): # Si se ha pulsado el Bo ón
pa a gene a so skills
i s .session_s a e.guion is no None: # Asegú a e de que el
guion es é gene ado
wi h s .spinne ("Analizando So skills..."):
guion = s .session_s a e.guion #Cogemos el guion
s .session_s a e.job ole = job ole #Cogemos el ol del
acan e
so skills = so _skills(s .session_s a e.job ole,guion)
#Llamamos a la uncion so _skills
s .session_s a e.so skills = so skills
s .success("So skills analizadas!")
#Pa a esc ibi las so skills analizadas en el espacio que
co esponde
ou pu _placeholde 1 = s .emp y()
ou pu _placeholde 1.w i e(s .session_s a e.so skills)
#Segundo ab --> Technical skills
129
wi h ab2:
i s .bu on("Analiza Technical Skills"): #Si pulsamos el Bo ón pa a
gene a echnical skill
i s .session_s a e.guion is no None: # Asegú a e de que el
guion es é gene ado
wi h s .spinne ("Gene ando Technical Skills..."):
guion = s .session_s a e.guion
s .session_s a e.job ole = job ole
echnical_skills_ esul =
echnicalskills(s .session_s a e.job ole,guion) #Llamamos a la uncion
echnicalskills
s .session_s a e. echnicalskills =
echnical_skills_ esul
s .success("Technical Skills analizadas!")
#Pa a esc ibi las echnical skills analizadas en el espacio que
co esponde
ou pu _placeholde 2 = s .emp y()
ou pu _placeholde 2.w i e(s .session_s a e. echnicalskills)
#Te ce ab --> Resumen
wi h ab3:
i s .bu on("Gene a conclusiones de la en e is a"):#Si pulsamos el
Bo ón pa a gene a esumen
i s .session_s a e.guion is no None: # Asegú a e de que el
guion es é gene ado
wi h s .spinne ("Gene ando conclusión..."):
guion = s .session_s a e.guion
#Pa a ene en el esumen una desc ipción de allada
dependien e del ol del acan e, hemos conside ado hace lo po dos ías:
#Hemos ealizado la desc ipción a mano de dos de los
oles y pa a el es o hemos u ilizado la uncion jobDesc ip ion que e gene a
#con ia la desc ipción pe inen e pa a ese ol
i s .session_s a e.job ole == "Chie Happiness O ice ":
jobdesc ip ion= '''P opósi o del pues o: El Chie
Happiness O ice (CHO) es esponsable de p omo e un ambien e de abajo
posi i o y mo i ado en la o ganización.
Su obje i o p incipal es
ga an iza la elicidad y el bienes a de los empleados, omen ando la
sa is acción labo al y p omo iendo una cul u a de colabo ación y apoyo mu uo.
El CHO abaja en es echa
colabo ación con los líde es y equipos de Recu sos Humanos pa a implemen a
130
es a egias y p og amas que mejo en el comp omiso y la sa is acción de los
empleados.
Responsabilidades cla e:
1. Desa olla e implemen a
p og amas y ac i idades que p omue an la elicidad y el bienes a de los
empleados.
2. Colabo a con los líde es de
la o ganización pa a iden i ica opo unidades de mejo a en el ambien e labo al y
p opone soluciones inno ado as.
3. Realiza encues as de
sa is acción y análisis de clima labo al pa a e alua el ni el de elicidad y
sa is acción de los empleados.
4. O ganiza e en os y
ac i idades de eam building pa a o alece el espí i u de equipo y la
colabo ación en e los empleados.
5. B inda apoyo y aseso amien o
a los empleados en emas elacionados con el bienes a emocional y la
conciliación abajo- ida pe sonal.
Habilidades esenciales:
1. Excelen es habilidades de
comunicación y capacidad pa a es ablece elaciones sólidas con los empleados de
odos los ni eles de la o ganización.
2. Conocimien o p o undo de las
mejo es p ác icas en bienes a labo al y sa is acción de los empleados.
3. Capacidad pa a iden i ica y
abo da p oblemas y con lic os en el ambien e labo al de mane a e ec i a y
empá ica.
4. Habilidades de lide azgo y
capacidad pa a in lui posi i amen e en la cul u a o ganizacional.
5. O ien ación al de alle y
capacidad pa a analiza da os y mé icas elacionadas con el bienes a y la
sa is acción de los empleados.
'''
i s .session_s a e.job ole == "Technical RPA
consul an ":
jobdesc ip ion = '''P opósi o del pues o: El
Consul o Técnico desempeña un papel undamen al en la implemen ación de
soluciones ecnológicas pa a nues os clien es.
T abajando en es echa
colabo ación con el equipo de p oyec os, el Consul o Técnico es esponsable de
131
b inda aseso amien o y sopo e écnico, asegu ando la en ega exi osa de
p oyec os y la sa is acción del clien e.
Responsabilidades cla e:
1. Colabo a con el equipo de
p oyec os en la de inición de equisi os écnicos y uncionales pa a la
implemen ación de soluciones.
2. Desa olla y man ene
soluciones ecnológicas u ilizando Py hon y Excel, asegu ando su e iciencia y
calidad.
3. Pa icipa en la con igu ación
y pe sonalización de sis emas, asegu ando su co ec o uncionamien o y adap ación
a las necesidades del clien e.
4. Realiza p uebas y depu ación
de soluciones, iden i icando y esol iendo p oblemas écnicos.
5. B inda capaci ación y sopo e
écnico a los usua ios inales, asegu ando una co ec a adopción de las
soluciones implemen adas.
Habilidades esenciales:
1. Expe iencia demos able en el
desa ollo de soluciones u ilizando Py hon.
2. Amplio conocimien o y
expe iencia en el uso de Excel pa a el análisis y manipulación de da os.
3. Expe iencia en la
implemen ación de al menos 2 p oyec os de Au oma ización Robó ica de P ocesos
(RPA).
4. Habilidades in e pe sonales
des acadas, incluida la empa ía y la capacidad de abaja en equipo.
5. Capacidad pa a comunica se de
mane a e ec i a y p esen a ideas écnicas de mane a cla a y concisa.
'''
else:
jobdesc ip ion=jobDesc ip ion(job ole)
s .session_s a e.job ole=job ole
#Una ez enemos la jobDesc ip ion llamamos a la uncion
esumen_in e iew_p ueba que iene en cuen a la desc ipción an e io y e
de uel e un esumen de la en e is a
esumen = esume_in e iew(guion,posi ion =
s .session_s a e.job ole, jobdesc ip ion=jobdesc ip ion)
s .session_s a e. esumen = esumen
s .success("Conclusión gene ada!")
132
#Mos amos inalmen e el esumen gene ado
ou pu _placeholde 3 = s .emp y()
ou pu _placeholde 3.w i e(s .session_s a e. esumen)
#En la columna 1 mos amos el guion de la en e is a que le pasamos en el
x
wi h o mCol1:
s . i le('Guion de la en e is a')
s .w i e(s .session_s a e.guion)
C.2 unc ions.py
impo s eamli as s
impo os
om langchain.cha _models impo Azu eCha OpenAI
om langchain.p omp s impo Cha P omp Templa e
om mis alai.clien impo Mis alClien
om mis alai.models.cha _comple ion impo Cha Message
impo eques s
impo json
azu eOpenAIKey = s .sec e s["AZURE"]["OPENAI_KEY"]
os.en i on["OPENAI_API_TYPE"] = "azu e"
os.en i on['OPENAI_API_KEY'] = azu eOpenAIKey
os.en i on['OPENAI_API_VERSION'] = "2023-07-01-p e iew"
os.en i on['OPENAI_API_BASE'] = s .sec e s["AZURE"]['API_BASE']
openai_api_key = s .sec e s["AZURE"]['OPENAI_API_KEY']
# De inición de las a iables globales de los modelos
global OPENAI_MODELO
global LLAMA_MODELO
global MISTRAL_MODELO
# Asignación de alo es a las a iables
OPENAI_MODELO = "Modelo de OpenAI"
LLAMA_MODELO = "Modelo de LLAMA"
MISTRAL_MODELO = "Modelo de MISTRAL"
# Aquí podemos cambia el modelo a e alua
modelo = MISTRAL_MODELO
133
#--------------------------------------------FUNCIONES DE LLAMADAS A LOS MODELOS-
--------------------------------------------------------------
#Funcion que llama al modelo de OPENAI con el p omp conc e o
de llm_openai(sys em_p omp , human_p omp ):
#llm = Azu eCha OpenAI(deploymen _name='gp 4-32k',model_name='gp -4-
32k', empe a u e=0.4,max_ okens=8000,s eaming=T ue,openai_api_ e sion="2023-05-
15",openai_api_base="h ps://s -nexus-azu eopenai.openai.azu e.com/",)
llm = Azu eCha OpenAI(deploymen _name='gp -35- u bo-16k', model_name='gp -35-
u bo-16k', empe a u e=0.1,max_ okens=1000)
gene alTempla e = Cha P omp Templa e. om_messages([
( "sys em" , sys em_p omp ),
( "human",human_p omp ),
])
p omp = gene alTempla e. o ma _messages()
answe = llm(p omp )
e u n answe .con en
#Funcion que llama al modelo de MISTRAL con el p omp conc e o
de llm_mis al(sys em_p omp , human_p omp ):
clien = Mis alClien (
endpoin ="h ps://Mis al-la ge-hqhgg-
se e less.eas us2.in e ence.ai.azu e.com",
api_key=" 6 qNxlVz0QkYmKD0FJxmnALeHnASm1s"
)
cha _ esponse = clien .cha (
model="azu eai",
messages=[
Cha Message( ole="sys em",con en =sys em_p omp ),
Cha Message( ole="use ",con en =human_p omp ),
],
max_ okens=1000,
)
e u n cha _ esponse.choices[0].message.con en
#Funcion que llama al modelo de LLAMA con el p omp conc e o
de llm_llama(sys em_p omp , human_p omp ):
# URL a la que se en ia á la solici ud POST
134
u l = 'h ps://Llama-2-70b-cha - yex-
se e less.eas us2.in e ence.ai.azu e.com/ 1/cha /comple ions'
# Tu oken Bea e y API key
heade s = {
'Au ho iza ion': 'Bea e 8 RGEsyEQp8L O91DL DaXF JSgABDLD',
'Con en -Type': 'applica ion/json'
}
# Da os que deseas en ia como pa e del cue po de la solici ud POST
da os = {
"messages":[
{ " ole": "sys em",
"con en ": sys em_p omp },
{" ole": "use ",
"con en ": human_p omp }
],
" empe a u e": 0.1,
"max_ okens": 1000,
}
# Realiza la solici ud POST
espues a = eques s.pos (u l, heade s=heade s, json=da os)
espues a_json = json.loads( espues a. ex )
e u n espues a_json["choices"][0]["message"]["con en "]
#---------------------------------------------FUNCION QUE SELECCIONA EL MODELO A
LLAMAR-----------------------------------------------
de gene a _ ex o(sys em_p omp , human_p omp , modelo):
answe = "Aqui end á la espues a del modelo con el p omp indicado"
i (modelo == OPENAI_MODELO):
answe = llm_openai(sys em_p omp , human_p omp )
i (modelo == MISTRAL_MODELO):
answe = llm_mis al(sys em_p omp , human_p omp )
i (modelo == LLAMA_MODELO):
answe = llm_llama(sys em_p omp , human_p omp )
135
e u n answe
#-----------------------------------------------FUNCIONALIDADES DEL CASO DE USO--
---------------------------------------------------------
#Le da o ma o en e is a al guion p opo cionado en el . x
de in e iew_ ansc ip ( ansc ip ):
sys em_p omp = "E es un asis en e que ayuda a c ea un guion de una
ansc ipcion de audio de la en e is a pa a la emp esa S a esys."
human_p omp = """Te oy a adjun a un ex o que es la ansc ipción de una
en e is a. Realiza la ansc ipción en Español.
En la ansc ipción no es á de inido quién es el en e is ado y
quien es el en e is ado.
Puedes coge es e ex o y gene a me a pa i de el un guión
en endiendo quien dice que.
Quie o que enga es e o ma o: n n En e is ado : [Mensaje del
en e is ado ] nEn e is ado: [Mensaje del en e is ado] n n.
NO e ol ides de pone sal os de línea en e el mensaje del
en e is ado y el del en e is ado .
en en cuen a que no siemp e se in e calan en e is ado y
en e is ado, se puede da el caso donde el emiso hable dos eces seguidas. Pa a
es o, u iliza el con ex o pa a sabe quien es el en e is ado y quien el
en e is ado.
El ex o de la ansc ipcion es el siguien e: n n """ + ansc ip
guion = gene a _ ex o(sys em_p omp , human_p omp , modelo)
e u n guion
#Gene a las so skills del en e is ado, explicando el po qué y eniendo en
cuen a el ol y los de uel e en o ma o de ex o --> Co esponde al ab1
de so _skills(job ole,guion):
sys em_p omp = "E es un asis en e que ayuda a c ea un esumen de una
en e is a."
human_p omp = """Cogiendo el guion de esa en e is a, enuncia una lis a de
so skills que de ec es del en e is ado y desa olla po que iden i icas que el
en e is ado iene esa so skill.
Ten en cuen a que buscamos so skills ca ac e ís icas de un: """ +
job ole + """El guion de la en e is a es el siguien e: n n""" + guion
so _skills = gene a _ ex o(sys em_p omp , human_p omp , modelo)
142
#Gene amos dos columnas pa a la ansc ipcion y los es abs
o mCol1, o mCol2 = s .columns([0.5,0.5], gap="la ge")
#Si se ha gene ado el guion
i s .session_s a e.coun == 1:
#Me emos en la segunda columna los dos abs: "Resumen de llamada",
"Sen imien os Analizados"
wi h o mCol2:
ab1, ab2 = s . abs(["Resumen de llamada","Sen imien os Analizados"])
#Empezamos con el p ime ab --> Resumen de la llamada
wi h ab1:
i s .bu on("Resumen de la llamada"): # Si se ha pulsado el Bo ón
pa a gene a el esumen
i s .session_s a e.guion is no None: # Asegú a e de que el
guion es é gene ado
wi h s .spinne ("Gene ando esumen de la llamada..."):
guion = s .session_s a e.guion
esumen_llamada = gene a _ esumen(guion)
s .session_s a e. esumen_llamada = esumen_llamada
s .success("Resumen ealizado!")
#Pa a esc ibi el esumen en el espacio que co esponde
ou pu _placeholde 1 = s .emp y()
ou pu _placeholde 1.w i e(s .session_s a e. esumen_llamada)
#Segundo ab --> Sen imien os del clien e
wi h ab2:
i s .bu on("Sen imien os del ecep o "): #Si pulsamos el Bo ón pa a
gene a sen imien os del clien e
i s .session_s a e.guion is no None: # Asegú a e de que el
guion es é gene ado
wi h s .spinne ("Gene ando los sen imien os del ecep o "):
guion = s .session_s a e.guion
sen imien o = ge _sen imen (guion)
s .session_s a e.sen imien o = sen imien o
s .success("Sen imien os analizados!")
#Pa a esc ibi las echnical skills analizadas en el espacio que
co esponde
ou pu _placeholde 2 = s .emp y()
ou pu _placeholde 2.w i e(s .session_s a e.sen imien o)
#En la columna 1 mos amos el guion de la en e is a que le pasamos en el
x
143
wi h o mCol1:
s . i le('Guion de la llamada')
s .w i e(guion)
D.2 unc ions.py
impo s eamli as s
impo os
om langchain.cha _models impo Azu eCha OpenAI
om langchain.p omp s impo Cha P omp Templa e
om mis alai.clien impo Mis alClien
om mis alai.models.cha _comple ion impo Cha Message
impo eques s
impo json
azu eOpenAIKey = s .sec e s["AZURE"]["OPENAI_KEY"]
os.en i on["OPENAI_API_TYPE"] = "azu e"
os.en i on['OPENAI_API_KEY'] = azu eOpenAIKey
os.en i on['OPENAI_API_VERSION'] = "2023-07-01-p e iew"
os.en i on['OPENAI_API_BASE'] = s .sec e s["AZURE"]['API_BASE']
openai_api_key = s .sec e s["AZURE"]['OPENAI_API_KEY']
# De inición de las a iables globales de los modelos
global OPENAI_MODELO
global LLAMA_MODELO
global MISTRAL_MODELO
# Asignación de alo es a las a iables
OPENAI_MODELO = "Modelo de OpenAI"
LLAMA_MODELO = "Modelo de LLAMA"
MISTRAL_MODELO = "Modelo de MISTRAL"
# Aquí podemos cambia el modelo a e alua
modelo = OPENAI_MODELO
#--------------------------------------------FUNCIONES DE LLAMADAS A LOS MODELOS-
--------------------------------------------------------------
144
#Funcion que llama al modelo de OPENAI con el p omp conc e o
de llm_openai(sys em_p omp , human_p omp ):
llm = Azu eCha OpenAI(deploymen _name='gp -35- u bo-16k', model_name='gp -35-
u bo-16k', empe a u e=0.1,max_ okens=1000)
gene alTempla e = Cha P omp Templa e. om_messages([
( "sys em" , sys em_p omp ),
( "human",human_p omp ),
])
p omp = gene alTempla e. o ma _messages()
answe = llm(p omp )
e u n answe .con en
#Funcion que llama al modelo de MISTRAL con el p omp conc e o
de llm_mis al(sys em_p omp , human_p omp ):
clien = Mis alClien (
endpoin ="h ps://Mis al-la ge-z mid-
se e less.eas us2.in e ence.ai.azu e.com",
api_key="52 E6V90gzjXFTKIen 30Tbb3Q hz70N"
)
cha _ esponse = clien .cha (
model="azu eai",
messages=[
Cha Message( ole="sys em",con en =sys em_p omp ),
Cha Message( ole="use ",con en =human_p omp ),
],
max_ okens=1000,
)
e u n cha _ esponse.choices[0].message.con en
#Funcion que llama al modelo de LLAMA con el p omp conc e o
de llm_llama(sys em_p omp , human_p omp ):
# URL a la que se en ia á la solici ud POST
u l = 'h ps://Llama-2-70b-cha - yex-
se e less.eas us2.in e ence.ai.azu e.com/ 1/cha /comple ions'
# Tu oken Bea e y API key
heade s = {
'Au ho iza ion': 'Bea e 8 RGEsyEQp8L O91DL DaXF JSgABDLD',
145
'Con en -Type': 'applica ion/json'
}
# Da os que deseas en ia como pa e del cue po de la solici ud POST
da os = {
"messages":[
{ " ole": "sys em",
"con en ": sys em_p omp },
{" ole": "use ",
"con en ": human_p omp }
],
" empe a u e": 0.1,
"max_ okens": 1000,
}
# Realiza la solici ud POST
espues a = eques s.pos (u l, heade s=heade s, json=da os)
espues a_json = json.loads( espues a. ex )
e u n espues a_json["choices"][0]["message"]["con en "]
#---------------------------------------------FUNCION QUE SELECCIONA EL MODELO A
LLAMAR-----------------------------------------------
de gene a _ ex o(sys em_p omp , human_p omp , modelo):
answe = "Aqui end á la espues a del modelo con el p omp indicado"
i (modelo == OPENAI_MODELO):
answe = llm_openai(sys em_p omp , human_p omp )
i (modelo == MISTRAL_MODELO):
answe = llm_mis al(sys em_p omp , human_p omp )
i (modelo == LLAMA_MODELO):
answe = llm_llama(sys em_p omp , human_p omp )
e u n answe
#-----------------------------------------------FUNCIONALIDADES DEL CASO DE USO--
---------------------------------------------------------
#Le da o ma o en e is a al guion p opo cionado en el . x
146
de call_ ansc ip ( ansc ip ):
sys em_p omp = "E es un asis en e que ayuda a c ea un guion de una
ansc ipcion de audio de una llamada ele ónica."
human_p omp ="""Te oy a adjun a un ex o que es la ansc ipción de una
llamada ele onica. Realiza la ansc ipción en Español.
Es a ansc ipción puede con ene e o es y debe ías co egi odo lo
que no enga sen ido o emas epe idos que sean cla amen e un e o de
ansc ipción.
Si de odo el p oceso de in e p e ación hay pa es de la con e sación
que se salen del obje o de la misma, ob ialas.Las al as de o og adía que eas,
co ígelas ambien.
Po ejemplo: no es @Gemay si no @gmail, es o puede ocu i con o os
elemen os. En la ansc ipción no es á de inido quién es el en e is ado y quien
es el en e is ado.
Puedes coge es e ex o y gene a me a pa i de el un guión
en endiendo quien dice que.
CADA MENSAJE QUIERO QUE APAREZCA EN UNA LINEA DE TEXTO DIFERENTE, EN
FORMATO LISTA, así:
-Emiso (Nomb e del emiso ): [Mensaje del emiso de la
llamada] n n
-Recep o (Nomb e del ecep o ): [Mensaje del ecep o de la
llamada] n n.
Es muy impo an e que iden i iques bien al emiso y al ecep o .
Ten en cuen a que no siemp e se in e calan emiso y ecep o , se
puede da el caso donde el emiso hable dos eces seguidas. Pa a es o, u iliza el
con ex o pa a sabe quien es el emiso y quien el ecep o .
NO e ol ides de pone sal os de línea en e el mensaje del emiso y
el del ecep o . El ex o de la ansc ipcion es el siguien e: n n""" +
ansc ip
guion = gene a _ ex o(sys em_p omp , human_p omp , modelo)
e u n guion
#Te hace el esumen de la en e is a
de gene a _ esumen(guion):
sys em_p omp = """E es un asis en e especializado en gene a esumenes sob e
con e saciones ele ónicas.
T abajas en s a esys y haces esumenes sob e llamadas ele ónicas donde
un ecep o con ac a con a ención al clien e.
147
El esumen debe se gene ado desde el pun o de is a del agen e(emiso )
que es a in e ac uando con el clien e( ecep o ).
La es uc u a del esumen siemp e iene que se de es a mane a:
- P ime o: Que pide el clien e, qué p oblema iene...
- Segundo: Mo i o del clien e pa a ealiza al accion
- Te ce o: Que le o ece el agen e pa a a a de complace al clien e y
soluciona su p oblema
- Cua o: Conclusion
Recue da que iene que se desde el pun o de is a del Agen e(Emiso )
"""
human_p omp ="""
- **T ansc ipción de la en e is a**:""" + guion
esumen = gene a _ ex o(sys em_p omp , human_p omp , modelo)
e u n esumen
#Gene a las habilidades ecnicas del en e is ado, explicando el po qué y
eniendo en cuen a el ol y los de uel e en o ma o de ex o --> Co esponde al
ab2
de ge _sen imen (guion):
sys em_p omp = "E es un asis en e especializado en iden i ica el
sen imien o de un usua io en una ansc ipción de una llamada ele ónica con
a encion al clien e."
human_p omp ="""T abajas en s a esys y ealizas un análisis del
sen imien os de un usua io(el ecep o ) que ealiza una llamada con a encion al
clien e po que iene un p oblema.
Debes de ealiza un análisis b e e de los sen imien os del
clien e( ecep o ), des acando las pa es de la llamada en los que los has
pe cibido.
Bása e en la con e sación pa a ealiza es e análisis, y comp ueba si el
clien e queda sa is echo con la solución del emiso .
148
Ten en cuen a que pueden habe exp esiones con cie o ono de sa casmo y
po an o el signi icado puede se dis in o que el o iginal. U iliza el con ex o
como ayuda pa a analiza es o
La ansc ipción de la llamada es la siguien e: n n""" + guion
sen imien o = gene a _ ex o(sys em_p omp , human_p omp , modelo)
e u n sen imien o
149
Apéndice E - Código de Na igAI o
E.1 main.py
# Impo ación de módulos y con igu ación inicial
om lib.u ils impo *
om lib.s eaming impo *
om langchain.documen _loade s impo PyPDFLoade
om langchain.memo y impo Con e sa ionBu e Memo y
om langchain.p omp s impo (
Cha P omp Templa e,
HumanMessageP omp Templa e,
Sys emMessageP omp Templa e,
)
om langchain.documen _loade s impo Uns uc u edExcelLoade
om langchain.chains impo Con e sa ionalRe ie alChain
om langchain. ex _spli e impo Recu si eCha ac e Tex Spli e
om langchain. ec o s o es impo Pinecone
impo pinecone
om langchain.embeddings impo Azu eOpenAIEmbeddings
om langchain.p omp s impo (
Cha P omp Templa e,
HumanMessageP omp Templa e,
Sys emMessageP omp Templa e,
)
impo s eamli as s
om langchain.cha _models impo Azu eCha OpenAI
impo openai
om langchain.memo y impo Con e sa ionSumma yBu e Memo y
# Con igu ación de las cla es y en o nos de Pinecone y Azu e OpenAI
os.en i on["PINECONE_API_KEY"] = # you pinecone api key
os.en i on["PINECONE_ENV"] = # pinecone en i omen
azu eOpenAIKey = # you Azu eOpenAI api key
os.en i on["OPENAI_API_TYPE"] = "azu e"
os.en i on['OPENAI_API_KEY'] = azu eOpenAIKey
os.en i on['OPENAI_API_VERSION'] = # -------------
os.en i on['OPENAI_API_BASE'] = # -------------
150
# Inicialización de Pinecone
pinecone.ini (
api_key=os.ge en ("PINECONE_API_KEY"), # ind a app.pinecone.io
en i onmen =os.ge en ("PINECONE_ENV"), # nex o api key in console
)
# C eación de la ins ancia de Pinecone Index
index = pinecone.Index(= # you pinecone index name )
index_name = # you pinecone index name
# Con igu ación de la página de S eamli
s .se _page_con ig(layou ='wide',page_ i le="Na igAI o ", page_icon="🏠")
# Sección de p esen ación en la in e az de usua io
s . i le("Na igAI o ")
col1,col2 = s .columns(2,gap="la ge")
wi h col1:
s .ma kdown('<h1 s yle=" ex -align: le ; display: inline-block;">Re o</h1>',
unsa e_allow_h ml=T ue)
s .ma kdown('<h s yle="bo de : 1px solid #000; ma gin: 0;">',
unsa e_allow_h ml=T ue)
s .w i e("Abo da la e aluación de di e sos modelos de lenguaje en con ex os
a iados ep esen a un e o signi ica i o. La necesidad de comp ende su
desempeño en di e en es escena ios y a eas especí icas exige una e aluación
de allada y p ecisa pa a iden i ica la opción más adecuada en cada caso.")
wi h col2:
s .ma kdown('<h1 s yle=" ex -align: le ; display: inline-
block;">Solución</h1>', unsa e_allow_h ml=T ue)
s .ma kdown('<h s yle="bo de : 1px solid #000; ma gin: 0;">',
unsa e_allow_h ml=T ue)
s .w i e("Na igAI o , su asis en e i ual especializado en modelos de
lenguaje, le p opo ciona e aluaciones de alladas pa a una selección in o mada.
Comp enda cómo los modelos GPT de OpenAI, LLAMA y Mis al se desempeñan en casos
de uso especí icos y descub a cuál se ajus a mejo a sus necesidades.")
s .w i e("¡Po encie sus decisiones en in eligencia a i icial y p ocesamien o
del lenguaje na u al con Na igAI o , su guía con iable pa a implemen aciones
e ec i as!")
i 'his o y' no in s .session_s a e:
s .session_s a e['his o y'] = ''
151
class Cus omDa aCha bo :
#Me odo de inicialización que se llama au omá icamen e cnd se c ea una
ins ancia de la clase
#Con igu a la API_key de OpenAI y de ine el modelo de OpenAI que se u iliza á
en el cha
de __ini __(sel ):
con igu e_openai_api_key()
sel .openai_model = "gp -4"
#Gua da un a chi o en una ubicación especí ica
de sa e_ ile(sel , ile):
olde = ' mp'
i no os.pa h.exis s( olde ):
os.makedi s( olde )
ile_pa h = './{ olde }/{ ile.name}'
wi h open( ile_pa h, 'wb') as :
.w i e( ile.ge alue())
e u n ile_pa h
@s .spinne ('Analizando documen os..')
#En es e mé odo con igu amos los dis in os componen es de nues o asis en e -
-> cadena de pensamien o
de se up_qa_chain(sel ,memo y):
# C eamos los embeddings and gua damos en ec o db
embeddings = Azu eOpenAIEmbeddings(azu e_deploymen ="gp -embedding",
openai_api_ e sion="2023-05-15")
# ec o db = Pinecone. om_documen s(docs, embeddings,
index_name=index_name,namespace = 'DEMO-Asis en eHo se')
ec o db = Pinecone. om_exis ing_index(index_name=index_name,
embedding=embeddings, namespace="Na igAI o -Recomendado LLM")
# De ine e ie e --> Recupe a la in o mación
e ie e = ec o db.as_ e ie e (
sea ch_ ype='mm ',
sea ch_kwa gs={'k':8, ' e ch_k':8}
)
# De inimos la memo ia pa a que la con e sación enga con ex o
memo y = Con e sa ionBu e Memo y(