A láncok nem csak egyetlen LLM-hívás esetén működnek; ezek hívások gyűjteményei, akár egy LLM-hez, akár egy másik segédprogramhoz. A LangChain a széles körben használt alkalmazásokhoz végpontokig terjedő láncokat, szabványos lánc API-t és számos eszközintegrációt biztosít.
A rugalmasság és a több elem egyetlen entitásba kapcsolásának képessége akkor lehet hasznos, ha olyan láncot szeretnénk tervezni, amely elfogadja a felhasználói bevitelt, beállítja azt PromptTemplate segítségével, majd a generált eredményt eljuttatja egy LLM-hez.
Ez a cikk segít megérteni a LangChain LLMchain függvény használatát a Pythonban.
Példa: Az LLMchain funkció használata a LangChainben
Beszélgettünk arról, hogy mi a lánc. Most egy gyakorlati bemutatót fogunk látni ezekről a láncokról, amelyek Python szkriptben vannak implementálva. Ebben a példában a legalapvetőbb LangChain láncot használjuk, amely az LLMchain. Tartalmaz egy PromptTemplate-et és egy LLM-et, és összeláncolja őket, hogy kimenetet generáljon.
A koncepció megvalósításának megkezdéséhez telepítenünk kell néhány szükséges könyvtárat, amelyek nem szerepelnek a Python szabványos könyvtárában. A telepítendő könyvtárak a LangChain és az OpenAI. A LangChain könyvtárat azért telepítjük, mert annak LLMchain modulját, valamint a PromptTemplate-t kell használnunk. Az OpenAI könyvtár lehetővé teszi, hogy az OpenAI modelljeit használjuk a kimenetek, azaz a GPT-3 előrejelzésére.
A LangChain könyvtár telepítéséhez futtassa a következő parancsot a terminálon:
$ pip langchain telepítéseTelepítse az OpenAI könyvtárat a következő paranccsal:
$ pip install openai
A telepítések befejezése után elkezdhetjük a fő projektet.
tól től langchain. felszólítja import PromptTemplatetól től langchain. llms import OpenAI
import te
te . hozzávetőlegesen, körülbelül [ 'OPENAI_API_KEY' ] = 'sk-YOUR API KEY'
A fő projekt a szükséges modulok importálásával kezdődik. Tehát először a PromptTemplate-et importáljuk a „langchain.prompts” könyvtárból. Ezután importáljuk az OpenAI-t a „langchain.llms” könyvtárból. Ezután importáljuk az „os”-t a környezeti változó beállításához.
Kezdetben az OpenAI API kulcsot állítottuk be környezeti változóként. A környezeti változó egy névből és egy értékből álló változó, amely az operációs rendszerünkön van beállítva. Az „os.environ” egy objektum, amelyet a környezeti változók leképezésére használnak. Tehát „os.environ”-nak hívjuk. Az API-kulcshoz beállított név: OPENAI_API_KEY. Ezután az API kulcsot rendeljük hozzá értékként. Az API-kulcs minden felhasználó számára egyedi. Tehát, amikor ezt a kódszkriptet gyakorolja, írja be titkos API-kulcsát.
llm = OpenAI ( hőfok = 0.9 )gyors = PromptTemplate (
bemeneti_változók = [ 'Termékek' ] ,
sablon = 'Mi lenne egy olyan márka neve, amely {termékeket} árul?' ,
)
Most, hogy a kulcs környezeti változóként van beállítva, inicializálunk egy wrappert. Állítsa be az OpenAI GPT modellek hőmérsékletét. A hőmérséklet egy olyan jellemző, amely segít meghatározni, mennyire lesz kiszámíthatatlan a reakció. Minél magasabb a hőmérsékleti érték, annál ingadozóbbak a reakciók. A hőmérséklet értéket itt 0,9-re állítottuk be. Így a legtöbb véletlenszerű eredményt kapjuk.
Ezután inicializálunk egy PromptTemplate osztályt. Amikor az LLM-et használjuk, egy promptot generálunk a felhasználótól vett bemenetből, majd továbbítjuk az LLM-nek, ahelyett, hogy közvetlenül az LLM-nek küldjük el a bemenetet, amely kemény kódolást igényel (a prompt olyan bemenet, amelyet a felhasználó, és amelyre a definiált AI-modellnek választ kell adnia). Tehát inicializáljuk a PromptTemplate-et. Ezután a kapcsos zárójelben a bemeneti_változót „Termékek”-ként definiáljuk, a sablon szövege pedig „Mi lenne a neve egy márka, amely {termékeket} árul?” A felhasználói bemenet megmondja, mit csinál a márka. Ezután ezen információk alapján formázza a promptot.
tól től langchain. láncok import LLMCchainlánc = LLMCchain ( llm = llm , gyors = gyors )
Most, hogy a PromptTemplate formázva van, a következő lépés az LLMchain létrehozása. Először importálja az LLMchain modult a „langchain.chain” könyvtárból. Ezután létrehozunk egy láncot az LLMchain() függvény meghívásával, amely megkapja a felhasználói bevitelt és formázza vele a promptot. Végül elküldi a választ az LLM-nek. Tehát összeköti a PromptTemplate-et és az LLM-et.
nyomtatás ( lánc. fuss ( 'Művészeti kellékek' ) )A lánc végrehajtásához meghívjuk a chain.run() metódust, és paraméterként megadjuk a felhasználói bevitelt, amely „Art Supplies”-ként van definiálva. Ezután ezt a metódust átadjuk a Python print() függvénynek, hogy megjelenítse a várható eredményt a Python konzolon.
Az AI-modell beolvassa a promptot, és az alapján választ ad.
Mivel egy művészeti kellékeket árusító márkát kértünk meg, a mesterséges intelligencia modell által megjósolt név a következő pillanatképen látható:
Ez a példa az LLMchaining-et mutatja be egyetlen bemeneti változó esetén. Ez több változó használata esetén is lehetséges. Ehhez egyszerűen létre kell hoznunk egy szótárt a változókból, hogy beírjuk őket. Lássuk, hogyan működik ez:
tól től langchain. felszólítja import PromptTemplatetól től langchain. llms import OpenAI
import te
te . hozzávetőlegesen, körülbelül [ 'OPENAI_API_KEY' ] = „sk- Your-API-KEY”
llm = OpenAI (hőmérséklet = 0,9)
prompt = PromptTemplate(
input_variables=[' Márka ', ' Termék '],
template=' Mi lenne a neve { Márka } hogy eladja { Termék } ? ',
)
innen: langchain.chains import LLMChain
lánc = LLMChain(llm=llm, prompt=prompt)
print(chain.run({
'Márka': ' Művészeti kellékek ',
'Termék': ' színek '
}))
A kód ugyanaz, mint az előző példában, azzal a különbséggel, hogy két változót kell átadnunk a prompt sablon osztályban. Tehát hozzon létre egy szótárt a bemeneti_változókból. A hosszú zárójelek egy szótárat jelölnek. Itt két változónk van – „Brand” és „Product” –, amelyeket vessző választ el. Most az általunk megadott sablonszöveg a következő: „Mi lenne a(z) {Brand} neve, amelyik {terméket} árusít?” Így az AI-modell megjósol egy nevet, amely erre a két bemeneti változóra összpontosít.
Ezután létrehozunk egy LLMchain-t, amely formázza a felhasználói bevitelt úgy, hogy a választ elküldi az LLM-nek. Ennek a láncnak a futtatásához a chain.run() módszert használjuk, és a változók szótárát „Márka”-ként adjuk át: „Művészeti kellékek” és „Termék” mint „Színek”. Ezután ezt a metódust a Python print() függvénynek adjuk át a kapott válasz megjelenítéséhez.
A kimeneti kép a várható eredményt mutatja:
Következtetés
A láncok a LangChain építőkövei. Ez a cikk az LLMchain használatának koncepcióját mutatja be a LangChainben. Bevezettük az LLMchain-t, és bemutattuk, hogy szükség van rájuk a Python projektben való alkalmazásra. Ezután egy gyakorlati illusztrációt végeztünk, amely bemutatja az LLMchain megvalósítását a PromptTemplate és az LLM összekapcsolásával. Ezeket a láncokat egyetlen bemeneti változóval, valamint több, a felhasználó által megadott változóval is létrehozhatja. A GPT modellből generált válaszok is rendelkezésre állnak.