Ko LangChain he taputapu tapahi me te pakari i whakawhanakehia hei whakamahi i te kaha o nga Tauira Reo Nui (LLM).
He tino kaha enei LLM, a ka taea e ratou te whakatutuki i te maha o nga mahi. Engari, he mea nui kia mohio ko to raatau kaha kei roto i to raatau ahuatanga whanui, kaua ki te tohungatanga rohe hohonu. Kua tere haere tona rongonui mai i te whakaurunga o te GPT-4.
Ahakoa te pai o nga LLM ki te whakahaere i nga momo mahi, ka raru pea ratou ki te tuku whakautu motuhake, ki te whakatutuki i nga mahi e hiahia ana ki te matauranga rohe hohonu. Whakaarohia, hei tauira, te whakamahi i te LLM ki te whakautu i nga paatai, ki te mahi mahi ranei i roto i nga mara motuhake penei i te rongoa, ture ranei.
Ahakoa ka taea e te LLM te whakautu ki nga uiuinga whanui mo enei mara, ka uaua pea ki te tuku atu i nga whakautu taipitopito me nga whakautu e tika ana kia mohio ki nga tohungatanga.
Ko tenei na te mea kua whakangungua nga LLM i runga i te maha o nga raraunga kuputuhi mai i nga punaa kanorau, e taea ai e ratou te ako i nga tauira, te mohio ki te horopaki, me te whakaputa whakautu pai. Heoi ano, ko ta raatau whakangungu kaore i te nuinga o te waa ki te whai waahi-a-rohe, ki te whiwhi matauranga motuhake ranei kia rite ki nga tohunga tangata mo aua mara.
No reira, ahakoa ko LangChain, i te taha o nga LLM, he taputapu utu nui mo te whānuitanga o nga mahi, he mea nui kia mohio kei te tika tonu te tohungatanga rohe hohonu i etahi ahuatanga. Ka taea e nga tohunga tangata whai matauranga motuhake te whakarato i te hohonutanga e tika ana, te maramatanga rereke, me nga maaramatanga-a- horopaki ka nui ake pea i nga kaha o nga LLM anake.
Ka tohutohu matou ki te titiro ki nga tuhinga a LangChain ranei GitHub putunga mo te maaramatanga ake mo ona keehi whakamahi angamaheni. E kaha ana te tohutohu kia nui ake te pikitia o tenei paihere.
Nahea te Mahi Mahi?
Kia mohio ai koe ki te kaupapa me te mahi a LangChain, me whakaaro tatou ki tetahi tauira mahi. E mohio ana matou he matauranga whanui te GPT-4 ka taea te whakautu pono ki te maha o nga paatai.
Heoi, ka pehea mena ka pirangi matou ki nga korero motuhake mai i a matou ake raraunga, penei i te tuhinga whaiaro, pukapuka, konae PDF, papaaarangi rangatira ranei?
Ka taea e LangChain te hono atu a tauira reo nui penei i te GPT-4 ki a maatau ake puna raraunga. Kei tua atu i te whakapiri noa i tetahi waahanga kuputuhi ki roto i te atanga korerorero. Engari, ka taea e tatou te tohutoro i te katoa o te papaa raraunga kua whakakiia ki a tatou ake raraunga.
Ina whiwhi tatou i nga korero e hiahiatia ana, ka taea e LangChain te awhina ia tatou ki te mahi i nga mahi motuhake. Hei tauira, ka taea e matou te ako ki te tuku imeera kei roto etahi korero.
Hei whakatutuki i tenei, ka whai tatou i te huarahi paipa ma te whakamahi i te LangChain. Tuatahi, ka tangohia e matou te tuhinga e hiahia ana matou tauira reo hei tohutoro me te wehewehe ki nga wahanga iti. Ka penapenahia enei wahanga hei whakaurunga, ara whakaaturanga vector o te kuputuhi, i roto i te Raraunga Raraunga Vector.
Ma tenei tatūnga, ka taea e tatou te hanga tono tauira reo e whai ana i te paipa paerewa: ka patai tetahi kaiwhakamahi i tetahi patai tuatahi, ka tukuna ki te tauira reo. Ka whakamahia te whakaaturanga vector o te patai ki te rapu ritenga i roto i te Raraunga Raraunga Vector, ki te tiki i nga wahanga korero e tika ana.
Ka whakahokia mai enei wahanga ki te tauira reo, ka taea e ia te whakahoki whakautu, te mahi ranei i nga mahi e hiahiatia ana.
Ka awhina a LangChain i te whakawhanaketanga o nga tono e mohio ana ki nga raraunga, na te mea ka taea e tatou te tohu i o tatou ake raraunga i roto i te toa vector, me te pono, na te mea ka taea e ratou te mahi i tua atu i te whakautu i nga paatai. T
ka whakatuwherahia e ia te maha o nga keehi mahi, ina koa i roto i te awhina whaiaro, ka taea e te tauira reo nui te whakahaere i nga mahi penei i te tono waka rererangi, te whakawhiti moni, te awhina ranei i nga take e pa ana ki te taake.
I tua atu, he mea nui nga whainga mo te ako me te ako i nga kaupapa hou, na te mea ka taea e te tauira reo te tohutoro i te marautanga katoa me te whakatere i te mahi ako. Ko te whakawaehere, te wetewete raraunga, me te puutaiao raraunga e tika ana kia tino awehia e enei ahunga whakamua.
Ko tetahi o nga mea tino whakahihiri ko te hono i nga tauira reo nui ki nga raraunga kamupene o naianei, penei i nga korero a nga kaihoko me nga raraunga hokohoko. Ko tenei whakaurunga me nga API matatau penei i te API a Meta, i te API a Google ranei e oati ana i te ahunga whakamua i roto i nga tātaritanga raraunga me te pūtaiao raraunga.
Me pehea te Hanga Wharangi Tukutuku (Demo)
I tenei wa, kei te waatea a Langchain hei Python me JavaScript Packages.
Ka taea e matou te hanga i tetahi whakaaturanga Tukutuku Tukutuku ma te whakamahi i te Streamlit, LangChain, me te tauira OpenAI GPT-3 hei whakatinana i te kaupapa LangChain.
Engari ko te tuatahi, me whakauru e matou etahi taapiri, tae atu ki te Streamlit, LangChain, me OpenAI.
Nga wa-mua
Whakamarama: He kohinga Python rongonui mo te hanga tono tukutuku e pa ana ki te pūtaiao raraunga
OpenAI: Me uru ki te tauira reo GPT-3 o OpenAI.
Hei whakauru i enei whakawhirinaki, whakamahia nga whakahau e whai ake nei i roto i te cmd:
pip install streamlit
pip install langchain
pip install openai
Kawemai Mōkī
Ka timata ma te kawemai i nga kohinga e hiahiatia ana, penei i te OpenAI, LangChain, me Streamlit. Ko o tatou mekameka tauira reo kua tautuhia ka mahia ma te whakamahi i nga karaehe e toru mai i LangChain: LLMChain, SimpleSequentialChain, me PromptTemplate.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Tautuhinga Tae
Ko te turanga hanganga o ta maatau kaupapa i hangaia ma te whakamahi i te raupapatanga Streamlit. I hoatu e matou ki te taupānga te taitara "He aha te TINO: Ma te Maamahi Raapapa Maamaa" me te whakauru i tetahi hononga tohu ki te putunga GitHub i noho hei whakaawe mo te taupānga.
import streamlit as st
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
Tuhinga o Mua-Mutunga
I whakaturia e matou te taupānga me etahi korero e tika ana, ma te whakamahi i te wetereo Streamlit ngawari:
# 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")
Hei taapiri i nga widget o mua
I tua atu, me whakarato he taputapu whakauru kia taea ai e a maatau kaiwhakamahi te whakauru i nga patai.
# 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?",
)
Kua oti katoa! Kua eke nga mekameka!
Ka whakamahia e matou nga momo mekameka mahi tahi me SimpleSequentialChain
ki te whakautu ki te patai a te kaiwhakamahi. Ka mahia nga mekameka i roto i te raupapa e whai ake nei ka kowhiria e te kaiwhakamahi te "Tell me about it"
pātene:
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
: ko te taahiraa tuatahi i roto i ta maatau paipa, ka whiwhi i te patai a te kaiwhakamahi hei whakaurunga me te whakaputa. Ko te patai a te kaiwhakamahi hei tauira mo te mekameka.- I runga i tetahi korero e hono ana ki te patai, ko te
assumptions_chain
ka whakaputa i te rarangi matā o nga whakapae ma te whakamahi i te putanga mai i tequestion_chain
hei whakaurunga. Ko teLLMChain
aOpenAI
Ko te tauira mai i LangChain i whakamahia hei hanga i te korero. Ko te mahi a te kaiwhakamahi ki te hanga rarangi o nga whakapae i mahia hei whakaputa i te korero ma te whakamahi i te tauira mo tenei mekameka. - I runga i nga putanga mai i te
question_chain
aassumptions_chain
, tefact_checker_chain
ka whakaputa i te rarangi o nga whakapae i te ahua o nga tohu matā. Ka mahia nga kereme ma te whakamahi i teOpenAI
tauira meLLMChain
mai i LangChain. Ko te mahi a te kaiwhakamahi ki te whakatau mehemea he tika, he he ranei ia kereme me te whakarite tika mo era. - te
answer_chain
ka whakamahi i nga putanga mai i tequestion_chain
,assumptions_chain
, afact_checker_chain
hei whakaurunga hei hanga whakautu ki te patai a te kaiwhakamahi ma te whakamahi i nga raraunga i mahia e nga mekameka o mua. Ko te tauira mo tenei mekameka e tono ana kia whakautu te kaiwhakamahi ki te patai tuatahi ma te whakamahi i nga meka i hangaia. - Hei whakarato i te tino whakautu ki te patai a te kaiwhakamahi i runga i nga korero i whakaputaina e nga mekameka o mua, ka whakauruhia e matou enei mekameka ki roto i te mekameka whanui. Ka oti nga mekameka, ka whakamahia e matou
st.success()
hei whakaatu ki te kaiwhakamahi te otinga.
Opaniraa
Ka taea e taatau te hono tahi i nga mahi tauira reo rereke hei hanga paipa uaua ake ma te whakamahi i te SimpleSequentialChain
kōwae o LangChain. Mo te maha o nga momo tono NLP, tae atu ki nga chatbots, nga punaha patai-whakautu, me nga taputapu whakamaori reo, he tino awhina tenei.
Ko te kanapa o LangChain ka kitea i roto i tona kaha ki te tangohanga, e taea ai e te kaiwhakamahi te aro ki te kaupapa o naianei, kaua ki nga ahuatanga o te whakatauira reo.
Ko LangChain te hanga i nga tauira reo maamaa kia pai ake te whakamahi ma te tuku tauira kua oti te whakangungu me te kowhiringa o nga tauira.
Ka hoatu ki a koe te whiringa ki te whakatikatika i nga tauira reo ma te whakamahi i o raatau ake raraunga, he maamaa te whakarite i nga tauira reo. Ma tenei ka taea te whakawhanake i nga tauira tino tika, motuhake-a-rohe, mo tetahi mahi, he pai ake i nga tauira kua whakangungua.
te SimpleSequentialChain
Ko nga waahanga me etahi atu waahanga o LangChain ka waiho hei taputapu whai hua mo te whakawhanake tere me te whakamahi i nga punaha NLP matatau.
Waiho i te Reply