LangChain🦜🔗: Het krachtige raamwerk dat toepassingen met taalmodellen revolutioneert
Wat is LangChain?
LangChain is een krachtig raamwerk dat is ontworpen om de ontwikkeling van toepassingen aangedreven door taalmodellen te revolutioneren. Taalmodellen zoals ChatGPT en Llama zijn ongelooflijk veelzijdig en blinken uit in een breed scala van taken. Ze kunnen echter problemen ondervinden wanneer het gaat om het geven van precieze antwoorden of het aanpakken van taken die diepgaande domeinkennis of expertise vereisen. Hier komt LangChain te hulp.
Bijvoorbeeld — Met behulp van LangChain kunnen we een LLM zoals ChatGPT trainen op een aangepaste dataset met restaurantbeoordelingen. De dataset bevat specifieke informatie over verschillende keukens, sfeer en servicekwaliteit.
Nu, wanneer u ChatGPT een precieze vraag stelt zoals "Welk restaurant biedt het beste sushi in de stad?", kan ChatGPT, na fijnafstelling op de aangepaste restaurantbeoordelingsdataset, een nauwkeuriger en specifieker antwoord geven. Het kan gebruikmaken van zijn kennis van de dataset om het restaurant met de hoogst beoordeelde sushi aan te bevelen op basis van klantbeoordelingen.
Lees meer: Officiële documentatie
Laten we een kleine toepassing bouwen
In dit artikel zal ik een stap-voor-stap gids geven voor het bouwen van een documentlezer met behulp van LangChain en HuggingFace. Ik zal Google Colab gebruiken als platform voor het bouwen van de toepassing
- Maak een nieuw notitieblok in Google Colab en installeer alle benodigde afhankelijkheden
Klik op "Nieuw notitieblok" of ga naar "Bestand" > "Nieuw notitieblok" om een nieuw Colab-notitieblok te maken en installeer deze afhankelijkheden hieronder.

2. De HuggingFace API-sleutel ophalen
Als u nog geen Hugging Face-account hebt, moet u er een aanmaken. U kunt zich aanmelden voor een account op de Hugging Face-website.
Zodra u bent aangemeld, gaat u naar de sectie Profiel door op uw profielpictogram in de rechterbovenhoek te klikken en "Instellingen" te selecteren in het vervolgkeuzemenu.
Ga daarna naar de sectie Toegangstokens en maak een nieuw token

Maak daarna een nieuwe codecel aan en voeg de onderstaande code toe —

Vervang de dummy-tekenreeks door uw API-sleutel en voer de code uit.
3. Inbeddingen en een vectoropslag maken voor vragenstellen
In veel toepassingen met taalmodellen (LLM) is er vaak behoefte aan gebruikersspecifieke gegevens die niet deel uitmaakten van de originele trainingsgegevens van het model. LangChain voorziet u van de benodigde elementen om uw aangepaste gegevens in te voeren, te transformeren, op te slaan en efficiënt op te vragen.

Het proces bestaat uit vijf afzonderlijke stadia:
- Documenten laden: Dit stadium is verantwoordelijk voor het importeren van gegevens in de vorm van documenten.
- Documentsegmentatie: Hier ondergaat het document segmentatie, waarbij het wordt opgedeeld in beter beheersbare chunks.
- Inbedding genereren: In deze stap worden deze chunks getransformeerd in vectorrepresentaties, ook wel inbeddingen genoemd.
- Vectoropslag: Deze component dient als opslagplaats voor het opslaan van de bovengenoemde chunkvectoren in een toegewijde vectordatabase.
- Retrieval-mechanisme: Het laatste stadium bestaat uit een retrieval-mechanisme. Het wordt gebruikt om één of meer sets vectoren op te halen die de hoogste gelijkenis hebben met een query, waarbij zowel de query als opgeslagen vectoren zich in dezelfde latente ruimte bevinden.
Laten we beginnen met het laden van het document. Ik laad een korte samenvatting van de Grondwet van India gegenereerd door ChatGPT.

Na het laden van het document, laten we langere tekstdocumenten opsplitsen in kleinere, niet-overlappende chunks van elk 1000 tekens

Na documentsegmentatie, laten we onze inbeddingen initialiseren. We gebruiken inbeddingen geleverd door de Hugging Face Transformers-bibliotheek.

Nu zullen we een vectoropslag instellen met Faiss. Eigenlijk worden uw tekstgegevens omgezet in vectoren met behulp van de geleverde inbeddingen, en Faiss wordt gebruikt om deze vectoren efficiënt te indexeren en doorzoeken.

Nu zullen we Google's flan-t5-xxl LLM van HuggingFace laden. Het is een waardevol hulpmiddel bij vragenstellen vanwege de text-naar-text-aanpak, voortraining en grote modelgrootte.

Daarna zullen we een keten maken met behulp van LangChain. Ketens stellen ons in staat meerdere componenten in een samenhangend geheel samen te stellen.

We zullen een eenvoudige keten maken: deze begint met een query, en de query wordt vervolgens naar de LLM gestuurd.

Voor context, hieronder staat het deel van de samenvatting waaruit de LLM antwoordde —
"Preambule: De Preambule van de Indische Grondwet schetst de idealen en doelstellingen die de opstellers van de Grondwet wilden bereiken. Het benadrukt India als een soevereine, socialistische, seculiere en democratische republiek die streeft naar rechtvaardigheid, vrijheid, gelijkheid en broederschap voor haar burgers."
Laten we er nog een vraag over stellen

Toepassingen —
- AI-chatbots en virtuele assistenten: De mogelijkheden voor vragenstellen die in deze code zijn ingebed, vormen de basis voor het maken van AI-chatbots en virtuele assistenten die onmiddellijke, contextbewuste antwoorden op gebruikersvragen kunnen geven. Dit heeft toepassingen in klantenondersteuning, e-learning en meer.
- Onderwijstools: Docenten en studenten kunnen profiteren van geautomatiseerde vragenstelling, wat helpt om twijfels op te helderen en de leerervaring te verbeteren. Het kan ook worden gebruikt bij het genereren van onderwijsinhoud.
- Aanbevelingssystemen voor inhoud: Door de context en intentie achter vragen te begrijpen, kan deze code worden gebruikt om aanbevelingssystemen voor inhoud te ontwikkelen, zodat gebruikers zeer relevante suggesties ontvangen.
Voor lezers die dieper in deze toepassingen willen duiken en aanvullende hulpmiddelen voor hun projecten willen verkennen, volgen hier enkele waardevolle bronnen:
FlowiseAI - Maak LLM-apps eenvoudig Open source UI visueel hulpmiddel om uw aangepaste LLM-stroom te bouwen met Langchainflowiseai.comLangflow Wachtlijst Meld u vandaag nog aan voor de Langflow-wachtlijst en ontdek een gestroomlijnde aanpak voor LLM's. Open-source en gebruiksvriendelijk, Langflow…www.langflow.orgConclusie —
Dit artikel toonde hoe LangChain kan worden gebruikt in de ontwikkeling van toepassingen aangedreven door taalmodellen en hoe de flexibele abstracties en uitgebreide toolkit van LangChain ontwikkelaars in staat stellen de kracht van LLM's te benutten.
In het steeds veranderende landschap van AI zijn LLM's game-changers geworden, en we zijn trots deel uit te maken van deze opwindende reis naar een intelligentere, efficiëntere toekomst. We kijken ernaar uit om LLM's in te zetten om innovatie te stimuleren, complexe uitdagingen op te lossen en nog meer waarde te bieden aan onze klanten en partners bij My Next Developer.



