Retrieval-Augmented Generation (RAG) sistemi, daha dəqiq və kontekstdən xəbərdar cavablar təmin etmək üçün böyük dil modelini xarici, təsdiqlənmiş məlumat mənbələri ilə birləşdirən texniki çərçivədir. O, süni intellektin yalnız ümumi təlim məlumatlarına deyil, sizin xüsusi müəssisə biliklərinizə əsaslanmasını təmin edərək hallüsinasiyaları azaltmaq üçün məlumat axtarışı komponentini mətn generatoru modeli ilə birləşdirir. Sənədləri axtarıla bilən formatda indeksləşdirərək, sistem istifadəçi üçün yekun cavabı yaratmazdan əvvəl müvafiq fraqmentləri əldə edir.
Retrieval-Augmented Generation sistemi nədir?
RAG sistemi statik süni intellekt modeli ilə dinamik biznes məlumatlarınız arasında körpü rolunu oynayır. GPT-4 və ya Claude 3.5 kimi standart modellərin bilikləri üçün müəyyən bir kəsilmə tarixi var və onlar sizin daxili şirkət qeydləriniz, şəxsi müştəri fayllarınız və ya ən son inventar yeniləmələriniz haqqında məlumata sahib deyillər. RAG sistemini qurduğunuz zaman siz əslində süni intellektə kitabxana kartı və axtarış sistemi verirsiniz. Sual verildikdə, sistem əvvəlcə ən uyğun paraqrafları tapmaq üçün şəxsi verilənlər bazanızı nəzərdən keçirir. Sonra o, həmin paraqrafları orijinal sualla birlikdə süni intellekt modelinə təqdim edərək, yalnız təqdim olunan mətnə əsaslanaraq cavab verməsini istəyir.

Bu arxitektura populyardır, çünki o, süni intellektlə bağlı iki ən böyük problemi həll edir: köhnəlmiş məlumat və uydurma. Model danışmazdan əvvəl mənbə sənədinə baxmağa məcbur olduğu üçün faktları uydurma ehtimalı əhəmiyyətli dərəcədə azalır. Rəqəmsal marketinq agentliyi və ya elektron ticarət brendi üçün bu, süni intellektin müştərilərin xüsusi məhsul xüsusiyyətləri və ya çatdırılma qaydaları ilə bağlı sorğularını yüksək dəqiqliklə cavablandıra bilməsi deməkdir. Sistem bütün modelin yenidən təlimini tələb etmir, bu da tərtibatçılar üçün əhəmiyyətli hesablama xərclərinə və vaxta qənaət edir.
Bizneslər niyə incə tənzimləmə (fine-tuning) əvəzinə RAG-dan istifadə etməlidir?
İncə tənzimləmə, əvvəlcədən təlim keçmiş modelin çəkilərinin xüsusi verilənlər toplusunda yenilənməsini nəzərdə tutur. Bu, modelin müəyyən bir tonu və ya jarqonu öyrənməsinə kömək edə bilsə də, məlumatların əldə edilməsi üçün çox vaxt səmərəsizdir. Əgər şirkət siyasətiniz sabah dəyişərsə, incə tənzimlənmiş model, onu yenidən təlim keçmək üçün minlərlə dollar xərcləmədiyiniz təqdirdə, köhnə məlumatları təqdim etməyə davam edəcək. RAG sistemləri daha çevikdir, çünki siz yalnız verilənlər bazanızdakı sənədləri yeniləməlisiniz. Vektor anbarınıza yeni PDF yüklədiyiniz andan etibarən, süni intellekt heç bir əlavə təlim addımı tələb olunmadan həmin yenilənmiş məlumatlara çıxış əldə edir.
Bu iki yanaşmanı müqayisə edərkən xərc başqa bir əsas amildir. İncə tənzimləmə bahalı GPU klasterləri və modelin orijinal imkanlarını unutmasının qarşısını almaq üçün xüsusi məlumat elmi təcrübəsi tələb edir. Bunun əksinə olaraq, RAG boru kəmərinin qurulması standart API çağırışlarından və verilənlər bazası axtarışlarından istifadə edir. 5000 məhsul variantı olan tipik bir Shopify mağazası, fərdi LLM-in incə tənzimlənməsi xərclərinin bir hissəsinə RAG sistemini saxlaya bilər. Bu, RAG-ı məlumatların tez-tez dəyişdiyi və dəqiqliyin müzakirə olunmaz olduğu əksər müəssisə tətbiqləri üçün standart seçim edir.

Müəssisə RAG boru kəmərinin əsas arxitekturası
Funksional RAG sisteminin qurulması beş fərqli mərhələni əhatə edir: məlumatların daxil edilməsi, parçalanma, yerləşdirmə, saxlama və axtarış. Daxiletmə mərhələsində siz Notion, Google Drive və ya yerli SQL verilənlər bazaları kimi mənbələrdən məlumatları çəkirsiniz. Bu məlumatlar çox vaxt qarışıq olur və süni intellektin asanlıqla oxuya bilmədiyi HTML teqlərini, şəkilləri və ya formatlaşdırmanı ehtiva edir. Bu mətni təmizləmək üçün LangChain və ya LlamaIndex kimi alətlərdən istifadə etməlisiniz. Mətn təmizləndikdən sonra o, daha kiçik hissələrə bölünməlidir. Modelin bir anda çoxlu məlumatla yüklənməməsini təmin etmək üçün parçalanma strategiyası burada işə düşür.
Parçalanmadan sonra hər bir mətn parçası vektor yerləşdirməsinə çevrilir. Yerləşdirmə, mətnin semantik mənasını təmsil edən uzun rəqəmlər siyahısıdır. Məsələn, ‘alma’ və ‘meyvə’ sözləri yüksək ölçülü məkanda oxşar vektor dəyərlərinə sahib olacaq. Bu vektorlar daha sonra xüsusi vektor verilənlər bazasında saxlanılır. İstifadəçi sual verdikdə, onun sorğusu da vektora çevrilir. Sistem daha sonra istifadəçinin sualına ən yaxın olan verilənlər bazasındakı parçaları tapmaq üçün riyazi oxşarlıq axtarışı həyata keçirir və yekun cavab üçün konteksti təmin edir.
Düzgün vektor verilənlər bazasını necə seçirsiniz?
Vektor verilənlər bazası RAG sisteminizin ürəyidir. Büdcənizdən və texniki imkanlarınızdan asılı olaraq bir neçə seçiminiz var. Pinecone bir çoxları üçün populyar seçimdir, çünki o, indeksləşdirmə və miqyaslandırmanın bütün ağır işlərini yerinə yetirən idarə olunan, serversiz xidmətdir. Bu, öz serverlərini idarə etmədən prototipi tez bir zamanda işə salmaq istəyən komandalar üçün xüsusilə faydalıdır. Əgər daha kiçik verilənlər toplusu ilə işləyirsinizsə və ya məxfilik səbəbi ilə hər şeyi yerli saxlamaq istəyirsinizsə, ChromaDB birbaşa maşınınızda və ya sadə Docker konteynerində işləyə bilən açıq mənbəli alternativdir.
AWS və ya Google Cloud kimi bulud provayderlərindən artıq istifadə edən böyük müəssisələr üçün inteqrasiya olunmuş seçimlər mövcuddur. Weaviate və Milvus, saniyədən az gecikmə ilə milyonlarla vektoru idarə edə bilən yüksək miqyaslana bilən, paylanmış arxitekturalar təklif edir. Verilənlər bazası seçərkən ‘top-k’ axtarış sürətinə və metadata filtrləməsinin mövcudluğuna baxmalısınız. Metadata filtrləmə süni intellektin axtarışını xüsusi qovluqlar və ya tarixlərlə məhdudlaşdırmağa imkan verir, bu da süni intellektin beş il əvvəlki sənədlər əvəzinə yalnız ‘2024 Marketinq Planları’-na baxmasını təmin etmək istəyirsinizsə faydalıdır. Bu nəzarət səviyyəsi təşkilati məlumat siloslarını qorumaq üçün çox vacibdir.
Populyar Vektor Verilənlər Bazalarının Müqayisəsi
- Pinecone: Minimal texniki xidmətlə sürətli yerləşdirmə və serversiz miqyaslandırma üçün ən yaxşısı.
- ChromaDB: Yerli inkişaf, açıq mənbəli layihələr və ciddi məlumat məxfiliyi üçün idealdır.
- Weaviate: Mürəkkəb məlumat növləri və açar sözləri və vektorları birləşdirən hibrid axtarış üçün güclüdür.
- Milvus: Müəssisə mühitlərində kütləvi, milyard miqyaslı vektor verilənlər toplusu üçün nəzərdə tutulmuşdur.
- Supabase: Əgər artıq PostgreSQL istifadə edirsinizsə və pgvector genişlənməsindən istifadə etmək istəyirsinizsə, əla seçimdir.
Məlumatların daxil edilməsi və parçalanması üçün addım-addım bələdçi
Məlumatların daxil edilməsi əsas məlumat mənbələrinizə qoşulmaqla başlayır. Tipik rəqəmsal marketinq quraşdırmasında bu, PowerPoint təqdimatları və Excel cədvəllərindən ibarət qarışıq kolleksiyadan mətni çıxarmaq üçün ‘Unstructured’ kimi Python kitabxanasından istifadə etməyi əhatə edə bilər. Başlıqlar və altlıqlar kimi dəyər qatmayan şablon mətnləri silməyə diqqət etməlisiniz. Təmiz mətn axını əldə etdikdən sonra parçalanma strategiyasına qərar verməlisiniz. Ümumi bir nümunə, kontekstin süni intellekt üçün ardıcıl qalması üçün paraqrafları və cümlələri bir yerdə saxlamağa çalışan RecursiveCharacterTextSplitter-dən istifadə etməkdir.
Parçalanma üçün standart parametr 200 simvolluq üst-üstə düşmə ilə 1000 simvol ölçüsüdür. Üst-üstə düşmə çox vacibdir, çünki bu, vacib bir məlumat parçasının iki parça arasında bölündüyü təqdirdə, süni intellektin mənası başa düşmək üçün kifayət qədər ətraf mətni görməsini təmin edir. Əgər parçalarınız çox kiçikdirsə, süni intellekt ‘böyük mənzərəni’ itirir; əgər onlar çox böyükdürsə, LLM-in token limitini aşa bilərsiniz və ya generatoru çaşdıran lazımsız səs-küy daxil edə bilərsiniz. Düzgün balansı tapmaq adətən axtarışın necə işlədiyini görmək üçün ən mürəkkəb sənədlərinizin kiçik bir nümunəsi ilə sınaqdan keçirməyi tələb edir.
Axtarış keyfiyyətinin yenidən sıralama (reranking) ilə optimallaşdırılması
Axtarış həmişə mükəmməl deyil. Bəzən riyazi oxşarlıq axtarışı oxşar sözləri olan, lakin istifadəçinin niyyətinə uyğun olmayan bir parça çəkir. Bunu həll etmək üçün bir çox qabaqcıl sistemlər iki mərhələli prosesdən istifadə edir: axtarış və ardınca yenidən sıralama. Birinci mərhələdə vektor verilənlər bazası ən çox ehtimal olunan 10 və ya 20 namizədi qaytarır. İkinci mərhələdə, Cohere Rerank modeli kimi daha kiçik, daha dəqiq bir model həmin 20 namizədə baxır və onların istifadəçinin verdiyi xüsusi suala nə dərəcədə yaxşı cavab verdiyinə görə qiymətləndirir.
Yenidən sıralama yekun nəticənin dəqiqliyini əhəmiyyətli dərəcədə artırır. Bu, yekun nəticədə yüksək keyfiyyəti qoruyarkən ilk addımda daha ucuz, daha sürətli axtarış üsullarından istifadə etməyə imkan verir. Texniki terminlərin müxtəlif kontekstlərdə istifadə oluna biləcəyi müəssisə bilik bazaları üçün yenidən sıralama ikinci dərəcəli filtr kimi çıxış edir. Məsələn, istifadəçi ‘leads’ haqqında soruşarsa, sistem onların ‘marketinq rəhbərləri’ (marketing leads) yoxsa ‘elektrik naqilləri’ (electrical leads) demək istədiyini bilməlidir. Yenidən sıralayıcı, hansı sənəd parçasının istifadə ediləcəyinə dair daha məlumatlı qərar vermək üçün istifadəçinin əvvəlki suallarının ətraf mühit kontekstinə baxa bilər.
Performansın ölçülməsi və hallüsinasiyaların azaldılması
Ölçmədiyiniz şeyi təkmilləşdirə bilməzsiniz. RAG sistemində performans ‘sədaqət’ (faithfulness) və ‘cavabın aktuallığı’ (answer relevance) kimi göstəricilərlə ölçülür. Sədaqət, süni intellektin cavabının əldə edilmiş sənədlər tərəfindən dəstəklənib-dəstəklənmədiyini yoxlayır. Əgər süni intellekt məhsulunuzun 50 dollara başa gəldiyini, lakin sənəddə 40 dollar olduğunu deyirsə, bu, sədaqətin uğursuzluğudur. Cavabın aktuallığı cavabın istifadəçinin sorğusuna nə dərəcədə uyğun olduğunu ölçür. Ragas və ya TruLens kimi alətlər, əsas RAG boru kəmərinizin çıxışlarını ‘qiymətləndirmək’ üçün ikinci LLM-dən istifadə edərək bu qiymətləndirmələri avtomatlaşdırmağa kömək edə bilər və 0-dan 1-ə qədər bal təmin edir.
Hallüsinasiyaları daha da azaltmaq üçün ciddi prompt mühəndisliyi tətbiq etməlisiniz. Standart bir texnika, sistem sorğusuna ‘mənfi məhdudiyyət’ daxil etməkdir. Məsələn, süni intellektə deyə bilərsiniz: ‘Cavab vermək üçün yalnız təqdim olunan kontekstdən istifadə edin. Əgər cavab kontekstdə yoxdursa, bilmədiyinizi söyləyin. Xarici biliklərdən istifadə etməyin.’ Bu, daxili verilənlər bazanızda məlumat çatışmadıqda modelin ‘çox köməkçi’ olmasının və cavablar uydurmasının qarşısını alır. Müəssisə mühitində ‘bilmirəm’ demək, demək olar ki, həmişə hüquqi və ya maliyyə səhvlərinə səbəb ola biləcək əmin, lakin yanlış cavab verməkdən daha yaxşıdır.
RAG Uğuru üçün Əsas Göstəricilər
- Kontekst Dəqiqliyi: Əldə edilmiş parçalardan neçəsi cavab üçün həqiqətən faydalı idi.
- Kontekst Xatırlanması: Sistemin sorğunu cavablandırmaq üçün bütün lazımi məlumatları tapıb-tapmadığı.
- Sədaqət: Cavabın yalnız təqdim olunan mətndən əldə edilmə dərəcəsi.
- Cavabın Aktuallığı: Cavabın istifadəçinin xüsusi sorğusuna nə dərəcədə birbaşa müraciət etməsi.
- Gecikmə: İstifadəçinin klikləməsindən ekranda son sözün görünməsinə qədər keçən ümumi vaxt.
Bu həftə haradan başlamalı
Bu sistemləri başa düşməyin ən yaxşı yolu sadə bir prototip qurmaqdır. Daxili müştəri dəstəyi tez-tez verilən suallarınız və ya məhsul təlimatları toplusu kimi bir şöbənin sənədlərini seçməklə başlayın. Bu faylları yükləmək və ChromaDB kimi pulsuz vektor verilənlər bazasına göndərmək üçün Python mühitindən istifadə edin. Mətni çevirmək və oxşarlıq axtarışının necə işlədiyini görmək üçün OpenAI-dən yerləşdirmə modelindən istifadə edin. Əsas sual üçün düzgün paraqrafı uğurla əldə edə bildikdən sonra, tam cavablar yaratmaq üçün onu GPT-4o kimi nəsil modeli ilə əlaqələndirə bilərsiniz.
Prototip işlədikdən sonra istifadəçi interfeysinə diqqət yetirin. İstər Slack botu, istərsə də veb-əsaslı çat vidceti olsun, istifadəçilərin RAG sistemi ilə necə qarşılıqlı əlaqədə olması onun qəbulunu müəyyən edəcək. İstifadəçilərin verdiyi sualları izləyin və sənədlərinizdəki boşluqları müəyyən etmək üçün həmin qeydlərdən istifadə edin. Əgər süni intellekt müəyyən bir mövzu ilə bağlı sualları cavablandıra bilmirsə, bu, vektor anbarınıza daha ətraflı sənədlər əlavə etməli olduğunuzun əlamətidir. Bu iterativ proses, əsas axtarış alətinin hər gün saatlarla əl ilə araşdırmaya qənaət edən etibarlı müəssisə infrastrukturu parçasına çevrilməsi yoludur.
Oxumağa davam edin: Süni intellekt optimallaşdırması · Süni intellekt optimallaşdırması