LangChain ndi chida cham'mphepete komanso champhamvu chomwe chapangidwa kuti chigwiritse ntchito mphamvu za Large Language Models (LLMs).
Ma LLM awa ali ndi kuthekera kodabwitsa ndipo amatha kugwira bwino ntchito zingapo. Komabe, ndikofunika kuzindikira kuti mphamvu zawo zili mu chikhalidwe chawo osati ukadaulo wozama. Kutchuka kwake kwakula kwambiri kuyambira kukhazikitsidwa kwa GPT-4.
Ngakhale ma LLM amachita bwino kwambiri pogwira ntchito zosiyanasiyana, amatha kukumana ndi zolepheretsa pankhani yopereka mayankho achindunji kapena kuchita ntchito zomwe zimafuna chidziwitso chambiri. Ganizirani, mwachitsanzo, kugwiritsa ntchito LLM kuyankha mafunso kapena kugwira ntchito m'magawo apadera monga zamankhwala kapena zamalamulo.
Ngakhale kuti LLM ikhoza kuyankha mafunso onse okhudza magawowa, zingakhale zovuta kupereka mayankho atsatanetsatane kapena ang'onoang'ono omwe amafunikira chidziwitso chapadera kapena ukatswiri.
Izi zili choncho chifukwa ma LLM amaphunzitsidwa pazambiri zamawu ochokera kumadera osiyanasiyana, kuwapangitsa kuphunzira mafotokozedwe, kumvetsetsa nkhani, ndi kuyankha mogwirizana. Komabe, maphunziro awo nthawi zambiri sakhala ndi chidziwitso chapadera kapena chidziwitso chapadera monga momwe akatswiri aumunthu amagwirira ntchito.
Chifukwa chake, ngakhale LangChain, molumikizana ndi LLMs, ikhoza kukhala chida chamtengo wapatali pa ntchito zosiyanasiyana, ndikofunikira kuzindikira kuti ukatswiri wozama wa madambwe ungakhalebe wofunikira nthawi zina. Akatswiri aumunthu omwe ali ndi chidziwitso chapadera angapereke kuzama kofunikira, kumvetsetsa kwapang'onopang'ono, ndi chidziwitso chapadera chomwe chingakhale choposa mphamvu za ma LLM okha.
Tikukulangizani kuti muwone zolemba za LangChain kapena GitHub chosungiramo kuti mumvetsetse bwino momwe amagwiritsidwira ntchito. Ndikulangizidwa kuti mupeze chithunzi chachikulu cha mtolo uwu.
Zimagwira bwanji?
Kuti timvetse cholinga ndi ntchito ya LangChain, tiyeni tione chitsanzo chothandiza. Tikudziwa kuti GPT-4 ili ndi chidziwitso chambiri ndipo imatha kupereka mayankho odalirika ku mafunso osiyanasiyana.
Komabe, bwanji ngati tikufuna zidziwitso zenizeni kuchokera ku data yathu, monga chikalata chaumwini, buku, fayilo ya PDF, kapena nkhokwe ya eni ake?
LangChain imatilola kulumikiza a chilankhulo chachikulu monga GPT-4 kumagwero athu a data. Zimapitilira kungoyika kagawo kakang'ono ka mawu pamacheza. M'malo mwake, titha kuloza nkhokwe yonse yodzaza ndi deta yathu.
Tikapeza zomwe tikufuna, LangChain ikhoza kutithandiza pochita zinthu zinazake. Mwachitsanzo, titha kuilangiza kuti itumize imelo yomwe ili ndi zambiri.
Kuti tichite izi, timatsatira njira yapaipi pogwiritsa ntchito LangChain. Choyamba, timatenga chikalata chomwe tikufuna chinenero chitsanzo kutchula ndi kugawa mu tizigawo ting'onoting'ono. Zigawozi zimasungidwa ngati zophatikizira, zomwe zili zoyimira vekitala za mawuwo, mu Vector Database.
Pokhazikitsa izi, titha kupanga zilankhulo zomwe zimatsata njira yokhazikika: wogwiritsa ntchito amafunsa funso loyambirira, lomwe limatumizidwa kuchitsanzo cha chilankhulo. Kuyimira vekitala ya funsoli kumagwiritsidwa ntchito pofufuza zofananira mu Vector Database, kubweza zidziwitso zofunikira.
Zigawozi zimabwezeretsedwanso kuchitsanzo cha chinenero, kupangitsa kuti chipereke yankho kapena kuchitapo kanthu.
LangChain imathandizira chitukuko cha mapulogalamu omwe amadziwa bwino deta, monga momwe tingathere deta yathu mu sitolo ya vector, ndi yowona, chifukwa amatha kuchitapo kanthu kuposa kuyankha mafunso. T
ake amatsegula njira zambiri zogwiritsira ntchito, makamaka pa chithandizo chaumwini, kumene chitsanzo chachikulu cha chinenero chingathe kugwira ntchito monga kusungitsa ndege, kutumiza ndalama, kapena kuthandizira nkhani zokhudzana ndi msonkho.
Kuonjezera apo, zotsatira za kuphunzira ndi kuphunzira maphunziro atsopano ndizofunika kwambiri, chifukwa chitsanzo cha chinenero chimatha kutchula silabasi yonse ndikufulumizitsa kuphunzira. Coding, kusanthula deta, ndi sayansi ya data ikuyembekezekanso kukhudzidwa kwambiri ndi kupita patsogolo kumeneku.
Chimodzi mwazinthu zosangalatsa kwambiri ndikulumikiza mitundu yayikulu ya zilankhulo ku data yomwe ilipo yamakampani, monga zambiri zamakasitomala kapena zotsatsa. Kuphatikiza uku ndi ma API apamwamba monga Meta's API kapena Google's API kumalonjeza kupita patsogolo kwakukulu pakusanthula deta ndi sayansi ya data.
Momwe Mungapangire Tsamba la Webusaiti (Demo)
Pakadali pano, Langchain ikupezeka ngati Python ndi JavaScript Packages.
Titha kupanga chiwonetsero cha Web App pogwiritsa ntchito Streamlit, LangChain, ndi OpenAI GPT-3 model kuti tigwiritse ntchito lingaliro la LangChain.
Koma choyamba, tiyenera kukhazikitsa zodalira zochepa, kuphatikizapo Streamlit, LangChain, ndi OpenAI.
Zofuna zoyenera
Sinthani: Phukusi lodziwika bwino la Python lopanga mapulogalamu okhudzana ndi sayansi ya data
OpenAI: Kufikira ku mtundu wa chilankhulo cha OpenAI's GPT-3 ndikofunikira.
Kuti muyike zodalira izi, gwiritsani ntchito malamulo awa mu cmd:
pip install streamlit
pip install langchain
pip install openai
Phukusi Lochokera
Timayamba ndi kuitanitsa phukusi lofunika, monga OpenAI, LangChain, ndi Streamlit. Maunyolo athu azilankhulo amafotokozedwa ndikuchitidwa pogwiritsa ntchito makalasi atatu ochokera ku LangChain: LLMChain, SimpleSequentialChain, ndi PromptTemplate.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Kukhazikitsa Kwambiri
Maziko a projekiti yathu adakhazikitsidwa pogwiritsa ntchito mawu a Streamlit. Tidapatsa pulogalamuyo mutu wakuti "Zowona ZOONA: Kugwiritsa Ntchito Njira Yosavuta Yotsatizana" ndikuphatikizanso ulalo wotsikira kunkhokwe ya GitHub yomwe idakhala ngati kudzoza kwa pulogalamuyi.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Ma Widgets Akutsogolo
Timakhazikitsa pulogalamuyi ndi zidziwitso zochepa, pogwiritsa ntchito mawu osavuta a Streamlit:
# If an API key has been provided, create an OpenAI language model instance
if API:
llm = OpenAI(temperature=0.7, openai_api_key=API)
else:
# If an API key hasn't been provided, display a warning message
st.warning("Enter your OPENAI API-KEY. Get your OpenAI API key from [here](https://platform.openai.com/account/api-keys).\n")
Kuti muwonjezere ma widget akutsogolo
Kuphatikiza apo, tikuyenera kupereka widget yolowera kuti ilole ogwiritsa ntchito kuyankha mafunso aliwonse.
# Add a text input box for the user's question
user_question = st.text_input(
"Enter Your Question : ",
placeholder = "Cyanobacteria can perform photosynthetsis , are they considered as plants?",
)
Zonse zatheka! Unyolo ukuyenda!
Timagwiritsa ntchito maunyolo osiyanasiyana ogwirira ntchito limodzi ndi SimpleSequentialChain
kuyankha funso la wogwiritsa ntchito. unyolo ikuchitika motsatira ndondomeko pamene wosuta kusankha "Tell me about it"
batani:
if st.button("Tell me about it", type="primary"):
# Chain 1: Generating a rephrased version of the user's question
template = """{question}\n\n"""
prompt_template = PromptTemplate(input_variables=["question"], template=template)
question_chain = LLMChain(llm=llm, prompt=prompt_template)
# Chain 2: Generating assumptions made in the statement
template = """Here is a statement:
{statement}
Make a bullet point list of the assumptions you made when producing the above statement.\n\n"""
prompt_template = PromptTemplate(input_variables=["statement"], template=template)
assumptions_chain = LLMChain(llm=llm, prompt=prompt_template)
assumptions_chain_seq = SimpleSequentialChain(
chains=[question_chain, assumptions_chain], verbose=True
)
# Chain 3: Fact checking the assumptions
template = """Here is a bullet point list of assertions:
{assertions}
For each assertion, determine whether it is true or false. If it is false, explain why.\n\n"""
prompt_template = PromptTemplate(input_variables=["assertions"], template=template)
fact_checker_chain = LLMChain(llm=llm, prompt=prompt_template)
fact_checker_chain_seq = SimpleSequentialChain(
chains=[question_chain, assumptions_chain, fact_checker_chain], verbose=True
)
# Final Chain: Generating the final answer to the user's question based on the facts and assumptions
template = """In light of the above facts, how would you answer the question '{}'""".format(
user_question
)
template = """{facts}\n""" + template
prompt_template = PromptTemplate(input_variables=["facts"], template=template)
answer_chain = LLMChain(llm=llm, prompt=prompt_template)
overall_chain = SimpleSequentialChain(
chains=[question_chain, assumptions_chain, fact_checker_chain, answer_chain],
verbose=True,
)
# Running all the chains on the user's question and displaying the final answer
st.success(overall_chain.run(user_question))
question_chain
: yomwe ndi sitepe yoyamba paipi yathu, imalandira funso la wogwiritsa ntchito monga zolowetsa ndi zotuluka. Funso la wogwiritsa ntchito limakhala ngati template ya unyolo.- Kutengera ndi chiganizo cholumikizidwa ndi funso, a
assumptions_chain
amapanga bullet-point mndandanda wa zongoganiza pogwiritsa ntchito zotuluka kuchokera kuquestion_chain
monga cholowa. TheLLMChain
ndiOpenAI
chitsanzo kuchokera ku LangChain chinagwiritsidwa ntchito popanga mawu. Wogwiritsa ntchitoyo ali ndi udindo wopanga mndandanda wamalingaliro omwe adapangidwa kuti apange mawuwo pogwiritsa ntchito template ya unyolowu. - Kutengera zotuluka kuchokera ku
question_chain
ndiassumptions_chain
, ndifact_checker_chain
imapanga mndandanda wazomwe zimatsimikizira ngati ma bullet point. Zomwezo zimabzalidwa pogwiritsa ntchitoOpenAI
model ndiLLMChain
kuchokera ku LangChain. Wogwiritsa ntchitoyo ali ndi udindo wodziwa ngati zomwe akunenazo ndi zolondola kapena zolakwika ndikupereka zifukwa kwa omwe ali. - The
answer_chain
amagwiritsa ntchito zotuluka kuchokera kuquestion_chain
,assumptions_chain
ndipofact_checker_chain
monga zolowetsa kuti apange yankho ku funso la wogwiritsa ntchito pogwiritsa ntchito deta yopangidwa ndi maunyolo oyambirira. Tsamba la unyolowu limapempha kuti wogwiritsa ntchito ayankhe funso loyamba pogwiritsa ntchito mfundo zomwe zidapangidwa. - Kuti tipereke yankho lomaliza pafunso la wogwiritsa ntchito potengera zomwe zatulutsidwa ndi maunyolo oyambilira, timaphatikiza maunyolowa mu unyolo wonse. Pambuyo pomaliza unyolo, timagwiritsa ntchito
st.success()
kuwonetsa wogwiritsa ntchito yankho.
Kutsiliza
Tikhoza kungogwirizanitsa machitidwe osiyanasiyana a zinenero kuti apange mapaipi ovuta kwambiri pogwiritsa ntchito SimpleSequentialChain
Chithunzi cha LangChain. Pamitundu yosiyanasiyana ya mapulogalamu a NLP, kuphatikiza ma chatbots, machitidwe a mafunso ndi mayankho, ndi zida zomasulira zilankhulo, izi zitha kukhala zothandiza.
Kuwala kwa LangChain kumapezeka m'mawonekedwe ake, zomwe zimapangitsa kuti wogwiritsa ntchitoyo azingoganizira zomwe zikuchitika m'malo moganizira zachitsanzo cha chinenero.
LangChain imapangitsa njira yopangira zilankhulo zotsogola kukhala zosavuta kugwiritsa ntchito popereka zitsanzo zophunzitsidwa kale komanso ma templates osankhidwa.
Zimakupatsirani mwayi wosankha bwino zinenero pogwiritsa ntchito deta yawoyawo, zomwe zimapangitsa kuti zikhale zosavuta kusintha zinenero. Izi zimapangitsa kuti pakhale mitundu yolondola kwambiri, yodziwika ndi madomeni omwe, pa ntchito yopatsidwa, amapambana ma model ophunzitsidwa bwino.
The SimpleSequentialChain
gawo ndi zinthu zina za LangChain zimapangitsa kuti ikhale chida chothandizira kupanga ndi kutumiza machitidwe apamwamba a NLP.
Siyani Mumakonda