Zpět na Blog
Blog

LangChain🦜🔗: Výkonný framework, který revolucionizuje aplikace s jazykovými modely

Sep 7, 2023·6 min read·Palomi Jain
#Artificial Intelligence#Large Language Model#machine learning#Python
LangChain🦜🔗: Výkonný framework, který revolucionizuje aplikace s jazykovými modely

LangChain🦜🔗: Výkonný rámec revolucionizující aplikace s jazykovými modely

Co je LangChain?

LangChain je výkonný rámec navržený tak, aby revolucionizoval vývoj aplikací poháněných jazykovými modely. Jazykové modely jako ChatGPT a Llama jsou neuvěřitelně všestranné a vynikají v širokém spektru úkolů. Mohou však čelit výzvám, pokud jde o poskytování přesných odpovědí nebo řešení úkolů, které vyžadují hluboké doménové znalosti nebo odbornost. Právě zde přichází na pomoc LangChain.

Například – S pomocí LangChain můžeme trénovat LLM jako ChatGPT na vlastní datové sadě recenzí restaurací. Datová sada obsahuje specifické informace o různých kuchyních, atmosféře a kvalitě služeb.

Když nyní položíte ChatGPT přesnou otázku jako „Která restaurace nabízí nejlepší sushi ve městě?", ChatGPT, který byl vyladěn na vlastní datové sadě recenzí restaurací, může poskytnout přesnější a specifičtější odpověď. Může čerpat ze svých znalostí datové sady a doporučit restauraci s nejvyšším hodnocením sushi podle recenzí zákazníků.

Čtěte více: Oficiální dokumentace

Pojďme vytvořit malou aplikaci

V tomto článku vám ukážu návod krok za krokem k vytvoření čtečky dokumentů pomocí LangChain a HuggingFace. Budu používat Google Colab jako platformu k vytvoření aplikace

  1. Vytvořte nový notebook v Google Collab a nainstalujte všechny potřebné závislosti

Klikněte na „Nový notebook" nebo přejděte na „Soubor" > „Nový notebook" a vytvořte nový notebook Colab a nainstalujte níže uvedené závislosti.

Obrázek autorem

2. Získání klíče API HuggingFace

Pokud ještě nemáte účet Hugging Face, budete si jej muset vytvořit. Můžete se zaregistrovat na webu Hugging Face.

Jakmile jste přihlášeni, přejděte do části Profil kliknutím na ikonu vašeho profilu v pravém horním rohu a vyberte „Nastavení" z rozbalovací nabídky.

Poté přejděte do sekce Tokeny přístupu a vytvořte nový token

Obrázek autorem

Poté vytvořte novou buňku kódu a přidejte níže uvedený kód –

Obrázek autorem

Nahraďte fiktivní řetězec svým klíčem API a spusťte kód.

3. Vytváření vložení a vektorového úložiště pro odpovídání na otázky

V mnoha aplikacích Language Model (LLM) často vzniká požadavek na data specifická pro uživatele, která nebyla součástí původní tréninkové datové sady modelu. LangChain vás vybavuje nezbytnými prvky pro import, transformaci, uložení a efektivní dotazování vašich vlastních dat.

Zdroj: LangChain Docs

Proces se skládá z pěti odlišných fází:

  1. Načítání dokumentů: Tato fáze je zodpovědná za import dat ve formě dokumentů.
  2. Segmentace dokumentů: Zde podstoupí dokument segmentaci a rozdělí se na lépe zvládnutelné části.
  3. Generování vložení: V tomto kroku se tyto části transformují do vektorových reprezentací, známých také jako vložení.
  4. Vektorové úložiště: Tato komponenta slouží jako úložiště pro uložení zmíněných vektorů částí v dedikované vektorové databázi.
  5. Mechanismus vyhledávání: Poslední fáze zahrnuje mechanismus vyhledávání. Používá se k načtení jedné nebo více sad vektorů, které vykazují nejvyšší podobnost s dotazem, přičemž jak dotaz, tak uložené vektory se nacházejí ve stejném latentním prostoru.

Nyní začneme načítáním dokumentu. Načítám stručné shrnutí indické ústavy vytvořené ChatGPT.

Obrázek autorem

Po načtení dokumentu rozdělme delší textové dokumenty na menší, nepřekrývající se části po 1000 znacích každá

Obrázek autorem

Po segmentaci dokumentu inicializujme naše vložení. Používáme vložení poskytovaná knihovnou Hugging Face Transformers.

Obrázek autorem

Nyní nastavíme vektorové úložiště pomocí Faiss. V podstatě se vaše textová data transformují na vektory pomocí poskytnutých vložení a Faiss se používá k efektivnímu indexování a vyhledávání těchto vektorů.

Obrázek autorem

Nyní načteme LLM flan-t5-xxl od Googlu z HuggingFace. Jedná se o cenný nástroj v úkolech odpovídání na otázky díky svému přístupu text-to-text, předtrénovanému a velkému modelu.

Obrázek autorem

Poté vytvořme řetězec pomocí LangChain. Řetězce nám umožňují spojit více komponent do soudržné aplikace.

Obrázek autorem

Vytvoříme jednoduchý řetězec: začíná dotazem a dotaz se pak odešle na LLM.

Obrázek autorem

Pro kontext zde je část shrnutí, ze které LLM odpověděl –

"Preambule: Preambule indické ústavy popisuje ideály a cíle, kterých chtěli dosáhnout tvůrci ústavy. Zdůrazňuje Indii jako suverénní, socialistickou, sekularistickou a demokratickou republiku, která usiluje o spravedlnost, svobodu, rovnost a bratství pro své občany."

Pojďme si položit další otázku

Obrázek autorem

Aplikace –

  1. Chatboti s umělou inteligencí a virtuální asistenti: Schopnosti odpovídání na otázky vložené v tomto kódu vytváří základ pro vytváření chatbotů s umělou inteligencí a virtuálních asistentů, kteří mohou poskytovat okamžité odpovědi s vědomím kontextu na dotazy uživatelů. Má to aplikace v zákaznické podpoře, e-learningu a dalších oblastech.
  2. Vzdělávací nástroje: Pedagogové a studenti mohou těžit z automatizovaného odpovídání na otázky, které pomáhá objasnit pochybnosti a zlepšit vzdělávací prostředí. Lze jej také použít při tvorbě vzdělávacího obsahu.
  3. Enginy doporučení obsahu: Porozuměním kontextu a záměru za dotazy lze tento kód použít k vývoji systémů doporučení obsahu, který zajistí, že uživatelé obdrží vysoce relevantní návrhy.

Pro čtenáře, které zajímá hlubší ponor do těchto aplikací a zkoumání dalších nástrojů pro jejich projekty, zde jsou některé cenné zdroje:

FlowiseAI - Snadné vytváření aplikací LLM Open source vizuální nástroj uživatelského rozhraní k vytvoření vašeho přizpůsobeného toku LLM pomocí Langchainflowiseai.comLangflow Waitlist Připojte se k seznamu čekajících na Langflow ještě dnes a zjistěte zjednodušený přístup k LLM. Open-source a uživatelsky…www.langflow.org

Závěr –

Tento článek ukázal, jak lze LangChain použít při vývoji aplikací poháněných jazykovými modely a jak jeho flexibilní abstrakce a rozsáhlá sada nástrojů umožňují vývojářům využít sílu LLM.

V neustále se vyvíjející krajině AI se LLM etablovaly jako game-changery a jsme hrdí na to, že jsme součástí této vzrušující cesty směrem k inteligentnější a efektivnější budoucnosti. Těšíme se na využívání LLM k inovacím, řešení složitých výzev a poskytování ještě větší hodnoty našim klientům a partnerům na My Next Developer.