stub Nullist täiustatud kiire inseneritöö Langchainiga Pythonis – Unite.AI
Ühenda meile

Kiire inseneritöö

Null kuni täiustatud kiire inseneritöö Langchainiga Pythonis

mm
Ajakohastatud on

Suurte keelemudelite (LLM) oluline aspekt on parameetrite arv, mida need mudelid õppimiseks kasutavad. Mida rohkem parameetreid mudelil on, seda paremini suudab see sõnade ja fraaside vahelist seost mõista. See tähendab, et miljardite parameetritega mudelid suudavad genereerida erinevaid loomingulisi tekstivorminguid ning vastata informatiivsel viisil avatud ja väljakutsuvatele küsimustele.

LLM-id, nagu ChatGPT, mis kasutavad Transformeri mudelit, oskavad inimkeelt mõista ja genereerida, muutes need kasulikuks rakenduste jaoks, mis nõuavad loomuliku keele mõistmist. Kuid need ei ole ilma piiranguteta, mille hulka kuuluvad muu hulgas aegunud teadmised, suutmatus suhelda väliste süsteemidega, konteksti mõistmise puudumine ja mõnikord usutavalt kõlavate, kuid ebaõigete või mõttetute vastuste genereerimine.

Nende piirangute kõrvaldamine nõuab LLM-ide integreerimist väliste andmeallikate ja võimalustega, mis võib tekitada keerukust ja nõuda ulatuslikke kodeerimis- ja andmetöötlusoskusi. See koos tehisintellekti kontseptsioonide ja keeruliste algoritmide mõistmise väljakutsetega aitab kaasa õppimiskõverale, mis on seotud LLM-e kasutavate rakenduste arendamisega.

Sellegipoolest võib LLM-ide integreerimine teiste tööriistadega LLM-põhiste rakenduste moodustamiseks meie digitaalset maastikku uuesti määratleda. Selliste rakenduste potentsiaal on tohutu, sealhulgas tõhususe ja tootlikkuse parandamine, ülesannete lihtsustamine, otsuste tegemise tõhustamine ja isikupärastatud kogemuste pakkumine.

Selles artiklis käsitleme neid probleeme sügavamalt, uurime Langchaini kiire inseneri täiustatud tehnikaid, pakkudes selgeid selgitusi, praktilisi näiteid ja samm-sammult juhiseid nende rakendamiseks.

Langchain, tipptasemel raamatukogu, pakub mugavust ja paindlikkust juhiste kujundamisel, rakendamisel ja häälestamisel. Lahti pakkides kiire inseneri põhimõtteid ja tavasid, saate teada, kuidas kasutada Langchaini võimsaid funktsioone, et kasutada ära SOTA Generative AI mudelite, nagu GPT-4, tugevaid külgi.

Viipade mõistmine

Enne kiire inseneritöö tehnilistesse aspektidesse sukeldumist on oluline mõista viipade mõistet ja nende tähtsust.

A 'kiire" on žetoonide jada, mida kasutatakse keelemudeli sisendina, andes käsu genereerida teatud tüüpi vastust. Viipadel on modelli käitumise juhtimisel ülioluline roll. Need võivad mõjutada loodud teksti kvaliteeti ja kui need on õigesti koostatud, võivad need aidata mudelil pakkuda sisukaid, täpseid ja kontekstipõhiseid tulemusi.

Kiire inseneritöö on tõhusate juhiste kavandamise kunst ja teadus. Eesmärk on saada keelemudelist soovitud väljund. Viipasid hoolikalt valides ja struktureerides saab mudelit suunata täpsemate ja asjakohasemate vastuste loomisele. Praktikas hõlmab see sisendfraaside peenhäälestamist, et võtta arvesse mudeli koolitust ja struktuurilisi eelarvamusi.

Kiire inseneritöö keerukus ulatub lihtsatest tehnikatest, nagu mudeli sisestamine asjakohaste märksõnadega, kuni täiustatud meetoditeni, mis hõlmavad keerukate, struktureeritud viipade kavandamist, mis kasutavad mudeli sisemist mehaanikat.

Langchain: kõige kiiremini kasvav viipetööriist

LangChain, mille käivitas 2022. aasta oktoobris Harrison Chase, on saanud üheks kõige kõrgemalt hinnatud avatud lähtekoodiga raamistikud GitHubis 2023. aastal. See pakub lihtsustatud ja standardiseeritud liidest suurte keelemudelite (LLM) rakendustesse lisamiseks. See pakub ka kiireks projekteerimiseks funktsioonirikka liidese, mis võimaldab arendajatel katsetada erinevaid strateegiaid ja hinnata nende tulemusi. Langchaini kasutades saate teha kiireid inseneriülesandeid tõhusamalt ja intuitiivsemalt.

LangFlow toimib kasutajaliidesena LangChaini komponentide korraldamiseks käivitatavaks vooskeemiks, võimaldades kiiret prototüüpimist ja katsetamist.

LangChain täidab masside jaoks tehisintellekti arendamisel olulise tühimiku. See võimaldab mitmesuguseid NLP-rakendusi, nagu virtuaalsed assistendid, sisugeneraatorid, küsimustele vastamise süsteemid ja palju muud, et lahendada reaalseid probleeme.

Selle asemel, et olla eraldiseisev mudel või pakkuja, lihtsustab LangChain suhtlemist erinevate mudelitega, laiendades LLM-rakenduste võimalusi lihtsa API-kõne piirangutest kaugemale.

LangChaini arhitektuur

 

LangChaini põhikomponendid hõlmavad mudeli I/O-d, viipamalle, mälu, agente ja kette.

Mudel I/O

LangChain hõlbustab sujuvat ühendamist erinevate keelemudelitega, ümbritsedes need standardse liidesega, mida tuntakse mudeli I/O nime all. See hõlbustab lihtsat mudelivahetust optimeerimiseks või paremaks jõudluseks. LangChain toetab erinevaid keelemudelite pakkujaid, sealhulgas OpenAI, Kallistav Nägu, Taevasina, IlutulestikJa palju muud.

Viipade mallid

Neid kasutatakse LLM-idega suhtlemise haldamiseks ja optimeerimiseks, pakkudes lühikesi juhiseid või näiteid. Viipade optimeerimine suurendab mudeli jõudlust ja nende paindlikkus aitab oluliselt kaasa sisestusprotsessile.

Lihtne näide viipamallist:

from langchain.prompts import PromptTemplate
prompt = PromptTemplate(input_variables=["subject"],
template="What are the recent advancements in the field of {subject}?")
print(prompt.format(subject="Natural Language Processing"))

Keerukuse kasvades kohtame LangChainis keerukamaid mustreid, nagu põhjus ja tegutsemine (ReAct). ReAct on toimingu teostamise oluline muster, kus agent määrab ülesande sobivale tööriistale, kohandab selle jaoks sisendit ja analüüsib selle väljundit ülesande täitmiseks. Allolev Pythoni näide näitab ReActi mustrit. See näitab, kuidas viip on LangChainis üles ehitatud, kasutades mitmeid mõtteid ja toiminguid, et probleemi läbi mõelda ja anda lõplik vastus:

PREFIX = """Answer the following question using the given tools:"""
FORMAT_INSTRUCTIONS = """Follow this format:
Question: {input_question}
Thought: your initial thought on the question
Action: your chosen action from [{tool_names}]
Action Input: your input for the action
Observation: the action's outcome"""
SUFFIX = """Start!
Question: {input}
Thought:{agent_scratchpad}"""

Mälu

Mälu on LangChaini oluline kontseptsioon, mis võimaldab LLM-idel ja tööriistadel teavet aja jooksul säilitada. See olekut väljendav käitumine parandab LangChaini rakenduste jõudlust, salvestades varasemad vastused, kasutaja interaktsioonid, keskkonna oleku ja agendi eesmärgid. Strateegiad ConversationBufferMemory ja ConversationBufferWindowMemory aitavad jälgida vastavalt vestluse täielikke või hiljutisi osi. Keerukama lähenemisviisi jaoks võimaldab strateegia ConversationKGMemory kodeerida vestlust teadmiste graafikuna, mida saab suunata tagasi viipadesse või kasutada vastuste ennustamiseks ilma LLM-i kutsumata.

Agendid

Agent suhtleb maailmaga toiminguid ja ülesandeid täites. LangChainis ühendavad agendid ülesannete täitmiseks tööriistu ja kette. See võib luua ühenduse välismaailmaga teabe otsimiseks, et täiendada LLM-i teadmisi, ületades seeläbi nende loomupärased piirangud. Nad võivad sõltuvalt olukorrast otsustada arvutused kalkulaatorile või Pythoni tõlgile edastada.

Agendid on varustatud alamkomponentidega:

  • TÖÖRIISTAD: Need on funktsionaalsed komponendid.
  • Tööriistakomplektid: Tööriistade kogud.
  • Agent Täitejuhid: See on täitmismehhanism, mis võimaldab valida tööriistade vahel.

LangChaini agendid järgivad ka Zero-shot ReAct mustrit, kus otsus põhineb ainult tööriista kirjeldusel. Seda mehhanismi saab mäluga laiendada, et võtta arvesse kogu vestluste ajalugu. ReActi abil saate selle asemel, et paluda LLM-il teksti automaatset lõpetamist paluda tal vastata mõtte/teo/vaatlusringina.

Ketid

Ketid, nagu termin viitab, on toimingute jadad, mis võimaldavad LangChaini teegil keelemudeli sisendeid ja väljundeid sujuvalt töödelda. Need LangChaini lahutamatud komponendid koosnevad põhiliselt linkidest, milleks võivad olla muud ahelad või primitiivid, nagu viiped, keelemudelid või utiliidid.

Kujutage ette ketti tehase konveierilindina. Iga samm sellel vööl tähistab teatud toimingut, milleks võib olla keelemudeli kutsumine, Pythoni funktsiooni rakendamine tekstile või isegi mudeli viipamine teatud viisil.

LangChain liigitab oma ahelad kolme tüüpi: kasulikud ahelad, üldised ketid ja dokumentide kombineerimise ahelad. Arutelu jaoks sukeldume utiliitide ja üldiste ahelatesse.

  • Kasulikud ketid on spetsiaalselt loodud keelemudelitest täpsete vastuste saamiseks kitsalt määratletud ülesannete jaoks. Vaatame näiteks LLMMathChaini. See utiliidi kett võimaldab keelemudelitel teha matemaatilisi arvutusi. See aktsepteerib küsimust loomulikus keeles ja keelemudel genereerib omakorda Pythoni koodilõigu, mis seejärel vastuse saamiseks käivitatakse.
  • Üldised ketidteisest küljest toimivad teiste kettide ehitusplokkidena, kuid neid ei saa otseselt kasutada eraldiseisvana. Need ahelad, nagu LLMChain, on põhilised ja neid kombineeritakse sageli teiste kettidega, et täita keerukaid ülesandeid. Näiteks kasutatakse LLMChaini sageli keelemudeli objekti päringu tegemiseks, vormindades sisendi etteantud viipamalli alusel ja edastades selle seejärel keelemudelile.

Prompt Engineering'i samm-sammult rakendamine Langchainiga

Juhendame teid Langchaini abil kiire projekteerimise rakendamise protsessis. Enne jätkamist veenduge, et olete installinud vajaliku tarkvara ja paketid.

LangChaini seadistamiseks saate kasutada populaarseid tööriistu, nagu Docker, Conda, Pip ja Poetry. Kõigi nende meetodite asjakohased installifailid leiate LangChaini hoidlast aadressil https://github.com/benman1/generative_ai_with_langchain. See hõlmab a dockerfile Dockeri jaoks, a nõuded.txt Pipi jaoks, a pyproject.toml luule jaoks ja a langchain_ai.yml faili Conda jaoks.

Oma artiklis kasutame Pythoni standardset paketihaldurit Pipi, et hõlbustada kolmandate osapoolte teekide installimist ja haldamist. Kui see pole teie Pythoni distributsioonis, saate Pipi installida, järgides juhiseid aadressil https://pip.pypa.io/.

Teegi installimiseks koos Pipiga kasutage käsku pip install library_name.

Kuid Pip ei halda keskkondi üksi. Erinevate keskkondade käsitlemiseks kasutame tööriista virtualenv.

Järgmises osas käsitleme mudelite integreerimist.

1. samm: Langchaini seadistamine

Esiteks peate installima Langchaini paketi. Kasutame Windows OS-i. Käivitage oma terminalis selle installimiseks järgmine käsk:

pip install langchain

2. samm: Langchaini ja muude vajalike moodulite importimine

Järgmisena importige Langchain koos teiste vajalike moodulitega. Siia impordime ka trafoteeki, mida kasutatakse laialdaselt NLP ülesannetes.

import langchain
from transformers import AutoModelWithLMHead, AutoTokenizer

3. samm: laadige eelkoolitatud mudel

Avage AI

OpenAI mudeleid saab mugavalt liidestada LangChaini teegi või OpenAI Pythoni klienditeegiga. Eelkõige pakub OpenAI teksti manustamismudelite jaoks manustamisklassi. Kaks peamist LLM-mudelit on GPT-3.5 ja GPT-4, mis erinevad peamiselt märgi pikkuse poolest. Iga mudeli hinnad leiate OpenAI veebisaidilt. Kuigi neid on rohkem keerukad mudelid nagu GPT-4-32K millel on suurem lubade aktsepteerimine, on nende kättesaadavus API kaudu pole alati garanteeritud.

Nendele mudelitele juurdepääsemiseks on vaja OpenAI API võtit. Seda saab teha OpenAI platvormil konto loomise, arveldusinfo seadistamise ja uue salajase võtme genereerimisega.

import os
os.environ["OPENAI_API_KEY"] = 'your-openai-token'

Pärast võtme edukat loomist saate selle määrata keskkonnamuutujaks (OPENAI_API_KEY) või edastada selle parameetrina OpenAI-kõnede klassi käivitamisel.

Kaaluge LangChaini skripti, et näidata interaktsiooni OpenAI mudelitega:

from langchain.llms import OpenAI
llm = OpenAI(model_name="text-davinci-003")
# The LLM takes a prompt as an input and outputs a completion
prompt = "who is the president of the United States of America?"
completion = llm(prompt)
The current President of the United States of America is Joe Biden.

Selles näites lähtestatakse agent arvutuste tegemiseks. Agent võtab sisendi, lihtsa lisamisülesande, töötleb seda pakutud OpenAI mudeli abil ja tagastab tulemuse.

Kallistav nägu

Kallistav nägu on TASUTA KASUTADA Transformers Pythoni teek, mis ühildub PyTorchi, TensorFlow ja JAX-iga ning sisaldab selliste mudelite rakendusi nagu BERT, T5Jne

Hugging Face pakub ka Hugging Face Hubi, platvormi koodihoidlate, masinõppemudelite, andmekogumite ja veebirakenduste majutamiseks.

Hugging Face'i kasutamiseks oma mudelite pakkujana vajate kontot ja API võtmeid, mille saate nende veebisaidilt. Tokeni saab teha teie keskkonnas kättesaadavaks kui HUGGINGFACEHUB_API_TOKEN.

Kaaluge järgmist Pythoni koodilõiku, mis kasutab Google'i välja töötatud avatud lähtekoodiga mudelit Flan-T5-XXL:

from langchain.llms import HuggingFaceHub
llm = HuggingFaceHub(model_kwargs={"temperature": 0.5, "max_length": 64},repo_id="google/flan-t5-xxl")
prompt = "In which country is Tokyo?"
completion = llm(prompt)
print(completion)

See skript võtab sisendiks küsimuse ja tagastab vastuse, tutvustades mudeli teadmisi ja ennustusvõimalusi.

4. samm: põhiline kiire projekteerimine

Alustuseks genereerime lihtsa viipa ja vaatame, kuidas mudel reageerib.

prompt = 'Translate the following English text to French: "{0}"'
input_text = 'Hello, how are you?'
input_ids = tokenizer.encode(prompt.format(input_text), return_tensors='pt')
generated_ids = model.generate(input_ids, max_length=100, temperature=0.9)
print(tokenizer.decode(generated_ids[0], skip_special_tokens=True))

Ülaltoodud koodilõigul pakume viipa ingliskeelse teksti prantsuse keelde tõlkimiseks. Seejärel proovib keelemudel antud teksti viipa alusel tõlkida.

5. samm: täiustatud kiire projekteerimine

Kuigi ülaltoodud lähenemisviis toimib hästi, ei kasuta see kiire inseneri võimsust täielikult ära. Täiustagem seda, tutvustades mõningaid keerukamaid kiireid struktuure.

prompt = 'As a highly proficient French translator, translate the following English text to French: "{0}"'
input_text = 'Hello, how are you?'
input_ids = tokenizer.encode(prompt.format(input_text), return_tensors='pt')
generated_ids = model.generate(input_ids, max_length=100, temperature=0.9)
print(tokenizer.decode(generated_ids[0], skip_special_tokens=True))

Selles koodilõigul muudame viipa, et oletada, et tõlke teeb „väga vilunud prantsuse keele tõlkija”. Viipa muutmine võib viia tõlgete paranemiseni, kuna mudel eeldab nüüd eksperdi isikut.

Akadeemilise kirjanduse küsimuste ja vastuste süsteemi loomine Langchainiga

Ehitame LangChaini abil akadeemilise kirjanduse küsimuste ja vastuste süsteemi, mis suudab vastata küsimustele hiljuti avaldatud akadeemiliste tööde kohta.

Esiteks paigaldame oma keskkonna seadistamiseks vajalikud sõltuvused.

pip install langchain arxiv openai transformers faiss-cpu

Pärast installimist loome uue Pythoni märkmiku ja impordime vajalikud teegid:

from langchain.llms import OpenAI
from langchain.chains.qa_with_sources import load_qa_with_sources_chain
from langchain.docstore.document import Document
import arxiv

Meie küsimuste ja vastuste süsteemi tuum on võime hankida teatud valdkonnaga seotud asjakohaseid akadeemilisi töid. Siin käsitleme loomuliku keele töötlemist (NLP), kasutades arXiv akadeemilist andmebaasi. Selle teostamiseks määratleme funktsiooni get_arxiv_data(max_results=10). See funktsioon kogub uusimad NLP paberkokkuvõtted arXivist ja kapseldab need LangChaini dokumendiobjektidesse, kasutades sisuna kokkuvõtet ja allikana ainulaadset kirje ID-d.

Kasutame NLP-ga seotud viimaste paberite toomiseks arXiv API-t:

def get_arxiv_data(max_results=10):
    search = arxiv.Search(
        query="NLP",
        max_results=max_results,
        sort_by=arxiv.SortCriterion.SubmittedDate,
    )
   
    documents = []
   
    for result in search.results():
        documents.append(Document(
            page_content=result.summary,
            metadata={"source": result.entry_id},
        ))
    return documents

See funktsioon hangib arXivist viimaste NLP paberite kokkuvõtted ja teisendab need LangChaini dokumendiobjektideks. Kasutame sisu ja allikana töö kokkuvõtet ja selle kordumatut kirje ID-d (lehe URL).

def print_answer(question):
    print(
        chain(
            {
                "input_documents": sources,
                "question": question,
            },
            return_only_outputs=True,
        )["output_text"]
    )                 

Määratleme oma korpuse ja seadistame LangChaini:

sources = get_arxiv_data(2)
chain = load_qa_with_sources_chain(OpenAI(temperature=0))

Kui meie akadeemiline Q&A süsteem on nüüd valmis, saame seda testida, esitades küsimuse:

print_answer("What are the recent advancements in NLP?")

Väljund on vastus teie küsimusele, viidates allikatele, millest teave võeti. Näiteks:

Recent advancements in NLP include Retriever-augmented instruction-following models and a novel computational framework for solving alternating current optimal power flow (ACOPF) problems using graphics processing units (GPUs).
SOURCES: http://arxiv.org/abs/2307.16877v1, http://arxiv.org/abs/2307.16830v1

Saate hõlpsasti mudeleid vahetada või süsteemi vastavalt oma vajadustele muuta. Näiteks läheme siin üle GPT-4-le, mis annab meile palju parema ja üksikasjalikuma vastuse.

sources = get_arxiv_data(2)
chain = load_qa_with_sources_chain(OpenAI(model_name="gpt-4",temperature=0))
Recent advancements in Natural Language Processing (NLP) include the development of retriever-augmented instruction-following models for information-seeking tasks such as question answering (QA). These models can be adapted to various information domains and tasks without additional fine-tuning. However, they often struggle to stick to the provided knowledge and may hallucinate in their responses. Another advancement is the introduction of a computational framework for solving alternating current optimal power flow (ACOPF) problems using graphics processing units (GPUs). This approach utilizes a single-instruction, multiple-data (SIMD) abstraction of nonlinear programs (NLP) and employs a condensed-space interior-point method (IPM) with an inequality relaxation strategy. This strategy allows for the factorization of the KKT matrix without numerical pivoting, which has previously hampered the parallelization of the IPM algorithm.
SOURCES: http://arxiv.org/abs/2307.16877v1, http://arxiv.org/abs/2307.16830v1

GPT-4 märk võib olla nii lühike kui üks märk või ühe sõna pikkune. Näiteks GPT-4-32K suudab ühe käiguga töödelda kuni 32,000 4 märki, samas kui GPT-8-3.5K ja GPT-8,000-turbo toetavad vastavalt 4,000 ja XNUMX žetoon. Siiski on oluline märkida, et iga nende mudelitega interaktsiooniga kaasneb kulu, mis on otseselt proportsionaalne töödeldavate märkide arvuga, olgu see siis sisend või väljund.

Kui meie küsimuste ja vastuste süsteemi kontekstis ületab akadeemilise kirjanduse maksimaalne luba, ei suuda süsteem seda täielikult töödelda, mõjutades seega vastuste kvaliteeti ja täielikkust. Selle probleemi lahendamiseks saab teksti jagada väiksemateks osadeks, mis vastavad märgipiirangule.

FAISS (Facebook AI sarnasuse otsing) aitab kiiresti leida kasutaja päringuga seotud kõige asjakohasemad tekstitükid. See loob igast tekstitükist vektorkujutise ja kasutab neid vektoreid antud küsimuse vektoresitlusele kõige sarnasemate tükkide tuvastamiseks ja toomiseks.

Oluline on meeles pidada, et isegi selliste tööriistade nagu FAISS kasutamisel võib vajadus jagada tekst väiksemateks tükkideks märgipiirangute tõttu mõnikord põhjustada konteksti kadumise, mis mõjutab vastuste kvaliteeti. Seetõttu on nende suurte keelemudelitega töötamisel ülioluline loa kasutamise hoolikas haldamine ja optimeerimine.

 
pip install faiss-cpu langchain CharacterTextSplitter

Kui olete veendunud, et ülaltoodud teegid on installitud, käivitage

 
from langchain.embeddings.openai import OpenAIEmbeddings 
from langchain.vectorstores.faiss import FAISS 
from langchain.text_splitter import CharacterTextSplitter 
documents = get_arxiv_data(max_results=10) # We can now use feed more data
document_chunks = []
splitter = CharacterTextSplitter(separator=" ", chunk_size=1024, chunk_overlap=0)
for document in documents:
    for chunk in splitter.split_text(document.page_content):
        document_chunks.append(Document(page_content=chunk, metadata=document.metadata))
search_index = FAISS.from_documents(document_chunks, OpenAIEmbeddings())
chain = load_qa_with_sources_chain(OpenAI(temperature=0))
def print_answer(question):
    print(
        chain(
            {
                "input_documents": search_index.similarity_search(question, k=4),
                "question": question,
            },
            return_only_outputs=True,
        )["output_text"]
    )

Kui kood on valmis, on meil nüüd võimas tööriist NLP valdkonna uusima akadeemilise kirjanduse päringute tegemiseks.

 
Recent advancements in NLP include the use of deep neural networks (DNNs) for automatic text analysis and natural language processing (NLP) tasks such as spell checking, language detection, entity extraction, author detection, question answering, and other tasks. 
SOURCES: http://arxiv.org/abs/2307.10652v1, http://arxiv.org/abs/2307.07002v1, http://arxiv.org/abs/2307.12114v1, http://arxiv.org/abs/2307.16217v1 

Järeldus

Suurte keelemudelite (LLM) integreerimine rakendustesse on kiirendanud mitme valdkonna kasutuselevõttu, sealhulgas keele tõlkimine, sentimentide analüüs ja teabeotsing. Kiire projekteerimine on võimas tööriist nende mudelite potentsiaali maksimeerimiseks ja Langchain on selle keerulise ülesande lihtsustamisel teejuhiks. Selle standardiseeritud liides, paindlikud viipade mallid, tugev mudeliintegratsioon ning agentide ja kettide uuenduslik kasutamine tagavad LLM-ide jõudluse jaoks optimaalsed tulemused.

Vaatamata nendele edusammudele on siiski vähe näpunäiteid, mida meeles pidada. Langchaini kasutamisel on oluline mõista, et väljundi kvaliteet sõltub suuresti viipa sõnastusest. Erinevate viipade stiilide ja struktuuridega katsetamine võib anda paremaid tulemusi. Samuti pidage meeles, et kuigi Langchain toetab mitmesuguseid keelemudeleid, on igal neist oma tugevad ja nõrgad küljed. Teie konkreetse ülesande jaoks õige valimine on ülioluline. Lõpuks on oluline meeles pidada, et nende mudelite kasutamisel tuleb arvestada kuludega, kuna märgi töötlemine mõjutab otseselt interaktsioonide kulusid.

Nagu on näidatud samm-sammulises juhendis, saab Langchain toita tugevaid rakendusi, nagu akadeemilise kirjanduse küsimuste ja vastuste süsteem. Kasvava kasutajaskonna ja kasvava silmapaistvuse tõttu avatud lähtekoodiga maastikul tõotab Langchain olla keskne tööriist LLM-ide, nagu GPT-4, täieliku potentsiaali ärakasutamisel.

Olen viimased viis aastat veetnud masinõppe ja süvaõppe põnevasse maailma sukeldudes. Minu kirg ja teadmised on pannud mind panustama enam kui 50 erinevasse tarkvaratehnoloogia projekti, keskendudes eelkõige AI/ML-ile. Minu jätkuv uudishimu on tõmmanud mind ka loomuliku keele töötlemise poole, valdkonda, mida ma innukalt edasi uurin.