Keresés vektor adatbázisban (Milvus példákkal)

A mai bejegyzésben folytatom a RAG témakörét, és miután betöltöttük a szöveget a vektoradatbázisba, most megnézzük, hogyan találhatjuk meg a legrelevánsabbat. Megismerjük, mi a BM25, a Rouge-L és a hibrid keresés. A bejegyzésben a Milvus rendszert fogjuk használni, de a lényeges pontok könnyen átültethetők más adatbázisokra is.

Szöveg darabolása – RAG adatelőkészítés

A mai bejegyzésben a Keresésalapú Szöveggenerálásnál (RAG) maradunk, de ezúttal a nagyobb szövegek darabolásáról lesz szó. Az előző írásomban kifejtettem, miért érdemes a szövegeket darabolni. Bemutattam a „tű a szénakazalban” tesztet, valamint azt is, hogy a hosszabb szövegek feldolgozása nagyobb erőforrásokat igényel. A mostani bejegyzés inkább gyakorlati megközelítést kínál, és különböző darabolási eljárásokat ismertet.

Szöveg-hasonlóság mérése — MI Ügynök tesztelése és értékelése 2. rész

A mai bejegyzésben maradok a számítógépes nyelvészet témájánál, és két szöveg hasonlóságát fogom egy kicsit körbejárni. Elsősorban a szemantikus hasonlóságról (angolul: Semantic Textual Similarity) lesz szó. Bemutatom a BERT Score, az SBERT és az UNE mérési módszereket. Az összehasonlítás érdekében azonban egy szókészlet-egyezésen alapuló eljárást, a METEOR-t is bemutatom. Miután megértettük, hogyan mérhető a hasonlóság, azt is megvizsgálom, miként alkalmazható ez a tudás egy valós problémára: az előző bejegyzésben bemutatott egyszerű RAG megoldás teljesítményét fogjom értékelni. Ehhez az Arize Phoenix keretrendszert használom.

Keresésalapú Szöveggenerálás (RAG) alapok

A mai bejegyzésben továbbra is a számítógépes nyelvészet témájánál maradunk, de ezúttal annak egy határterületét nézzük meg közelebbről: a Keresésalapú Szöveggenerálással (angolul: Retrieval-augmented generation, RAG) foglalkozunk részletesebben. Első lépésként egy PDF dokumentumot töltünk be egy Milvus vektoradatbázisba, majd természetes nyelven végzünk keresést a tartalmában.