Imagine de editor
Modelele de limbaj mari (LLM) precum GPT-3 de la OpenAI, BERT de la Google și LLaMA de la Meta revoluționează diferite sectoare cu capacitatea lor de a genera o gamă largă de text?—?de la scripturi de marketing și știință a datelor până la poezie.
Chiar dacă interfața intuitivă a ChatGPT a reușit să fie în dispozitivele majorității oamenilor de astăzi, există încă un peisaj vast de potențial neexploatat pentru utilizarea LLM-urilor în diverse integrări software.
Problema principala?
Majoritatea aplicațiilor necesită o comunicare mai fluidă și nativă cu LLM-urile.
Și tocmai aici intervine LangChain!
Dacă sunteți interesat de IA generativă și LLM, acest tutorial este personalizat pentru dvs.
Asadar, hai sa incepem!
În cazul în care ați locuit într-o peșteră și nu ați primit nicio veste în ultima vreme, vă voi explica pe scurt Modelele de limbaj mari sau LLM-urile.
Un LLM este un sistem sofisticat de inteligență artificială construit pentru a imita înțelegerea și generarea textuală asemănătoare omului. Prin antrenamentul pe seturi enorme de date, aceste modele discern modele complicate, înțeleg subtilitățile lingvistice și produc rezultate coerente.
Dacă vă întrebați cum să interacționați cu aceste modele bazate pe inteligență artificială, există două moduri principale de a face acest lucru:
- Cea mai comună și directă modalitate este de a vorbi sau de a discuta cu modelul. Aceasta implică elaborarea unui prompt, trimiterea acestuia către modelul alimentat de AI și obținerea unei rezultate bazate pe text ca răspuns.
- O altă metodă este conversia textului în matrice numerice. Acest proces implică alcătuirea unui prompt pentru AI și primirea în schimb a unei matrice numerice. Ceea ce este cunoscut în mod obișnuit ca „încorporare”. A cunoscut o creștere recentă a bazelor de date vectoriale și a căutării semantice.
Și tocmai aceste două probleme principale încearcă să le abordeze LangChain. Dacă sunteți interesat de principalele probleme ale interacțiunii cu LLM-urile, puteți consulta acest articol aici.
LangChain este un cadru open-source construit în jurul LLM-urilor. Acesta aduce la masă un arsenal de instrumente, componente și interfețe care eficientizează arhitectura aplicațiilor bazate pe LLM.
Cu LangChain, interacțiunea cu modele de limbaj, interconectarea diverselor componente și încorporarea de active precum API-uri și baze de date devin o briză. Acest cadru intuitiv simplifică substanțial călătoria de dezvoltare a aplicațiilor LLM.
Ideea de bază a Long Chain este că putem conecta împreună diferite componente sau module, cunoscute și sub numele de lanțuri, pentru a crea soluții mai sofisticate bazate pe LLM.
Iată câteva caracteristici remarcabile ale LangChain:
- Șabloane de prompt personalizabile pentru a standardiza interacțiunile noastre.
- Componente de zale de lanț adaptate pentru cazuri de utilizare sofisticate.
- Integrare perfectă cu modelele de limbaj de vârf, inclusiv GPT-urile OpenAI și cele de pe HuggingFace Hub.
- Componente modulare pentru o abordare mix-and-match pentru a evalua orice problemă sau sarcină specifică.
Imagine de autor
LangChain se distinge prin concentrarea pe adaptabilitate și design modular.
Ideea principală din spatele LangChain este împărțirea secvenței de procesare a limbajului natural în părți individuale, permițând dezvoltatorilor să personalizeze fluxurile de lucru în funcție de cerințele lor.
O astfel de versatilitate poziționează LangChain ca alegere principală pentru construirea de soluții AI în diferite situații și industrii.
Unele dintre cele mai importante componente ale sale sunt...
Imagine de autor
1. LLMs
LLM-urile sunt componente fundamentale care folosesc cantități mari de date de instruire pentru a înțelege și a genera text asemănător omului. Ele se află în centrul multor operațiuni din LangChain, oferind capabilitățile necesare de procesare a limbajului pentru a analiza, interpreta și răspunde la introducerea textului.
Utilizare: Alimentarea chatbot-urilor, generarea de text asemănător unui om pentru diverse aplicații, ajutând la regăsirea informațiilor și efectuarea de procesare a altor limbi
2. Șabloane prompte
Solicitările sunt fundamentale pentru interacțiunea cu LLM, iar atunci când lucrați la sarcini specifice, structura lor tinde să fie similară. Șabloanele de solicitări, care sunt solicitări prestabilite utilizabile în lanțuri, permit standardizarea „prompturilor” prin adăugarea unor valori specifice. Acest lucru îmbunătățește adaptabilitatea și personalizarea oricărui LLM.
Utilizare: Standardizarea procesului de interacțiune cu LLM.
3. Analizoare de ieșire
Analizatoarele de ieșire sunt componente care preiau rezultatul brut dintr-o etapă anterioară a lanțului și o convertesc într-un format structurat. Aceste date structurate pot fi apoi utilizate mai eficient în etapele ulterioare sau livrate ca răspuns utilizatorului final.
Utilizare: De exemplu, într-un chatbot, un parser de ieșire poate prelua răspunsul text brut dintr-un model de limbă, extrage informații cheie și le poate forma într-un răspuns structurat.
4. Componente și lanțuri
În LangChain, fiecare componentă acționează ca un modul responsabil pentru o anumită sarcină din secvența de procesare a limbajului. Aceste componente pot fi conectate la forma lanţuri pentru fluxuri de lucru personalizate.
Utilizare: Generarea de lanțuri de detectare a sentimentelor și generatoare de răspuns într-un anumit chatbot.
5. Memorie
Memoria din LangChain se referă la o componentă care oferă un mecanism de stocare și recuperare a informațiilor într-un flux de lucru. Această componentă permite stocarea temporară sau persistentă a datelor care pot fi accesate și manipulate de alte componente în timpul interacțiunii cu LLM.
Utilizare: Acest lucru este util în scenariile în care datele trebuie reținute în diferite etape de procesare, de exemplu, stocarea istoricului conversațiilor într-un chatbot pentru a oferi răspunsuri conștient de context.
6. Agenți
Agenții sunt componente autonome capabile să întreprindă acțiuni pe baza datelor pe care le prelucrează. Ei pot interacționa cu alte componente, sisteme externe sau utilizatori, pentru a efectua sarcini specifice în cadrul unui flux de lucru LangChain.
Utilizare: De exemplu, un agent poate gestiona interacțiunile utilizatorilor, procesa cererile primite și poate coordona fluxul de date prin lanț pentru a genera răspunsuri adecvate.
7. Indici și Retrievers
Indexii și Retrievers joacă un rol crucial în gestionarea și accesarea eficientă a datelor. Indicii sunt structuri de date care dețin informații și metadate din datele de antrenament ale modelului. Pe de altă parte, retriever-urile sunt mecanisme care interacționează cu acești indici pentru a obține date relevante pe baza unor criterii specificate și permit modelului să răspundă mai bine furnizând context relevant.
Utilizare: Acestea sunt esențiale în preluarea rapidă a datelor sau a documentelor relevante dintr-un set de date mare, ceea ce este esențial pentru sarcini precum regăsirea informațiilor sau răspunsul la întrebări.
8. Transformatori de documente
În LangChain, Document Transformers sunt componente specializate concepute pentru a procesa și transforma documentele într-un mod care le face potrivite pentru analiză sau procesare ulterioară. Aceste transformări pot include sarcini precum normalizarea textului, extragerea de caracteristici sau conversia textului într-un format diferit.
Utilizare: Pregătirea datelor text pentru etapele ulterioare de procesare, cum ar fi analiza prin modele de învățare automată sau indexarea pentru o recuperare eficientă.
9. Modele de încorporare
Ele sunt folosite pentru a converti datele text în vectori numerici într-un spațiu de dimensiuni mari. Aceste modele surprind relațiile semantice dintre cuvinte și expresii, permițând o reprezentare care poate fi citită de mașină. Ele formează baza pentru diferite sarcini de procesare a limbajului natural (NLP) din aval în cadrul ecosistemului LangChain.
Utilizare: Facilitarea căutărilor semantice, comparații de similaritate și alte sarcini de învățare automată prin furnizarea unei reprezentări numerice a textului.
10. Magazine Vector
Tip de sistem de baze de date specializat în stocarea și căutarea informațiilor prin încorporare, analizând în esență reprezentări numerice ale datelor de tip text. VectorStore servește ca o unitate de depozitare pentru aceste înglobări.
Utilizare: Permiterea unei căutări eficiente bazate pe asemănarea semantică.
Instalarea acestuia folosind PIP
Primul lucru pe care trebuie să-l facem este să ne asigurăm că avem LangChain instalat în mediul nostru.
pip install langchain
Configurarea mediului
Utilizarea LangChain înseamnă de obicei integrarea cu diverși furnizori de modele, magazine de date, API-uri, printre alte componente. Și după cum știți deja, ca orice integrare, furnizarea cheilor API relevante și corecte este crucială pentru funcționarea LangChain.
Imaginați-vă că vrem să folosim API-ul nostru OpenAI. Putem realiza cu ușurință acest lucru în două moduri:
- Configurarea cheii ca variabilă de mediu
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Dacă alegeți să nu stabiliți o variabilă de mediu, aveți opțiunea de a furniza cheia direct prin parametrul denumit openai_api_key la inițierea clasei OpenAI LLM:
- Configurați direct cheia în clasa relevantă.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Comutarea între cursurile LLM devine simplă
LangChain oferă o clasă LLM care ne permite să interacționăm cu diferiți furnizori de modele de limbă, cum ar fi OpenAI și Hugging Face.
Este destul de ușor să începeți cu orice LLM, deoarece cea mai simplă și mai ușor de implementat funcționalitate a oricărui LLM este doar generarea de text.
Cu toate acestea, nu este atât de ușor să ceri același prompt către diferite LLM simultan.
Aici intervine LangChain...
Revenind la cea mai simplă funcționalitate a oricărui LLM, putem construi cu ușurință o aplicație cu LangChain care primește un prompt și returnează rezultatul LLM-ului nostru desemnat.
Cod de autor
Putem folosi pur și simplu același prompt și obținem răspunsul a două modele diferite în câteva rânduri de cod!
Cod de autor
Impresionant... nu?
Oferim structură solicitărilor noastre cu șabloane de prompt
O problemă comună cu modelele de limbaj (LLM) este incapacitatea acestora de a escalada aplicațiile complexe. LangChain abordează acest lucru oferind o soluție pentru eficientizarea procesului de creare a solicitărilor, care este adesea mai complicat decât definirea unei sarcini, deoarece necesită conturarea personalității AI și asigurarea acurateței faptelor. O parte semnificativă a acestui lucru implică text repetitiv. LangChain ameliorează acest lucru oferind șabloane de prompt, care includ automat textul standard în noile solicitări, simplificând astfel crearea promptului și asigurând coerența în diferite sarcini.
Cod de autor
Obținerea de răspunsuri structurate cu analizoare de ieșire
În interacțiunile bazate pe chat, rezultatul modelului este doar text. Cu toate acestea, în cadrul aplicațiilor software, este de preferat să aveți o ieșire structurată, deoarece permite acțiuni de programare ulterioare. De exemplu, atunci când se generează un set de date, se dorește primirea răspunsului într-un format specific, cum ar fi CSV sau JSON. Presupunând că un prompt poate fi creat pentru a obține un răspuns consistent și formatat corespunzător din partea AI, este nevoie de instrumente pentru a gestiona această ieșire. LangChain satisface această cerință oferind instrumente de analiză de ieșire pentru a gestiona și utiliza eficient rezultatul structurat.
Cod de autor
Puteți verifica întregul cod pe mine GitHub.
Nu cu mult timp în urmă, capabilitățile avansate ale ChatGPT ne-au lăsat uimiți. Cu toate acestea, mediul tehnologic este în continuă schimbare, iar acum instrumente precum LangChain sunt la îndemâna noastră, permițându-ne să creăm prototipuri remarcabile de pe computerele noastre personale în doar câteva ore.
LangChain, o platformă Python disponibilă gratuit, oferă utilizatorilor un mijloc de a dezvolta aplicații ancorate de LLM (Language Model Models). Această platformă oferă o interfață flexibilă pentru o varietate de modele de bază, simplificând gestionarea promptă și acționând ca o legătură pentru elemente precum șabloane de prompt, mai multe LLM-uri, informații externe și alte resurse prin agenți, conform documentației curente.
Imaginați-vă chatbot, asistenți digitali, instrumente de traducere a limbii și utilitare de analiză a sentimentelor; toate aceste aplicații compatibile cu LLM prind viață cu LangChain. Dezvoltatorii folosesc această platformă pentru a crea soluții de model lingvistic personalizate, care abordează cerințe distincte.
Pe măsură ce orizontul prelucrării limbajului natural se extinde, iar adoptarea sa se adâncește, domeniul aplicațiilor sale pare nelimitat.
Josep Ferrer este inginer analitic din Barcelona. A absolvit inginerie fizică și lucrează în prezent în domeniul Data Science aplicat mobilității umane. El este un creator de conținut part-time axat pe știința și tehnologia datelor. Îl poți contacta pe LinkedIn, Twitter or Mediu.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: 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
- :are
- :este
- :nu
- :Unde
- $UP
- 7
- a
- capacitate
- accesate
- accesarea
- realiza
- precizie
- peste
- actorie
- acțiuni
- Acte
- adăugare
- adresa
- adrese
- adresare
- Adoptare
- avansat
- Agent
- agenţi
- în urmă
- AI
- AI-alimentat
- TOATE
- permite
- Permiterea
- permite
- deja
- de asemenea
- printre
- Sume
- an
- analiză
- Google Analytics
- analiza
- analiza
- ancorat
- și
- Orice
- api
- API-uri
- aplicație
- Dezvoltare de Aplicații
- aplicatii
- aplicat
- abordare
- adecvat
- arhitectură
- SUNT
- în jurul
- Mulțime
- Arsenal
- articol
- artificial
- inteligență artificială
- AS
- solicitând
- evalua
- Bunuri
- asistenți
- At
- autonom
- disponibil
- VENERAŢIE
- înapoi
- Barcelona
- bazat
- de bază
- BE
- deveni
- devine
- fost
- în spatele
- Mai bine
- între
- Fără margini
- Breaking
- scurt
- Aduce
- construi
- Clădire
- construit
- by
- CAN
- capacități
- capabil
- captura
- caz
- cazuri
- satisface
- peşteră
- lanţ
- lanţuri
- chatbot
- chatbots
- Chat GPT
- chat
- verifica
- alegere
- Alege
- clasă
- cod
- COERENT
- cum
- Comun
- în mod obișnuit
- Comunicare
- comparații
- complex
- component
- componente
- Calculatoare
- Conectați
- legat
- consistent
- contactați-ne
- conţinut
- context
- Conversație
- Convertire
- converti
- de conversie a
- coordona
- Nucleu
- corecta
- ambarcaţiunilor
- fabricat
- crea
- Crearea
- creaţie
- creator
- Criteriile de
- crucial
- Curent
- În prezent
- personalizare
- personaliza
- personalizate
- de date
- știința datelor
- seturi de date
- Baza de date
- baze de date
- se adâncește
- definire
- livrate
- Oferă
- Amenajări
- desemnat
- proiectat
- dorit
- Detectare
- dezvolta
- Dezvoltatorii
- Dezvoltare
- Dispozitive
- diferit
- digital
- direcționa
- direct
- discerne
- distinct
- Distins
- diferit
- do
- document
- documentaţie
- documente
- jos
- în timpul
- fiecare
- Cel mai simplu
- cu ușurință
- uşor
- ecosistem
- în mod eficient
- eficient
- eficient
- element
- Încorporarea
- permițând
- capăt
- captivant
- inginer
- Inginerie
- Îmbunătăţeşte
- enorm
- asigurare
- Mediu inconjurator
- escalada
- esenţial
- În esență,
- stabili
- Eter (ETH)
- mereu în schimbare
- exemplu
- se extinde
- cu experienţă
- Explica
- extern
- extrage
- extracţie
- Față
- Facilitate
- faptic
- Caracteristică
- DESCRIERE
- puțini
- camp
- vârful degetelor
- First
- flexibil
- debit
- lichid
- Concentra
- concentrat
- Pentru
- formă
- format
- Fundație
- foundational
- Cadru
- în mod liber
- din
- funcționalitate
- fundamental
- mai mult
- genera
- generator
- generaţie
- generativ
- AI generativă
- generator
- obține
- obtinerea
- Go
- înţelege
- mână
- manipula
- Manipularea
- Avea
- având în
- he
- -l
- istorie
- deținere
- orizont
- ORE
- Cum
- Cum Pentru a
- HTTPS
- Butuc
- Față îmbrățișată
- uman
- BOLNAV
- idee
- if
- import
- important
- in
- incapacitate
- include
- Inclusiv
- Intrare
- care încorporează
- indexurile
- individ
- industrii
- informații
- inițierea
- intrare
- instala
- instanță
- instrumental
- integrarea
- integrare
- integrările
- Inteligență
- interacţiona
- interacționând
- interacţiune
- interacţiuni
- interesat
- interfaţă
- interfeţe
- interconectarea
- în
- complicat
- intuitiv
- implică
- problema
- IT
- ESTE
- călătorie
- JSON
- doar
- KDnuggets
- Cheie
- chei
- Kicks
- Cunoaște
- cunoscut
- peisaj
- limbă
- mare
- conducere
- învăţare
- stânga
- Pârghie
- Viaţă
- ca
- linii
- LINK
- viaţă
- Lamă
- Lung
- maşină
- masina de învățare
- Principal
- face
- FACE
- administra
- gestionate
- de conducere
- manipulat
- multe
- Marketing
- Mai..
- mijloace
- mecanism
- mecanisme
- pur și simplu
- Metadata
- metodă
- ar putea
- mobilitate
- model
- Modele
- modular
- modul
- Module
- mai mult
- cele mai multe
- my
- Numit
- nativ
- Natural
- Limbajul natural
- Procesarea limbajului natural
- necesar
- Nevoie
- nevoilor
- Nou
- ştiri
- legătură
- frumos
- nlp
- acum
- of
- oferind
- de multe ori
- on
- dată
- open-source
- OpenAI
- operaţie
- Operațiuni
- Opțiune
- or
- OS
- Altele
- al nostru
- conturând
- producție
- iesiri
- remarcabil
- parametru
- parte
- special
- piese
- modele
- oameni
- efectua
- efectuarea
- personal
- Calculatoare personale
- Expresii
- Fizică
- piese
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- Joaca
- Poezie
- poziţii
- potenţial
- tocmai
- de preferat
- Prim
- Problemă
- probleme
- proces
- prelucrare
- produce
- Programare
- solicitări
- prototipuri
- furniza
- furnizori
- furnizează
- furnizarea
- Piton
- întrebare
- repede
- cu totul
- Crud
- tărâm
- primire
- recent
- se referă
- Relaţii
- repetitiv
- răspuns
- reprezentare
- cereri de
- necesita
- cerință
- Cerinţe
- Necesită
- Resurse
- Răspunde
- răspuns
- răspunsuri
- responsabil
- reținut
- reveni
- Returnează
- Revoluţionare
- dreapta
- Rol
- s
- acelaşi
- scenarii
- Ştiinţă
- Ştiinţă şi Tehnologie
- script-uri
- Caută
- Cautari
- sectoare
- pare
- trimitere
- sentiment
- Secvenţă
- servește
- set
- Seturi
- instalare
- semnificativ
- asemănător
- Simplifică
- simplificarea
- pur şi simplu
- situații
- So
- Software
- soluţie
- soluţii
- unele
- sofisticat
- Spaţiu
- de specialitate
- specializată
- specific
- specificată
- Etapă
- Stadiile
- standardizare
- început
- Încă
- depozitare
- stoca
- magazine
- simplifica
- raționalizarea
- Şir
- structura
- structurat
- structurile
- ulterior
- substanţial
- astfel de
- potrivit
- furnizarea
- sigur
- apare
- sistem
- sisteme
- tabel
- adaptate
- Lua
- luare
- vorbesc
- Sarcină
- sarcini
- tehnologic
- Tehnologia
- şabloane
- temporar
- tinde
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- textual
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- Acestea
- ei
- lucru
- acest
- aceste
- deşi?
- Prin
- Prin urmare
- la
- astăzi
- împreună
- Unelte
- Pregătire
- Transforma
- transformări
- transformatoare
- Traducere
- tutorial
- Două
- tipic
- înţelege
- înţelegere
- neexploatat
- us
- utilizabil
- utilizare
- utilizat
- Utilizator
- utilizatorii
- folosind
- utilitati
- folosi
- Valori
- variabil
- varietate
- diverse
- Fixă
- versatilitate
- foarte
- de
- vrea
- Cale..
- modalități de
- we
- Ce
- Ce este
- cand
- care
- întreg
- larg
- cu
- în
- mirare
- cuvinte
- flux de lucru
- fluxuri de lucru
- de lucru
- încă
- tu
- Ta
- zephyrnet