Is uirlis cheannródaíoch agus láidir é LangChain a forbraíodh chun leas a bhaint as cumhacht Mhúnlaí Móra Teanga (LLManna).
Tá cumais shuntasacha ag na LLManna seo agus is féidir leo dul i ngleic go héifeachtach le raon leathan tascanna. Mar sin féin, tá sé tábhachtach a thabhairt faoi deara go luíonn a láidreacht ina nádúr ginearálta seachas saineolas domhain fearainn. Tá méadú tagtha ar a tóir go tapa ó tugadh isteach GPT-4.
Cé go sármhaith le LLM tascanna éagsúla a láimhseáil, d’fhéadfadh go mbeadh srianta orthu maidir le freagraí sonracha a sholáthar nó le dul i ngleic le tascanna a dteastaíonn eolas fearainn domhain uathu. Smaoinigh, mar shampla, ar LLM a úsáid chun ceisteanna a fhreagairt nó chun tascanna a dhéanamh laistigh de réimsí speisialaithe mar leigheas nó dlí.
Cé gur cinnte gur féidir leis an LLM freagra a thabhairt ar fhiosrúcháin ghinearálta faoi na réimsí seo, d’fhéadfadh sé a bheith ag streachailt le freagraí níos mionsonraithe nó níos mionsonraithe a thairiscint a dteastaíonn eolas nó saineolas speisialaithe uathu.
Is é an fáth atá leis seo ná go gcuirtear oiliúint ar LLManna ar mhéideanna ollmhóra sonraí téacs ó fhoinsí éagsúla, rud a chuireann ar a gcumas patrúin a fhoghlaim, comhthéacs a thuiscint, agus freagraí comhleanúnacha a ghiniúint. Mar sin féin, ní bhaineann a n-oiliúint go hiondúil le sealbhú eolais a bhaineann go sonrach leis an bhfearann nó le saineolas a fháil chomh mór céanna le saineolaithe daonna sna réimsí sin.
Dá bhrí sin, cé gur féidir le LangChain, i gcomhar le LLManna, a bheith ina uirlis luachmhar do raon leathan tascanna, tá sé tábhachtach a aithint go bhféadfadh saineolas fearainn domhain a bheith fós riachtanach i gcásanna áirithe. Is féidir le saineolaithe daonna a bhfuil saineolas acu an doimhneacht riachtanach, an tuiscint mhionsonraithe, agus na léargais a bhaineann go sonrach le comhthéacs a sholáthar a d'fhéadfadh a bheith níos faide ná cumais LLM amháin.
Molaimid breathnú ar dhoiciméid LangChain nó GitHub stór le haghaidh tuiscint níos críochnúla ar a ghnáth-chásanna úsáide. Moltar go láidir pictiúr níos mó a fháil den bheart seo.
Conas a oibríonn sé?
Chun cuspóir agus obair LangChain a thuiscint, déanaimis sampla praiticiúil a mheas. Is eol dúinn go bhfuil eolas ginearálta suntasach ag GPT-4 agus gur féidir leis freagraí iontaofa a sholáthar ar raon leathan ceisteanna.
Mar sin féin, cad a tharlóidh má theastaíonn uainn faisnéis shonrach ónár sonraí féin, mar dhoiciméad pearsanta, leabhar, comhad PDF, nó bunachar sonraí dílseánaigh?
Ligeann LangChain dúinn ceangal a múnla mór teanga cosúil le GPT-4 lenár bhfoinsí sonraí féin. Téann sé níos faide ná blúire téacs a ghreamú isteach i gcomhéadan comhrá. Ina áit sin, is féidir linn tagairt a dhéanamh do bhunachar sonraí iomlán atá líonta lenár sonraí féin.
Nuair a gheobhaidh muid an fhaisnéis atá ag teastáil, is féidir le LangChain cabhrú linn gníomhartha sonracha a dhéanamh. Mar shampla, is féidir linn treoir a thabhairt dó ríomhphost a sheoladh ina bhfuil sonraí áirithe.
Chun seo a bhaint amach, leanaimid cur chuige píblíne ag baint úsáide as LangChain. Ar dtús, glacaimid an doiciméad a theastaíonn uainn múnla teanga chun tagairt a dhéanamh agus é a roinnt ina smután níos lú. Stóráiltear na smután seo ansin mar leabaithe, is iad sin Léiriúcháin veicteoir an téacs, i mBunachar Sonraí Veicteoir.
Leis an socrú seo, is féidir linn feidhmchláir mhúnla teanga a thógáil a leanann píblíne caighdeánach: cuireann úsáideoir ceist tosaigh, a sheoltar chuig an múnla teanga ansin. Baintear úsáid as léiriú veicteoireach na ceiste chun cuardach cosúlachta a dhéanamh sa Bhunachar Sonraí Veicteora, agus na píosaí ábhartha faisnéise á aisghabháil.
Cuirtear na píosaí seo ar ais chuig an múnla teanga ansin, rud a chuireann ar a chumas freagra a thabhairt nó an beart a theastaíonn a dhéanamh.
Éascaíonn LangChain forbairt na n-iarratas atá feasach ar shonraí, mar is féidir linn tagairt a dhéanamh dár gcuid sonraí féin i stór veicteora, agus barántúil, mar is féidir leo gníomhartha a dhéanamh níos faide ná ceisteanna a fhreagairt. T
osclaíonn sé an iliomad cásanna úsáide praiticiúla, go háirithe maidir le cúnamh pearsanta, áit ar féidir le samhail mhór teanga tascanna a láimhseáil amhail eitiltí a chur in áirithe, airgead a aistriú, nó cuidiú le cúrsaí cánach.
Ina theannta sin, tá na himpleachtaí do staidéar agus d’fhoghlaim ábhair nua suntasach, toisc gur féidir le múnla teanga tagairt a dhéanamh do shiollabas iomlán agus dlús a chur leis an bpróiseas foghlama. Táthar ag súil freisin go mbeidh tionchar mór ag na dul chun cinn seo ar chódú, anailís sonraí agus eolaíocht sonraí.
Ar cheann de na hionchais is spreagúla tá samhlacha móra teanga a nascadh le sonraí cuideachta atá ann cheana féin, amhail faisnéis do chustaiméirí nó sonraí margaíochta. Geallann an comhtháthú seo le hard-APIanna ar nós API Meta nó API Google dul chun cinn easpónantúil in anailísíocht sonraí agus in eolaíocht sonraí.
Conas Leathanach Gréasáin a Thógáil (Demo)
Faoi láthair, tá Langchain ar fáil mar Phacáistí Python agus JavaScript.
Is féidir linn App Gréasáin taispeántais a chruthú ag baint úsáide as Streamlit, LangChain, agus an tsamhail OpenAI GPT-3 chun coincheap LangChain a chur i bhfeidhm.
Ach ar dtús, ní mór dúinn cúpla spleáchas a shuiteáil, lena n-áirítear Streamlit, LangChain, agus OpenAI.
Réamhriachtanais
Sruthlitrithe: Pacáiste Python tóir le haghaidh feidhmchláir ghréasáin a bhaineann le heolaíocht sonraí a chruthú
Oscail AI: Tá gá le rochtain ar mhúnla teanga GPT-3 OpenAI.
Chun na spleáchais seo a shuiteáil, bain úsáid as na horduithe seo a leanas i cmd:
pip install streamlit
pip install langchain
pip install openai
Pacáistí Iompórtála
Tosaímid trí na pacáistí riachtanacha a allmhairiú, mar shampla OpenAI, LangChain, agus Streamlit. Déantar ár slabhraí múnla teanga a shainiú agus a fhorghníomhú ag baint úsáide as trí rang ó LangChain: LLMChain, SimpleSequentialChain, agus PromptTemplate.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Socrú Bunúsach
Cuireadh bonn struchtúrach ár dtionscadal ar bun ansin trí úsáid a bhaint as comhréir Streamlit. Thugamar an teideal “Cad atá TRUE: Ag Úsáid Slabhra Seicheamhach Simplí” don aip agus chuimsigh muid nasc marcála síos chuig stór GitHub a bhí mar inspioráid don aip.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Giuirléidí Tosaigh-Deireadh
Socraíomar an aip gan mórán eolais ábhartha, ag baint úsáide as comhréir shimplí 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")
Chun giuirléidí ceann tosaigh a chur leis
Ina theannta sin, ní mór dúinn giuirléid ionchuir a chur ar fáil chun ligean dár n-úsáideoirí aon cheisteanna a chur isteach.
# 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?",
)
Criochnaithe! Tá na slabhraí ar bun!
Fostaímid slabhraí éagsúla oibríochtaí mar aon le SimpleSequentialChain
chun freagra a thabhairt ar cheist an úsáideora. Déantar na slabhraí sa seicheamh seo a leanas nuair a roghnaíonn an t-úsáideoir an "Tell me about it"
cnaipe:
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
: arb é an chéad chéim inár bpíblíne, faigheann sé ceist an úsáideora mar ionchur agus aschur. Feidhmíonn ceist an úsáideora mar theimpléad an tslabhra.- Bunaithe ar ráiteas atá nasctha leis an gceist, tá an
assumptions_chain
Gineann sé liosta pointí le hurchair boinn tuisceana ag baint úsáide as an t-aschur ó naquestion_chain
mar ionchur. Tá anLLMChain
agusOpenAI
Baineadh úsáid as samhail ó LangChain chun an ráiteas a dhéanamh. Tá sé de chúram ar an úsáideoir liosta a chruthú de na toimhdí a rinneadh chun an ráiteas a tháirgeadh ag baint úsáide as an teimpléad don slabhra seo. - Bunaithe ar na haschuir ó na
question_chain
agusassumptions_chain
, anfact_checker_chain
gineann sé liosta dearbhuithe i bhfoirm pointí le hurchair. Táirgtear na héilimh ag baint úsáide as anOpenAI
samhail agusLLMChain
ó LangChain. Tá sé de chúram ar an úsáideoir a chinneadh an bhfuil gach éileamh cruinn nó mícheart agus fírinniú a thabhairt dóibh siúd atá. - An
answer_chain
úsáideann na haschuir ó naquestion_chain
,assumptions_chain
, agusfact_checker_chain
mar ionchuir chun freagra a chruthú ar cheist an úsáideora ag baint úsáide as na sonraí arna dtáirgeadh ag na slabhraí níos luaithe. Iarrann an teimpléad don slabhra seo ar an úsáideoir freagra a thabhairt ar an gcéad cheist ag baint úsáide as na fíricí a cruthaíodh. - D'fhonn an freagra deiridh a sholáthar ar fhiosrúchán an úsáideora bunaithe ar an bhfaisnéis a tháirgtear ag na slabhraí níos luaithe, déanaimid na slabhraí seo a chomhtháthú sa slabhra iomlán. Tar éis na slabhraí a bheith críochnaithe, úsáidimid
st.success()
chun an réiteach a thaispeáint don úsáideoir.
Conclúid
Is féidir linn gníomhartha eiseamláireacha teanga éagsúla a shlabhra le chéile chun píblínte níos casta a chruthú trí úsáid a bhaint as an SimpleSequentialChain
modúl LangChain. I gcás raon leathan d’fheidhmchláir NLP, lena n-áirítear chatbots, córais ceisteanna agus freagraí, agus uirlisí aistriúcháin teanga, d’fhéadfadh sé seo a bheith cabhrach go leor.
Faightear gile LangChain ina chumas teibí, rud a chuireann ar chumas an úsáideora díriú ar an tsaincheist reatha seachas ar shaintréithe na samhaltú teanga.
Déanann LangChain an próiseas chun samhlacha teanga sofaisticiúla a chruthú níos éasca le húsáid trí mhúnlaí réamhoilte agus rogha teimpléid a thairiscint.
Tugann sé an rogha duit na samhlacha teanga a mhionchoigeartú ag baint úsáide as a gcuid sonraí féin, rud a fhágann go bhfuil sé simplí na samhlacha teanga a shaincheapadh. Cumasaíonn sé seo samhlacha níos cruinne, a bhaineann go sonrach leis an bhfearann, a fhorbairt a sháraíonn na samhlacha oilte do phost ar leith.
An SimpleSequentialChain
modúl agus gnéithe eile de LangChain is uirlis éifeachtach é chun córais NLP sofaisticiúla a fhorbairt agus a imscaradh go tapa.
Leave a Reply