A LangChain és a Cube természetes nyelvű adatelemzést épít

A Cube és a LangChain olyan integrációt mutatott be, amely szemantikai rétegből származó adatokkal segíti a nagy nyelvi modelleket a természetes nyelvű adatelemzésben. A megoldás vektortárat használ, majd egy LLM segítségével SQL-lekérdezést készít a felhasználói kérdésből.
- A Cube LangChain-integrációja szemantikai rétegből épít vektortárat.
- A rendszer természetes nyelvű kérdésekhez keres megfelelő táblákat és oszlopokat.
- Az OpenAI modell a megadott adatokból SQL-lekérdezést és szűrőket állít elő.
- A bemutató Streamlit felületet, FAISS vektortárat és Cube SQL API-t használ.
- A GitHubon elérhető demó kiindulópont lehet társalgási adatelérési felületekhez.
A szemantikai réteg ad alapot az AI-alkalmazásnak
A LangChain közleménye szerint a Cube integrációja olyan AI-alkalmazások fejlesztését támogatja, amelyek természetes nyelvű kérdéseket alakítanak át adatalapú lekérdezésekké. A megközelítés központi eleme a szemantikai réteg, amely a Cube esetében egységesíti a mérőszámok számítását, és a vállalat állítása szerint az AI-hallucinációk elleni védelmet is segíti.
A LangChain fejlesztői eszközkészletként szolgál nagy nyelvi modellekkel működő alkalmazások készítéséhez. A Cube és a LangChain közös megoldása ehhez kapcsolja hozzá a Cube adatmodelljét, így a fejlesztők a szemantikai rétegre építve hozhatnak létre társalgási adatelérési felületeket.
A LangChain oldalán közzétett bejegyzés dátuma 2023. augusztus 23., a megadott forrásdátum 2026. augusztus 26.
Dokumentumbetöltőből készül a vektortár
Az integráció része egy dokumentumbetöltő, amely a szemantikai réteg adatmodelljéből származó beágyazásokat használ egy vektortár feltöltéséhez. A vektortár később megkereshető, hogy a szabad szöveges bemenetet, például egy természetes nyelvű kérdést, összevesse az adatmodell nézeteivel és azok elemeivel.
A bemutatott folyamatban a CubeSemanticLoader betölti a Cube adatmodelljét. A rendszer csak a nézeteket tölti be, mivel ezeket az adatmodell „homlokzataként” kezeli. A betöltött dokumentumokat beágyazzák, majd FAISS vektortárban mentik el, amelyet későbbi használathoz pickle fájlba mentenek.
A felhasználó a Streamlit felületén írhatja be a kérdését. A rendszer hasonlóságkereséssel kiválasztja a kérdéshez legközelebb álló dokumentumot, ebből pedig megpróbálja meghatározni a leginkább megfelelő tábla nevét. Ezután ugyanahhoz a táblához további oszlopokat keres a vektortárban.
Az LLM állítja elő a Cube SQL-lekérdezését
A demonstrációban egy OpenAI-modell kapja meg a felhasználói kérdést, a kiválasztott tábla adatait, az oszlopokat és a lekérdezéshez összeállított utasítást. A modell válaszát a rendszer feldolgozza, hogy kinyerje belőle az SQL-lekérdezést és az esetleges szűrőket.
A LangChain és a Cube által bemutatott alkalmazás célja, hogy a felhasználónak ne kelljen közvetlenül SQL-kódot írnia. A bemutatóban látható, hogyan felelnek meg az LLM által létrehozott lekérdezés táblái, oszlopai, összesítései és szűrői az emberi nyelven megadott kérdésnek.
A forrás szerint a fejlesztők a GitHubon elérhető demó forráskódja és README-fájlja alapján futtathatják a mintát saját gépükön. A közölt OpenAI-promptok kiindulópontként szolgálhatnak olyan társalgási felület építéséhez is, amely a szemantikai réteggel működik, hasonlóan a Delphihez.
Mit kapnak a fejlesztők és a felhasználók?
A bemutatott integráció a Cube SQL API-jára épülő, természetes nyelvű adathozzáférést kínál. A fejlesztőknek nem kell minden lekérdezési logikát saját kezűleg felépíteniük, mivel a szemantikai réteg, a vektortár és a nagy nyelvi modell együtt kezeli a kérdés és az adatmodell közötti kapcsolatot.
A LangChain szerint a megoldás célja az SQL összetettségének elrejtése és az adatokhoz való hozzáférés egyszerűsítése. A Cube úgy látja, hogy a termékek fejlesztői idővel hasonló, nagy nyelvi modellekhez készült integrációkkal egészíthetik ki alkalmazásaikat, hogy azok pontosabban használják fel a vállalati tudást.

