LangChain o se meafaigaluega faʻapitoa ma malosi ua atiaʻe e faʻaogaina le malosi o Large Language Models (LLMs).
O nei LLM o loʻo i ai ni agavaʻa mataʻina ma e mafai ona faʻatautaia lelei le tele o galuega. Ae ui i lea, e taua le maitauina o lo latou malosi e taoto i lo latou natura lautele nai lo le loloto o tomai faʻapitoa. O lona lauiloa ua tupu vave talu mai le faʻaofiina o le GPT-4.
A'o sili atu LLM i le fa'afoeina o galuega eseese, e ono feagai ma tapula'a pe a o'o mai i le tu'uina atu o tali fa'apitoa po'o le fa'atinoina o galuega e mana'omia ai le loloto o le poto fa'aletulafono. Mafaufau, mo se faʻataʻitaʻiga, faʻaaogaina se LLM e tali ai fesili pe faʻatino galuega i totonu o matata faʻapitoa e pei o vailaʻau poʻo tulafono.
E ui e mautinoa e mafai e le LLM ona tali atu i fesili lautele e uiga i nei matā'upu, e ono tauivi e ofoina atu fa'amatalaga au'ili'ili po'o ni tali e mana'omia ai le poto fa'apitoa po'o le tomai.
E mafua ona o LLM o loʻo aʻoaʻoina i le tele o faʻamaumauga o tusitusiga mai punaoa eseese, e mafai ai ona latou aʻoaʻoina mamanu, malamalama i faʻamatalaga, ma faʻatupuina tali tutusa. Ae ui i lea, o latou aʻoaʻoga e le masani ona aofia ai le mauaina o le poto faʻapitoa poʻo le poto faʻapitoa i le tulaga tutusa ma tagata tomai faapitoa i na matata.
O le mea lea, e ui lava o LangChain, faʻatasi ma LLM, e mafai ona avea ma meafaigaluega taua mo le lautele o galuega, e taua le iloa e ono manaʻomia pea le poto masani loloto i nisi tulaga. O tagata tomai fa'apitoa e iai le poto fa'apitoa e mafai ona tu'uina atu le loloto e mana'omia, malamalama fa'anumeraina, ma fa'amatalaga fa'apitoa e ono sili atu nai lo le gafatia o LLM na'o ia.
Matou te fautua e vaʻai i LangChain's docs poʻo GitHub fale teu oloa mo se malamalama sili atu i ona tulaga masani faʻaaogaina. E matua fautuaina lava ina ia maua se ata sili atu o lenei fusi.
E faapefea ona faigaluega?
Ina ia malamalama i le faʻamoemoe ma le galuega a LangChain, seʻi o tatou mafaufau i se faʻataʻitaʻiga aoga. Matou te iloa o le GPT-4 o loʻo i ai se malamalama lautele mataʻina ma e mafai ona tuʻuina atu tali faʻalagolago i le tele o fesili.
Ae peitaʻi, faʻafefea pe a tatou mananaʻo i faʻamatalaga patino mai a tatou lava faʻamatalaga, e pei o se pepa patino, tusi, faila PDF, poʻo faʻamaumauga faʻapitoa?
LangChain e mafai ai ona matou faʻafesoʻotaʻi a fa'ata'ita'iga gagana tele pei o le GPT-4 i a tatou lava punaoa o faʻamatalaga. E sili atu nai lo le na o le faapipiiina o se vaega o tusitusiga i totonu o se fesoʻotaʻiga talatalanoaga. Ae, e mafai ona matou faʻasino i se faʻamaumauga atoa o loʻo tumu i a matou lava faʻamatalaga.
O le taimi lava matou te maua ai faʻamatalaga manaʻomia, e mafai e LangChain ona fesoasoani ia i matou i le faia o gaioiga faʻapitoa. Mo se faʻataʻitaʻiga, e mafai ona matou faʻatonuina e lafo se imeli e iai faʻamatalaga patino.
Ina ia ausia lenei mea, matou te mulimuli i se auala paipa e faʻaaoga ai LangChain. Muamua, matou te ave le pepa matou te manaʻo ai fa'ata'ita'iga o le gagana e faasino ma vaevae i ni pusi laiti. O nei pusi e teuina e pei o ni mea e fa'apipi'i ai, o le fa'atusa ve'a ole tusitusiga, ile Vector Database.
Faatasi ai ma lenei seti, e mafai ona matou fausia ni faʻataʻitaʻiga gagana e mulimulitaʻi i se paipa masani: e tuʻuina atu e se tagata faʻaoga se fesili muamua, ona lafo atu lea i le gagana faʻataʻitaʻiga. O le fa'atusa o le Vector o le fesili e fa'aaogaina e fai ai se su'esu'ega tutusa i le Vector Database, e toe maua mai ai vaega talafeagai o fa'amatalaga.
O nei pusi e toe fafaga i le fa'ata'ita'iga o le gagana, e mafai ai ona tu'uina atu se tali pe fa'atino le gaioiga e mana'omia.
LangChain faʻafaigofieina le atinaʻeina o talosaga e iloa ai faʻamatalaga, aua e mafai ona tatou faʻasinoina a tatou lava faʻamatalaga i totonu o se faleoloa vector, ma faʻamaoni, aua e mafai ona latou faia ni gaioiga i tua atu o le taliina o fesili. T
na te tatalaina le tele o mataupu faʻaoga faʻapitoa, aemaise lava i fesoasoani a le tagata lava ia, lea e mafai ai e se faʻataʻitaʻiga gagana tele ona taulimaina galuega e pei o le resitalaina o vaalele, faʻaliliuina o tupe, poʻo le fesoasoani i mataupu tau lafoga.
E le gata i lea, o le a'afiaga o le su'esu'eina ma le a'oa'oina o mata'upu fou e taua tele, aua o se fa'ata'ita'iga o le gagana e mafai ona fa'asino i se syllabus atoa ma fa'avavevave ai le a'oa'oina. Fa'ailoga, su'esu'ega o fa'amaumauga, ma fa'asaienisi fa'amaumauga e fa'amoemoeina fo'i e fa'aaafia tele i nei fa'agasolo.
O se tasi o faʻamoemoega sili ona fiafia o le faʻafesoʻotaʻi faʻataʻitaʻiga gagana tetele i faʻamaumauga a le kamupani o loʻo i ai, e pei o faʻamatalaga faʻatau poʻo faʻamatalaga tau maketi. O le tu'ufa'atasiga ma API fa'apitoa e pei ole Meta's API po'o le Google's API e folafola atu le alualu i luma fa'atele i au'ili'ili fa'amaumauga ma fa'asaienisi fa'amaumauga.
Fa'afefea ona Fausia se Upega Tafa'ilagi (Demo)
I le taimi nei, o loʻo avanoa Langchain e pei o Python ma JavaScript Packages.
E mafai ona matou fatuina se faʻataʻitaʻiga Web App faʻaaogaina Streamlit, LangChain, ma le OpenAI GPT-3 faʻataʻitaʻiga e faʻatino ai le manatu LangChain.
Ae muamua, e tatau ona tatou faʻapipiʻi ni nai faʻalagolago, e aofia ai Streamlit, LangChain, ma OpenAI.
Muamua manaʻomia
Fa'aolaola: O se pusa Python lauiloa mo le fatuina o fa'amatalaga fa'asaienisi fa'akomepiuta
OpenAI: E mana'omia le avanoa ile GPT-3 gagana fa'ata'ita'iga a OpenAI.
Ina ia faʻapipiʻi nei faʻalagolago, faʻaaoga tulafono nei ile cmd:
pip install streamlit
pip install langchain
pip install openai
Auina atu afifi
Matou te amata i le faʻaulufaleina mai o pusa manaʻomia, e pei o OpenAI, LangChain, ma Streamlit. O matou filifili faʻataʻitaʻiga gagana e faʻamalamalamaina ma faʻatinoina e faʻaaoga ai vasega e tolu mai LangChain: LLMChain, SimpleSequentialChain, ma PromptTemplate.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Setup Seti
O le faʻavae faʻavae o la matou poloketi na faʻapipiʻiina i le faʻaogaina o le Streamlit syntax. Na matou tuʻuina atu i le app le ulutala "O le a le TRUE: Faʻaaogaina o le Faʻasologa Faʻasologa Faʻasologa" ma aofia ai se faʻailoga faʻamaufaʻailoga i le faleteuoloa GitHub na avea ma musumusuga a le app.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Widget pito i luma
Matou te setiina le app ma ni nai faʻamatalaga talafeagai, faʻaoga faigofie Streamlit syntax:
# 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")
E fa'aopoopo ai widget pito i luma
E le gata i lea, matou te manaʻomia le tuʻuina atu o se widget faʻaoga e faʻataga ai a matou tagata faʻaoga e ulufale i soʻo se fesili.
# 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?",
)
Ua mae'a uma! O filifili ua i luga ma tamoe!
Matou te faʻaaogaina filifili eseese o gaioiga faʻatasi ma SimpleSequentialChain
e tali atu i le fesili a le tagata fa'aoga. O filifili e faia i le faasologa o loʻo mulimuli mai pe a filifilia e le tagata faʻaoga le "Tell me about it"
button:
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
: o le laasaga muamua lea i la tatou paipa, e maua ai le fesili a le tagata faʻaoga e fai ma faʻaoga ma gaioiga. O le fesili a le tagata fa'aoga e fai ma fa'ata'ita'iga a le filifili.- E faavae i luga o se faamatalaga e fesootai i le fesili, o le
assumptions_chain
fa'atupuina se lisi mata'upu o manatu e fa'aaoga ai mea e maua mai lequestion_chain
e fai ma sao. O leLLMChain
maOpenAI
faʻataʻitaʻiga mai LangChain na faʻaaogaina e fausia ai le faʻamatalaga. O le tagata faʻaoga e faʻatonuina le fatuina o se lisi o manatu na faia ina ia mafai ai ona maua le faʻamatalaga e faʻaaoga ai le mamanu mo lenei filifili. - Fa'avae i galuega fa'atino mai le
question_chain
maassumptions_chain
, o lefact_checker_chain
fa'atupuina se lisi o fa'amatalaga i le tulaga o pulufana. O tagi e faia i le fa'aaogaina o leOpenAI
faʻataʻitaʻiga maLLMChain
mai LangChain. O lo'o fa'atonuina le tagata fa'aoga i le su'esu'eina pe sa'o pe le sa'o ta'iala ta'itasi ma tu'uina atu le fa'amaoniaga mo ia mea. - le
answer_chain
fa'aaogaina galuega fa'atino mai lequestion_chain
,assumptions_chain
, mafact_checker_chain
e fai ma fa'aoga e fatu ai se tali i le fesili a le tagata fa'aoga e fa'aaoga ai fa'amaumauga na gaosia e filifili muamua. O le faʻataʻitaʻiga mo lenei filifili e talosagaina le tagata faʻaoga e tali i le fesili muamua e faʻaaoga ai mea moni na faia. - Ina ia mafai ona tuʻuina atu le tali sili i le suʻesuʻega a le tagata faʻaoga e faʻatatau i faʻamatalaga na gaosia e filifili muamua, matou te tuʻufaʻatasia nei filifili i totonu o le filifili atoa. A maeʻa filifili, matou te faʻaaogaina
st.success()
e fa'aali i le tagata fa'aoga le fofo.
iʻuga
E mafai ona tatou filifili fa'atasi fa'ata'ita'iga gagana eseese e fa'atupu ai ni paipa lavelave e ala i le fa'aogaina o le SimpleSequentialChain
module ole LangChain. Mo le tele o ituaiga NLP talosaga, e aofia ai chatbots, faiga fesili-ma-tali, ma meafaigaluega faaliliu gagana, atonu e aoga tele.
O le susulu o LangChain o loʻo maua i lona gafatia e vaʻaia, lea e mafai ai e le tagata faʻaoga ona taulaʻi i le mataupu o loʻo i ai nei nai lo le faʻapitoa o le faʻataʻitaʻiga o le gagana.
LangChain faia le faʻagasologa o le fatuina o faʻataʻitaʻiga gagana faʻapitoa e sili atu le faʻaoga-tagata e ala i le ofoina atu o faʻataʻitaʻiga aʻoaʻoga muamua ma se filifiliga o faʻataʻitaʻiga.
E tu'uina atu ia te oe le filifiliga e fa'alelei lelei fa'ata'ita'iga gagana e fa'aaoga ai a latou lava fa'amaumauga, fa'afaigofie ona fa'avasegaina fa'ata'ita'iga gagana. Ole mea lea e mafai ai ona fa'atupuina fa'ata'ita'iga fa'apitoa, fa'ata'ita'iga fa'apitoa e, mo se galuega tu'ufa'atasia, e sili atu i fa'ata'ita'iga a'oa'oina.
le SimpleSequentialChain
module ma isi vaega o LangChain e avea o se meafaigaluega aoga mo le vave atinaʻeina ma le faʻaogaina o faiga faʻapitoa NLP.
Tuua se tali