Immagine dell'editore
I Large Language Models (LLM) come GPT-3 di OpenAI, BERT di Google e LLaMA di Meta stanno rivoluzionando vari settori con la loro capacità di generare un'ampia gamma di testi, dai testi di marketing e dagli script di data science alla poesia.
Anche se oggi l'interfaccia intuitiva di ChatGPT è riuscita a essere presente sui dispositivi della maggior parte delle persone, esiste ancora un vasto panorama di potenziale non sfruttato per l'utilizzo degli LLM in diverse integrazioni software.
Il problema principale?
La maggior parte delle applicazioni richiede una comunicazione più fluida e nativa con i LLM.
Ed è proprio qui che entra in gioco LangChain!
Se sei interessato all'intelligenza artificiale generativa e ai LLM, questo tutorial è fatto su misura per te.
Quindi iniziamo!
Nel caso in cui tu abbia vissuto in una grotta e non hai ricevuto notizie ultimamente, spiegherò brevemente i modelli linguistici di grandi dimensioni o LLM.
Un LLM è un sofisticato sistema di intelligenza artificiale costruito per imitare la comprensione e la generazione di testi di tipo umano. Addestrandosi su enormi set di dati, questi modelli discernono modelli complessi, colgono le sottigliezze linguistiche e producono risultati coerenti.
Se ti chiedi come interagire con questi modelli basati sull'intelligenza artificiale, ci sono due modi principali per farlo:
- Il modo più comune e diretto è parlare o chattare con la modella. Si tratta di creare un prompt, inviarlo al modello basato sull'intelligenza artificiale e ottenere un output basato su testo come risposta.
- Un altro metodo sta convertendo il testo in matrici numeriche. Questo processo prevede la composizione di un prompt per l'IA e la ricezione di un array numerico in cambio. Ciò che è comunemente noto come “embedding”. Ha sperimentato un recente aumento dei database vettoriali e della ricerca semantica.
E sono proprio questi due problemi principali che LangChain cerca di affrontare. Se sei interessato ai principali problemi di interazione con i LLM, puoi consultare questo articolo qui.
LangChain è un framework open source costruito attorno ai LLM. Offre un arsenale di strumenti, componenti e interfacce che semplificano l'architettura delle applicazioni basate su LLM.
Con LangChain, interagire con modelli linguistici, collegare diversi componenti e incorporare risorse come API e database diventa un gioco da ragazzi. Questo framework intuitivo semplifica sostanzialmente il percorso di sviluppo delle applicazioni LLM.
L'idea centrale della Long Chain è che possiamo connettere insieme diversi componenti o moduli, noti anche come catene, per creare soluzioni più sofisticate basate sul LLM.
Ecco alcune caratteristiche distintive di LangChain:
- Modelli di prompt personalizzabili per standardizzare le nostre interazioni.
- Componenti di maglie di catena su misura per casi d'uso sofisticati.
- Integrazione perfetta con i principali modelli linguistici, inclusi i GPT di OpenAI e quelli di HuggingFace Hub.
- Componenti modulari per un approccio mix-and-match per valutare qualsiasi problema o attività specifica.
Immagine dell'autore
LangChain si distingue per la sua attenzione all'adattabilità e al design modulare.
L'idea principale alla base di LangChain è suddividere la sequenza di elaborazione del linguaggio naturale in singole parti, consentendo agli sviluppatori di personalizzare i flussi di lavoro in base alle loro esigenze.
Tale versatilità posiziona LangChain come la scelta principale per la creazione di soluzioni di intelligenza artificiale in diverse situazioni e settori.
Alcuni dei suoi componenti più importanti sono...
Immagine dell'autore
1. LLM
Gli LLM sono componenti fondamentali che sfruttano grandi quantità di dati di addestramento per comprendere e generare testo simile a quello umano. Sono al centro di molte operazioni all'interno di LangChain, fornendo le capacità di elaborazione del linguaggio necessarie per analizzare, interpretare e rispondere all'input di testo.
Uso: Potenziare i chatbot, generare testo simile a quello umano per varie applicazioni, aiutare nel recupero delle informazioni ed eseguire altre elaborazioni linguistiche
2. Modelli di prompt
I suggerimenti sono fondamentali per interagire con LLM e quando si lavora su compiti specifici, la loro struttura tende ad essere simile. I modelli di prompt, ovvero prompt preimpostati utilizzabili in catene, consentono la standardizzazione dei “prompt” aggiungendo valori specifici. Ciò migliora l'adattabilità e la personalizzazione di qualsiasi LLM.
Uso: Standardizzare il processo di interazione con i LLM.
3. Parser di output
I parser di output sono componenti che prendono l'output grezzo da una fase precedente della catena e lo convertono in un formato strutturato. Questi dati strutturati possono quindi essere utilizzati in modo più efficace nelle fasi successive o forniti come risposta all'utente finale.
Uso: Ad esempio, in un chatbot, un parser di output potrebbe prendere la risposta testuale grezza da un modello linguistico, estrarre informazioni chiave e formattarle in una risposta strutturata.
4. Componenti e catene
In LangChain, ciascun componente funge da modulo responsabile di un particolare compito nella sequenza di elaborazione del linguaggio. Questi componenti possono essere collegati al modulo Catene per flussi di lavoro personalizzati.
Uso: Generazione di catene di rilevamento del sentiment e di generazione di risposte in un chatbot specifico.
5. Memoria
La memoria in LangChain si riferisce a un componente che fornisce un meccanismo di archiviazione e recupero delle informazioni all'interno di un flusso di lavoro. Questo componente consente l'archiviazione temporanea o persistente di dati a cui è possibile accedere e manipolare da altri componenti durante l'interazione con LLM.
Uso: Ciò è utile negli scenari in cui i dati devono essere conservati nelle diverse fasi dell'elaborazione, ad esempio, archiviando la cronologia delle conversazioni in un chatbot per fornire risposte sensibili al contesto.
6. Agenti
Gli agenti sono componenti autonomi in grado di intraprendere azioni in base ai dati che elaborano. Possono interagire con altri componenti, sistemi esterni o utenti per eseguire attività specifiche all'interno di un flusso di lavoro LangChain.
Uso: Ad esempio, un agente potrebbe gestire le interazioni degli utenti, elaborare le richieste in arrivo e coordinare il flusso di dati attraverso la catena per generare risposte appropriate.
7. Indici e recuperatori
Gli indici e i recuperatori svolgono un ruolo cruciale nella gestione e nell'accesso efficiente ai dati. Gli indici sono strutture di dati che contengono informazioni e metadati dai dati di training del modello. D'altra parte, i retriever sono meccanismi che interagiscono con questi indici per recuperare dati rilevanti in base a criteri specifici e consentire al modello di rispondere meglio fornendo il contesto rilevante.
Uso: Sono fondamentali per recuperare rapidamente dati o documenti rilevanti da un set di dati di grandi dimensioni, il che è essenziale per attività come il recupero di informazioni o la risposta a domande.
8. Trasformatori di documenti
In LangChain, i Document Transformers sono componenti specializzati progettati per elaborare e trasformare i documenti in modo da renderli adatti per ulteriori analisi o elaborazioni. Queste trasformazioni possono includere attività come la normalizzazione del testo, l'estrazione di funzionalità o la conversione del testo in un formato diverso.
Uso: Preparazione dei dati di testo per le successive fasi di elaborazione, come l'analisi mediante modelli di apprendimento automatico o l'indicizzazione per un recupero efficiente.
9. Incorporamento di modelli
Sono utilizzati per convertire i dati di testo in vettori numerici in uno spazio ad alta dimensione. Questi modelli catturano le relazioni semantiche tra parole e frasi, consentendo una rappresentazione leggibile dalla macchina. Costituiscono la base per varie attività di elaborazione del linguaggio naturale (NLP) a valle all'interno dell'ecosistema LangChain.
Uso: Facilitare ricerche semantiche, confronti di similarità e altre attività di apprendimento automatico fornendo una rappresentazione numerica del testo.
10. Negozi di vettori
Tipo di sistema di database specializzato nell'archiviazione e nella ricerca di informazioni tramite incorporamenti, analizzando essenzialmente rappresentazioni numeriche di dati simili a testo. VectorStore funge da struttura di archiviazione per questi incorporamenti.
Uso: Consentire una ricerca efficiente basata sulla somiglianza semantica.
Installandolo utilizzando PIP
La prima cosa che dobbiamo fare è assicurarci di avere LangChain installato nel nostro ambiente.
pip install langchain
Configurazione dell'ambiente
Utilizzare LangChain in genere significa integrarsi con diversi fornitori di modelli, archivi dati, API e altri componenti. E come già sai, come ogni integrazione, fornire le chiavi API pertinenti e corrette è fondamentale per il funzionamento di LangChain.
Immagina di voler utilizzare la nostra API OpenAI. Possiamo farlo facilmente in due modi:
- Impostazione della chiave come variabile di ambiente
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Se scegli di non stabilire una variabile di ambiente, hai la possibilità di fornire la chiave direttamente tramite il parametro denominato openai_api_key quando avvii la classe OpenAI LLM:
- Configura direttamente la chiave nella classe interessata.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Il passaggio da un LLM all'altro diventa semplice
LangChain fornisce una classe LLM che ci consente di interagire con diversi fornitori di modelli linguistici, come OpenAI e Hugging Face.
È abbastanza semplice iniziare con qualsiasi LLM, poiché la funzionalità più basilare e più facile da implementare di qualsiasi LLM è semplicemente la generazione di testo.
Tuttavia, chiedere lo stesso suggerimento a diversi LLM contemporaneamente non è così semplice.
È qui che entra in gioco LangChain...
Tornando alla funzionalità più semplice di qualsiasi LLM, possiamo facilmente creare un'applicazione con LangChain che riceve una stringa di richiesta e restituisce l'output del nostro LLM designato.
Codice per autore
Possiamo semplicemente utilizzare lo stesso prompt e ottenere la risposta di due modelli diversi in poche righe di codice!
Codice per autore
Impressionante... vero?
Dare struttura ai nostri prompt con modelli di prompt
Un problema comune con i modelli linguistici (LLM) è la loro incapacità di eseguire l'escalation di applicazioni complesse. LangChain affronta questo problema offrendo una soluzione per semplificare il processo di creazione dei suggerimenti, che spesso è più complesso della semplice definizione di un'attività poiché richiede di delineare la personalità dell'IA e garantire l'accuratezza fattuale. Una parte significativa di ciò riguarda testo standard ripetitivo. LangChain allevia questo problema offrendo modelli di prompt, che includono automaticamente il testo standard nei nuovi prompt, semplificando così la creazione di prompt e garantendo coerenza tra le diverse attività.
Codice per autore
Ottenere risposte strutturate con parser di output
Nelle interazioni basate sulla chat, l'output del modello è semplicemente testo. Tuttavia, all'interno delle applicazioni software, è preferibile avere un output strutturato in quanto consente ulteriori azioni di programmazione. Ad esempio, quando si genera un set di dati, si desidera ricevere la risposta in un formato specifico come CSV o JSON. Supponendo che sia possibile creare un prompt per suscitare una risposta coerente e opportunamente formattata da parte dell'intelligenza artificiale, sono necessari strumenti per gestire questo output. LangChain soddisfa questo requisito offrendo strumenti di analisi dell'output per gestire e utilizzare l'output strutturato in modo efficace.
Codice per autore
Puoi andare a controllare l'intero codice sul mio GitHub.
Non molto tempo fa, le funzionalità avanzate di ChatGPT ci lasciavano a bocca aperta. Tuttavia, l’ambiente tecnologico è in continua evoluzione e ora strumenti come LangChain sono a portata di mano, permettendoci di realizzare prototipi eccezionali dai nostri personal computer in poche ore.
LangChain, una piattaforma Python disponibile gratuitamente, fornisce agli utenti un mezzo per sviluppare applicazioni ancorate da LLM (Language Model Models). Questa piattaforma offre un'interfaccia flessibile a una varietà di modelli fondamentali, semplificando la gestione dei prompt e fungendo da nesso per elementi come modelli di prompt, più LLM, informazioni esterne e altre risorse tramite agenti, come indicato nella documentazione corrente.
Immagina chatbot, assistenti digitali, strumenti di traduzione linguistica e utilità di analisi del sentiment; tutte queste applicazioni abilitate per LLM prendono vita con LangChain. Gli sviluppatori utilizzano questa piattaforma per creare soluzioni di modelli linguistici personalizzati in grado di soddisfare requisiti distinti.
Man mano che l’orizzonte dell’elaborazione del linguaggio naturale si espande e la sua adozione si approfondisce, il regno delle sue applicazioni sembra sconfinato.
Giuseppe Ferrer è un ingegnere analitico di Barcellona. Laureato in ingegneria fisica, attualmente lavora nel campo della Data Science applicata alla mobilità umana. È un creatore di contenuti part-time focalizzato sulla scienza e la tecnologia dei dati. Puoi contattarlo su LinkedIn, Twitter or Medio.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://www.kdnuggets.com/how-to-make-large-language-models-play-nice-with-your-software-using-langchain?utm_source=rss&utm_medium=rss&utm_campaign=how-to-make-large-language-models-play-nice-with-your-software-using-langchain
- :ha
- :È
- :non
- :Dove
- $ SU
- 7
- a
- capacità
- accessibile
- Accedendo
- realizzare
- precisione
- operanti in
- recitazione
- azioni
- atti
- l'aggiunta di
- indirizzo
- indirizzi
- indirizzamento
- Adozione
- Avanzate
- Agente
- agenti
- fa
- AI
- AI-alimentato
- Tutti
- consentire
- Consentire
- consente
- già
- anche
- tra
- importi
- an
- .
- analitica
- analizzare
- l'analisi
- ancorato
- ed
- in qualsiasi
- api
- API
- Applicazioni
- Sviluppo di applicazioni
- applicazioni
- applicato
- approccio
- opportuno
- architettura
- SONO
- in giro
- Italia
- Arsenal
- articolo
- artificiale
- intelligenza artificiale
- AS
- chiedendo
- valutare
- Attività
- assistenti
- At
- autonomo
- disponibile
- SOGGEZIONE
- precedente
- Barcellona
- basato
- basic
- BE
- diventare
- diventa
- stato
- dietro
- Meglio
- fra
- Illimitato
- Rottura
- brevemente
- Porta
- costruire
- Costruzione
- costruito
- by
- Materiale
- funzionalità
- capace
- catturare
- Custodie
- casi
- Dedicato
- grotta
- catena
- Catene
- chatbot
- chatbots
- ChatGPT
- chat
- dai un'occhiata
- scegliere
- Scegli
- classe
- codice
- COERENTE
- Venire
- Uncommon
- comunemente
- Comunicazione
- confronto
- complesso
- componente
- componenti
- computer
- Connettiti
- collegato
- coerente
- contatti
- contenuto
- contesto
- Conversazione
- Conversione
- convertire
- conversione
- coordinare
- Nucleo
- correggere
- artigianali
- artigianale
- creare
- Creazione
- creazione
- Creatore
- criteri
- cruciale
- Corrente
- Attualmente
- personalizzazione
- personalizzare
- personalizzate
- dati
- scienza dei dati
- set di dati
- Banca Dati
- banche dati
- si approfondisce
- definizione
- consegnato
- fornisce un monitoraggio
- Design
- designato
- progettato
- desiderato
- rivelazione
- sviluppare
- sviluppatori
- Mercato
- dispositivi
- diverso
- digitale
- dirette
- direttamente
- discernere
- distinto
- Distinto
- paesaggio differenziato
- do
- documento
- documentazione
- documenti
- giù
- durante
- ogni
- più semplice
- facilmente
- facile
- ecosistema
- in maniera efficace
- efficiente
- in modo efficiente
- elementi
- incorporamento
- consentendo
- fine
- impegnandosi
- ingegnere
- Ingegneria
- Migliora
- enorme
- assicurando
- Ambiente
- degenerare
- essential
- essenzialmente
- stabilire
- Etere (ETH)
- in continua evoluzione
- esempio
- espande
- esperto
- Spiegare
- esterno
- estratto
- estrazione
- Faccia
- Facility
- Factual
- caratteristica
- Caratteristiche
- pochi
- campo
- punta delle dita
- Nome
- flessibile
- flusso
- fluido
- Focus
- concentrato
- Nel
- modulo
- formato
- Fondazione
- Fondamentale
- Contesto
- liberamente
- da
- funzionalità
- fondamentale
- ulteriormente
- generare
- la generazione di
- ELETTRICA
- generativo
- AI generativa
- generatore
- ottenere
- ottenere
- Go
- afferrala
- cura
- maniglia
- Manovrabilità
- Avere
- avendo
- he
- lui
- storia
- possesso
- orizzonte
- ORE
- Come
- Tutorial
- HTTPS
- Hub
- abbracciare il viso
- umano
- MALATO
- idea
- if
- importare
- importante
- in
- incapacità
- includere
- Compreso
- In arrivo
- incorporando
- indici
- individuale
- industrie
- informazioni
- avviando
- ingresso
- install
- esempio
- strumentale
- Integrazione
- integrazione
- integrazioni
- Intelligence
- interagire
- si interagisce
- interazione
- interazioni
- interessato
- Interfaccia
- interfacce
- interconnessione
- ai miglioramenti
- intricato
- intuitivo
- comporta
- problema
- IT
- SUO
- viaggio
- json
- ad appena
- KDnuggets
- Le
- Tasti
- Kicks
- Sapere
- conosciuto
- paesaggio
- Lingua
- grandi
- principale
- apprendimento
- a sinistra
- Leva
- Vita
- piace
- Linee
- LINK
- vita
- Lama
- Lunghi
- macchina
- machine learning
- Principale
- make
- FA
- gestire
- gestito
- gestione
- manipolata
- molti
- Marketing
- Maggio..
- si intende
- meccanismo
- meccanismi di
- semplicemente
- Metadati
- metodo
- forza
- mobilità
- modello
- modelli
- componibile
- modulo
- moduli
- Scopri di più
- maggior parte
- my
- Detto
- nativo
- Naturale
- Linguaggio naturale
- Elaborazione del linguaggio naturale
- necessaria
- Bisogno
- esigenze
- New
- notizie
- connessione
- bello
- nlp
- adesso
- of
- offerta
- di frequente
- on
- una volta
- open source
- OpenAI
- operazione
- Operazioni
- Opzione
- or
- OS
- Altro
- nostro
- delineando
- produzione
- uscite
- eccezionale
- parametro
- parte
- particolare
- Ricambi
- modelli
- Persone
- eseguire
- esecuzione
- cronologia
- Computer personale
- Frasi
- Fisica
- pezzi
- piattaforma
- Platone
- Platone Data Intelligence
- PlatoneDati
- Giocare
- Poesia
- posizioni
- potenziale
- precisamente
- preferibile
- premio
- Problema
- problemi
- processi
- lavorazione
- produrre
- Programmazione
- istruzioni
- prototipi
- fornire
- fornitori
- fornisce
- fornitura
- Python
- domanda
- rapidamente
- abbastanza
- Crudo
- regno
- ricevente
- recente
- si riferisce
- Relazioni
- pertinente
- ripetitivo
- rispondere
- rappresentazione
- richieste
- richiedere
- requisito
- Requisiti
- richiede
- Risorse
- Rispondere
- risposta
- risposte
- responsabile
- mantenuto
- ritorno
- problemi
- rivoluzionando
- destra
- Ruolo
- s
- stesso
- Scenari
- Scienze
- Scienza e Tecnologia
- script
- Cerca
- Ricerche
- Settori
- sembra
- invio
- sentimento
- Sequenza
- serve
- set
- Set
- regolazione
- significativa
- simile
- semplifica
- semplificando
- semplicemente
- situazioni
- So
- Software
- soluzione
- Soluzioni
- alcuni
- sofisticato
- lo spazio
- specializzata
- specializzata
- specifico
- specificato
- Stage
- tappe
- standardizzazione
- iniziato
- Ancora
- conservazione
- Tornare al suo account
- negozi
- snellire
- razionalizzazione
- Corda
- La struttura
- strutturato
- strutture
- successivo
- sostanzialmente
- tale
- adatto
- fornitura
- sicuro
- ondata
- sistema
- SISTEMI DI TRATTAMENTO
- tavolo
- su misura
- Fai
- presa
- parlando
- Task
- task
- tecnologico
- Tecnologia
- modelli
- temporaneo
- tende
- testo
- testuale
- di
- che
- Il
- loro
- Li
- poi
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- cosa
- questo
- quelli
- anche se?
- Attraverso
- così
- a
- oggi
- insieme
- strumenti
- Training
- Trasformare
- trasformazioni
- trasformatori
- Traduzione
- lezione
- seconda
- tipicamente
- capire
- e una comprensione reciproca
- non sfruttato
- us
- utilizzabile
- uso
- utilizzato
- Utente
- utenti
- utilizzando
- utilità
- utilizzare
- Valori
- variabile
- varietà
- vario
- Fisso
- versatilità
- molto
- via
- volere
- Modo..
- modi
- we
- Che
- Che cosa è l'
- quando
- quale
- tutto
- largo
- con
- entro
- meraviglia
- parole
- flusso di lavoro
- flussi di lavoro
- lavoro
- ancora
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro