A LangChain négy új Xata-integrációval bővült

A LangChain négy új Xata-integrációt tett elérhetővé, amelyekkel a fejlesztők dokumentumokat tárolhatnak és kereshetnek vektorok alapján, valamint a beszélgetések előzményeit is megőrizhetik. A bemutatott példa egy, a saját adatain válaszoló, utánkérdéseket is kezelő chatbot felépítését mutatja be.
- A LangChain négy Xata-integrációt tett elérhetővé.
- A Xata vektortárolóként dokumentumok és beágyazások keresésére használható.
- A memóriatároló a chatbotok beszélgetési előzményeit őrzi meg.
- Az integrációk Pythonhoz, TypeScripthez és JavaScripthez készültek.
- A bemutatott chatbot utánkérdéseket is kezel a mentett kontextus alapján.
PostgreSQL és Elasticsearch egy platformon
A LangChain bejelentése szerint a Xata PostgreSQL-re épülő adatbázis-platform. Az elsődleges adatokat PostgreSQL-ben tárolja, majd automatikusan Elasticsearchbe replikálja. A szolgáltatás így egyetlen, szerver nélküli API mögött kínál PostgreSQL-funkciókat, például ACID-tranzakciókat, összekapcsolásokat és megszorításokat, valamint Elasticsearch-alapú teljes szöveges keresést BM25-tel, vektoros keresést és hibrid keresést.
A LangChain szerint ez a kombináció az AI-alkalmazások jelentős részéhez szükséges adatkezelési lehetőségeket lefedi. A Xata TypeScripthez, JavaScripthez és Pythonhoz kínál kliens-SDK-kat, továbbá beépített integrációi vannak például a GitHub, a Vercel és a Netlify platformokkal. A vállalat az OpenAI-jal is mély integrációt kínál a saját adatokkal működő ChatGPT-s felhasználási esetekhez.
Vektoros keresés és hosszú távú memória
A bejelentés négy integrációt sorol fel. A Xata használható vektortárolóként a LangChainben, így a dokumentumokhoz tartozó beágyazások egy Xata-táblában tárolhatók, majd vektoros keresés indítható rajtuk. A Pythonos változat az újonnan általánosan elérhetővé tett Python-SDK-t használja, és támogatja a metaadatok szerinti szűrést is. Ezek a metaadatok Xata-oszlopokként jelennek meg.
Ugyanez a lehetőség elérhető LangChain.js-ben, TypeScript- és JavaScript-alkalmazásokhoz. A másik két integráció a Xatát memóriatárolóként kapcsolja a LangChainhez, Pythonban és LangChain.js-ben egyaránt. Ebben az esetben a rendszer a chatbotok és a felhasználók között váltott üzeneteket tárolja Xata-táblában, hogy az AI-alkalmazás a korábbi beszélgetési előzményeket is felhasználhassa.
A LangChain közlése szerint mind a négy integrációhoz tartozik legalább egy kódpélda a dokumentációban. A fejlesztők a közeljövőben egyedi lekérdezők hozzáadását is tervezik a Xata kulcsszavas és hibrid kereséséhez, valamint a Xata Ask AI-végponthoz.
Egy chatbot vektoros adattárral és memóriával
A bemutatott alkalmazás a „chat with your data” felhasználási esetet valósítja meg. A TypeScriptben készült példa a Xatát egyszerre használja vektortárolóként és memóriatárolóként. A rendszer először három dokumentumot indexel, amelyek a Xata PostgreSQL-alapú szerver nélküli adatplatformját, beépített vektortípusát és hasonlósági keresését írják le. A LangChain szerint valódi alkalmazásban több tízezer dokumentum is indexelhető.
A kérdések megválaszolásához a példa OpenAI-embeddeléseket és a ChatOpenAI modellt használja. A ConversationalRetrievalQAChain a vektoros keresés eredményeit és a beszélgetési memóriát együtt kezeli. A chatbot először arra válaszol, hogy mi a Xata, majd egy utánkérdésben arra, hogy képes-e vektoros keresésre.
A memóriatároló minden beszélgetéshez munkamenet-azonosítót használ. Ennek segítségével a korábbi üzenetek később visszakereshetők, így az új kérdések során nem vész el a beszélgetés kontextusa. A példában a dokumentumok a docs, az üzenetek pedig a memory táblába kerülnek. A teljes kód egy kapcsolódó tárhelyen, a Pythonos változat pedig egy Jupyter-notebookban érhető el.
Mit kapnak a fejlesztők?
A négy integráció közvetlenül összeköti a LangChain alkalmazáslogikáját a Xata adatkezelési és keresési funkcióival. A fejlesztők így ugyanabban a rendszerben tárolhatják a válaszokhoz felhasznált dokumentumokat, kereshetnek azok vektoros reprezentációi között, és megőrizhetik a felhasználóval folytatott párbeszéd előzményeit.
A LangChain közlése szerint a megoldás Python-, TypeScript- és JavaScript-projektekben is használható. A Xata a bejelentés részeként tartalmi hackathont is szervezett, ahol alkalmazásokkal, blogbejegyzésekkel és videókkal lehetett részt venni, nyereményekért és ajándéktárgyakért.
LangChain: Xata x LangChain: new vector store and memory store integrations
