A LangChain LLMChain függvény használata Pythonban

A Langchain Llmchain Fuggveny Hasznalata Pythonban



A LangChain rengeteg modullal rendelkezik a nyelvi modellalkalmazások létrehozásához. Az alkalmazások modulok kombinálásával bonyolíthatóak, vagy egyetlen modul használatával egyszerűbbé tehetők. Az LLM hívása egy bizonyos bemeneten a LangChain legfontosabb összetevője.

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ése

Telepí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 PromptTemplate

tó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 LLMCchain

lá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 PromptTemplate

tó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.