LangChain ke sesebelisoa sa morao-rao le se matla se ntlafalitsoeng ho sebelisa matla a Mehlala e Meholo ea Lipuo (LLMs).
Li-LLM tsena li na le bokhoni bo ikhethang 'me li khona ho etsa mesebetsi e mengata e fapaneng ka nepo. Leha ho le joalo, ke habohlokoa ho hlokomela hore matla a bona a ka sebopeho sa bona ka kakaretso ho e-na le tsebo e tebileng ea domain. Ho tsebahala ha eona ho eketsehile ka potlako ho tloha ha ho kenyelletsoa GPT-4.
Leha li-LLM li ipabola ho sebetsana le mesebetsi e fapaneng, li ka 'na tsa tobana le mefokolo ha ho tluoa tabeng ea ho fana ka likarabo tse tobileng kapa ho sebetsana le mesebetsi e hlokang tsebo e tebileng ea domain. Ka mohlala, nahana ka ho sebelisa LLM ho araba lipotso kapa ho etsa mesebetsi ka har'a mafapha a ikhethileng joalo ka bongaka kapa molao.
Le ha LLM e ka araba lipotso tse akaretsang mabapi le mafapha ana, ho ka ba thata ho fana ka likarabo tse hlakileng kapa tse hlokang kelello tse hlokang tsebo e khethehileng kapa boitseanape.
Lebaka ke hobane li-LLM li koetliselitsoe ho latela lintlha tse ngata tse ngotsoeng tse tsoang mehloling e fapaneng, e li nolofalletsang ho ithuta mekhoa, ho utloisisa moelelo oa litaba, le ho hlahisa likarabo tse lumellanang. Leha ho le joalo, koetliso ea bona hangata ha e akaretse ho fumana tsebo e khethehileng kapa e khethehileng ka mokhoa o lekanang le oa litsebi tsa batho mafapheng ao.
Ka hona, le hoja LangChain, hammoho le LLMs, e ka ba sesebelisoa sa bohlokoa bakeng sa mefuta e mengata ea mesebetsi, ke habohlokoa ho hlokomela hore tsebo e tebileng ea sebaka sa marang-rang e ntse e ka hlokahala maemong a itseng. Litsebi tsa batho tse nang le tsebo e khethehileng li ka fana ka botebo bo hlokahalang, kutloisiso e sa tšoaneng, le lintlha tse tobileng tse ka 'nang tsa feta bokhoni ba LLM feela.
Re ka eletsa ho sheba litokomane tsa LangChain kapa GitHub polokelo bakeng sa kutloisiso e phethahetseng ea linyeoe tsa eona tse tloaelehileng tsa tšebeliso. Ho eletsoa ka matla ho fumana setšoantšo se seholo sa bongata bona.
E Sebetsa Joang?
Ho utloisisa morero le mosebetsi oa LangChain, a re hlahlobeng mohlala o sebetsang. Rea tseba hore GPT-4 e na le tsebo e akaretsang e khahlang 'me e ka fana ka likarabo tse tšepahalang lipotsong tse ngata tse fapaneng.
Leha ho le joalo, ho thoe'ng haeba re batla tlhahisoleseding e tobileng ho tsoa boitsebisong ba rona, joalo ka tokomane ea botho, buka, faele ea PDF, kapa boitsebiso ba thepa?
LangChain e re lumella ho hokahanya a mohlala wa puo e kgolo joalo ka GPT-4 ho mehloli ea rona ea data. E fetela ka nģ'ane ho ho beha sekhechana sa mongolo moqoqong oa moqoqo. Ho e-na le hoo, re ka bua ka database eohle e tletseng boitsebiso ba rona.
Hang ha re fumana tlhahisoleseding e lakatsehang, LangChain e ka re thusa ho etsa liketso tse itseng. Mohlala, re ka e laela hore e romelle lengolo-tsoibila le nang le lintlha tse itseng.
Ho finyella sena, re latela mokhoa oa liphaephe ho sebelisa LangChain. Pele, re nka tokomane eo re e batlang ea mohlala oa puo ho supa le ho e arola ka likotoana tse nyane. Likotoana tsena li bolokoa joalo ka li-embeddings, e leng litlhahiso tsa vector tsa sengoloa, sebakeng sa polokelo ea litaba tsa Vector.
Ka ho seta sena, re ka theha mekhoa ea ho sebelisa mekhoa ea lipuo tse latelang mokhoa o tloaelehileng: mosebedisi o botsa potso ea pele, e ntan'o romelloa mofuteng oa puo. Kemelo ea vector ea potso e sebelisoa ho etsa lipatlisiso tse tšoanang ho Vector Database, ho khutlisa likarolo tse amehang tsa tlhahisoleseling.
Likotoana tsena li khutlisetsoa moetsong oa puo, ho o nolofalletsa ho fana ka karabo kapa ho nka khato e lakatsehang.
LangChain e thusa nts'etsopele ea lits'ebetso tse tsebang lintlha, kaha re ka bua ka data ea rona ka lebenkeleng la vector, 'me e le' nete, kaha ba ka nka mehato e fetang ho araba lipotso. T
ea hae e bula mekhoa e mengata ea ts'ebeliso e sebetsang, haholo-holo ka thuso ea botho, moo mohlala o moholo oa puo o ka sebetsanang le mesebetsi e kang ho tsamaisa lifofane, ho fetisetsa chelete, kapa ho thusa litabeng tse amanang le lekhetho.
Ho feta moo, litlamorao tsa ho ithuta le ho ithuta lithuto tse ncha li bohlokoa, kaha mohlala oa puo o ka supa silabase kaofela le ho akofisa mokhoa oa ho ithuta. Coding, tlhahlobo ea data, le mahlale a data le tsona li lebelletsoe ho susumetsoa haholo ke tsoelopele ena.
E 'ngoe ea litebello tse thabisang ka ho fetisisa ke ho hokahanya mefuta e meholo ea lipuo ho data e teng ea k'hamphani, joalo ka tlhahisoleseding ea bareki kapa lintlha tsa papatso. Khokahano ena le li-API tse tsoetseng pele joalo ka Meta's API kapa API ea Google e ts'episa tsoelo-pele e hlakileng ho analytics ea data le mahlale a data.
Mokhoa oa ho aha leqephe la webo (Demo)
Hajoale, Langchain e fumaneha joalo ka Python le JavaScript Packages.
Re ka theha pontšo ea Web App re sebelisa Streamlit, LangChain, le mohlala oa OpenAI GPT-3 ho kenya ts'ebetsong mohopolo oa LangChain.
Empa pele, re tlameha ho kenya litšepe tse 'maloa, ho kenyelletsa Streamlit, LangChain, le OpenAI.
Litlhokahalo tsa pele
Hlahisa: Sephutheloana se tsebahalang sa Python bakeng sa ho theha lits'ebetso tsa marang-rang tse amanang le mahlale a data
OpenAI: Ho fihlella mofuta oa puo oa OpenAI oa GPT-3 oa hlokahala.
Ho kenya litšepiso tsena, sebelisa litaelo tse latelang ho cmd:
pip install streamlit
pip install langchain
pip install openai
Liphutheloana tse tsoang kantle
Re qala ka ho kenya liphutheloana tse hlokahalang, tse kang OpenAI, LangChain, le Streamlit. Liketane tsa rona tsa mehlala ea lipuo li hlalosoa le ho etsoa ho sebelisoa lihlopha tse tharo tse tsoang LangChain: LLMChain, SimpleSequentialChain, le PromptTemplate.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Setheo sa motheo
Motheo oa moralo oa morero oa rona o ile oa hlongoa ho sebelisoa syntax ea Streamlit. Re file sesebelisoa sehlooho se reng "Seo 'Nete ke Eng: Ho Sebelisa Ketane e Bonolo ea Tatelano" mme re kenyelelitse sehokelo sa "markdown" polokelong ea GitHub e sebelitseng e le ts'usumetso ea sesebelisoa.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Li-Widgets tse ka pele
Re theha sesebelisoa ka tlhaiso-leseling e nepahetseng, re sebelisa mantsoe a bonolo 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")
Ho eketsa li-widget tse ka pele
Ho feta moo, re hloka ho fana ka widget ea ho kenya letsoho ho lumella basebelisi ba rona ho kenya lipotso leha e le life.
# 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?",
)
Tsohle li entsoe! Liketane li ntse li phahama!
Re sebelisa liketane tse fapaneng tsa ts'ebetso hammoho le SimpleSequentialChain
ho araba potso ea mosebelisi. Liketane li etsoa ka tatellano e latelang ha mosebelisi a khetha "Tell me about it"
konopo:
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
: e leng mohato oa pele oa lipeipi tsa rona, e amohela potso ea mosebelisi joalo ka tlhahiso le tlhahiso. Potso ea mosebelisi e sebetsa joalo ka template ea ketane.- E ipapisitse le polelo e amanang le potso, the
assumptions_chain
e hlahisa lenane la lintlha-ntlha la likakanyo ka ho sebelisa tlhahiso e tsoang hoquestion_chain
joalo ka ho kenya letsoho. TheLLMChain
'meOpenAI
mohlala ho tloha LangChain o ile oa sebelisoa ho haha setatemente. Mosebedisi o filwe mosebetsi wa ho etsa lenane la dikakanyo tse entsweng e le ho hlahisa polelo ho sebedisa thempleite ya ketane ena. - E ipapisitse le liphetho tse tsoang ho
question_chain
'meassumptions_chain
, efact_checker_chain
e hlahisa lethathamo la lipolelo ka mokhoa oa lintlha tsa bullet. Litlaleho li hlahisoa ka ho sebelisaOpenAI
mohlala leLLMChain
ho tloha LangChain. Mosebelisi o filoe mosebetsi oa ho etsa qeto ea hore na tleleime ka 'ngoe e nepahetse kapa e fosahetse le ho fana ka mabaka bakeng sa ba leng joalo. - The
answer_chain
e sebelisa liphetho tse tsoang hoquestion_chain
,assumptions_chain
, 'mefact_checker_chain
joalo ka litlatsetso ho theha karabo ho potso ea mosebelisi ho sebelisa data e hlahisitsoeng ke liketane tsa pejana. Setšoantšo sa ketane ena se kopa hore mosebelisi a arabe potso ea pele a sebelisa lintlha tse entsoeng. - E le ho fana ka karabelo ea ho qetela ho potso ea mosebelisi e ipapisitseng le tlhaiso-leseling e hlahisitsoeng ke liketane tsa pejana, re kopanya liketane tsena ho ketane e akaretsang. Ka mor'a hore liketane li phethoe, re li sebelisa
st.success()
ho bontsha mosebedisi tharollo.
fihlela qeto e
Re ka kopanya feela liketso tse fapaneng tsa mohlala oa lipuo ho theha liphaephe tse rarahaneng ka ho sebelisa SimpleSequentialChain
Module oa LangChain. Bakeng sa lits'ebetso tse fapaneng tse fapaneng tsa NLP, ho kenyeletsoa li-chatbots, litsamaiso tsa lipotso le likarabo, le lisebelisoa tsa ho fetolela puo, sena se ka thusa haholo.
Bokhabane ba LangChain bo fumanoa ka bokhoni ba eona ba ho hlalosa, e leng se nolofalletsang mosebedisi ho tsepamisa mohopolo tabeng ea hona joale ho e-na le lintlha tse tobileng tsa mohlala oa puo.
LangChain e etsa hore mokhoa oa ho theha mefuta e tsoetseng pele ea puo e bonolo ho basebelisi ka ho fana ka mehlala e koetlisitsoeng esale pele le khetho ea li-template.
E u fa khetho ea ho hlophisa mefuta ea lipuo hantle u sebelisa lintlha tsa bona, ho etsa hore ho be bonolo ho etsa mefuta ea lipuo. Sena se etsa hore ho be le mekhoa e nepahetseng haholoanyane, e tobileng ea sebaka seo, bakeng sa mosebetsi o itseng, o fetang mekhoa e koetlisitsoeng.
The SimpleSequentialChain
module le likarolo tse ling tsa LangChain li etsa hore e be sesebelisoa se sebetsang sa ho ntshetsa pele le ho tsamaisa mekhoa e tsoetseng pele ea NLP.
Leave a Reply