RAG yarating | B4N1

RAG yarating

3 months ago · b4n1 Read time: 4 min

** Sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasi uchun orkestratsiya vositalaridan foydalanish**

Kirish

Sun'iy intellekt (AI) va Machine Learning (ML) imkoniyatlarini dasturiy ta'minot tizimlariga uzluksiz integratsiyalashuviga imkon beruvchi turli xil orkestrlash vositalarini ishlab chiqishga AI bilan ta'minlangan dasturiy ta'minot arxitekturasiga bo'lgan talabning ortib borishiga olib keldi. Ushbu maqolada biz LangChain va DSPy kabi orkestrlash vositalaridan foydalangan holda sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirishni o'rganamiz, bunda RAG (Reasoning and Action Graph) va LLM (Katta til modeli) imkoniyatlarini kengaytirilgan miqyoslash, ishlash va xavfsizlik uchun integratsiyalashga e'tibor qaratamiz.

Orkestratsiya vositalari nima?

Orkestrlash vositalari - bu bir nechta xizmatlar, ilovalar va tizimlarni birlashtirish orqali murakkab ish oqimlari va jarayonlarini avtomatlashtirishga imkon beruvchi dasturiy ta'minot ramkalari. Ular turli komponentlar o'rtasidagi o'zaro aloqalarni boshqarish va muvofiqlashtirish, vazifalarning samarali va keng ko'lamli bajarilishini ta'minlash uchun markazlashtirilgan platformani taqdim etadi.

LangChain: Python-ga asoslangan orkestratsiya vositasi

LangChain ochiq manba Python kutubxonasi boʻlib, sunʼiy intellektga asoslangan dasturiy taʼminot arxitekturasini yaratish uchun keng qamrovli asosni taqdim etadi. U bir qator xususiyatlarni taklif etadi, jumladan:

  • RAG (Reasoning and Action Graph) integratsiyasi: LangChain AI tomonidan boshqariladigan ish oqimlarini modellashtirish va amalga oshirish uchun ishlatilishi mumkin bo'lgan murakkab fikrlash va harakat grafiklarini yaratish imkonini beruvchi o'rnatilgan RAG dasturini taqdim etadi.
  • LLM (Large Language Model) integratsiyasi: LangChain tabiiy tillarni qayta ishlash va yaratish vazifalari uchun LLaMA va BERT kabi LLMlarning integratsiyasini qo‘llab-quvvatlaydi.
  • Mashqlanishi va unumdorligi: LangChain keng ko‘lamli AI ish yuklarini boshqarish uchun mo‘ljallangan bo‘lib, vazifalarning samarali va kengaytiriladigan bajarilishini ta'minlaydi.

LangChain bilan sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirish

LangChain yordamida sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirishni namoyish qilish uchun foydalanuvchi so'rovlari bo'yicha fikr yuritish va javoblarni yaratish uchun RAG-dan foydalanadigan chatbotning oddiy misolini ko'rib chiqaylik.

import langchain
langchain.chains import llm dan


latta = langchain.RAG(
    name="chatbot_rag",
    tugunlar=[
        {"name": "salom", "matn": "Assalomu alaykum, sizga qanday yordam bera olaman?"},
        {"name": "alvido", "text": "Xayr, siz bilan suhbatlashish yoqimli bo'ldi."},
    ],
    qirralari=[
        {"dan": "salom", "to": "xayr", "shart": "foydalanuvchi_xayr"},
    ],
)

# LLM yarating
llm = llm.LLM(
    name="chatbot_llm",
    model = "llama",
    max_tokens=100,
)

# Chatbotlar tarmog'ini yarating
zanjir = langchain.Chain(
    name="chatbot_chain",
    llm=llm,
    latta = latta,
)

# Chatbotni sinab ko'ring
user_input = "Salom, yaxshimisiz?"
javob = chain.run (user_input)
chop etish (javob)

DSPy: zangga asoslangan orkestrlash vositasi

DSPy - bu Rust-ga asoslangan orkestrlash vositasi bo'lib, u sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini yaratish uchun yuqori unumdor va kengaytiriladigan ramkani ta'minlaydi. U bir qator xususiyatlarni taklif etadi, jumladan:

  • RAG (Reasoning and Action Graph) integratsiyasi: DSPy AI tomonidan boshqariladigan ish oqimlarini modellashtirish va amalga oshirish uchun ishlatilishi mumkin bo‘lgan murakkab fikrlash va harakat grafiklarini yaratish imkonini beruvchi o‘rnatilgan RAG dasturini taqdim etadi.
  • LLM (katta til modeli) integratsiyasi: DSPy tabiiy tillarni qayta ishlash va yaratish vazifalari uchun LLaMA va BERT kabi LLMlarning integratsiyasini qo‘llab-quvvatlaydi.
  • Mashqlanishi va unumdorligi: DSPy keng ko‘lamli AI ish yuklarini boshqarish uchun mo‘ljallangan bo‘lib, vazifalarning samarali va kengaytiriladigan bajarilishini ta'minlaydi.

DSPy bilan sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirish

DSPy yordamida sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirishni namoyish qilish uchun foydalanuvchi so'rovlari bo'yicha fikr yuritish va javoblarni yaratish uchun RAG-dan foydalanadigan chatbotning oddiy misolini ko'rib chiqaylik.

dspy ::chain dan foydalaning;
dspy ::llm dan foydalaning;

// RAG yarating
let rag = zanjir::RAG::new(
    "chatbot_rag",
    vac![
        zanjir::Node::new("salom", "Salom, sizga qanday yordam bera olaman?"),
        chain::Node::new("xayr", "Xayr, siz bilan suhbatlashish yoqimli bo'ldi."),
    ],
    vac![
        zanjir::Edge::new("salom", "xayr", "foydalanuvchi_xayr_aytadi"),
    ],
);

// LLM yarating
let llm = llm::LLM::new(
    "chatbot_llm",
    "lama",
    100,
);

// Chatbot zanjirini yarating
zanjir = zanjir::Zanjir::yangi(
    "chatbot_chain",
    llm,
    latta,
);

// Chatbotni sinab ko'ring
let user_input = "Salom, yaxshimisiz?";
javob bersin = chain.run(user_input);
println!("{}", javob);

Eng koʻp ishlatiladigan 5-10 ta buyruq/parchalar

LangChain va DSPy uchun eng ko'p ishlatiladigan buyruqlar va parchalar:

  • LangChain:
    • langchain.RAG(): Yangi RAG misolini yaratadi.
    • langchain.LLM(): Yangi LLM misolini yaratadi.
    • langchain.Chain(): Yangi zanjir misolini yaratadi.
    • rag.run(): RAG-ni ishga tushiradi va javob hosil qiladi.
    • llm.run(): LLMni ishga tushiradi va javob hosil qiladi.
  • DSPy:
    • dspy::chain::RAG::new(): Yangi RAG misolini yaratadi.
    • dspy::llm::LLM::new(): Yangi LLM misolini yaratadi.
    • dspy::chain::Chain::new(): Yangi zanjir misolini yaratadi.
    • chain.run(): zanjirni ishga tushiradi va javob hosil qiladi.

Vizualizatsiya

Mana Chart.js yordamida RAG va LLM imkoniyatlarining oddiy vizualizatsiyasi:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = yangi diagramma (ctx, {
    turi: 'bar',
    ma'lumotlar: {
        teglar: ['RAG', 'LLM'],
        ma'lumotlar to'plami: [{
            yorliq: "Qobiliyatlar",
            ma'lumotlar: [10, 20],
            fon rangi: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            chegara rangi: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            chegara kengligi: 1
        }]
    },
    variantlar: {
        tarozi: {
            y: {
                beginAtZero: rost
            }
        }
    }
});

Xulosa

Xulosa qilib aytganda, LangChain va DSPy RAG va LLM imkoniyatlaridan foydalangan holda AI tomonidan boshqariladigan dasturiy ta'minot arxitekturasini amalga oshirishga imkon beruvchi kuchli orkestratsiya vositalaridir. Ushbu vositalardan foydalanib, ishlab chiquvchilar murakkab AI ish yuklarini bajara oladigan kengaytiriladigan, samarali va xavfsiz dasturiy ta'minot tizimlarini yaratishi mumkin. Foydalanish qulayligi va moslashuvchanligi bilan LangChain va DSPy sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini yaratish uchun ideal tanlovdir.

Tavsiyalar

Ushbu maqoladagi muhokamaga asoslanib, LangChain va DSPy yordamida sun'iy intellektga asoslangan dasturiy ta'minot arxitekturasini amalga oshirmoqchi bo'lgan ishlab chiquvchilar uchun ba'zi tavsiyalar:

  • LangChain va DSPy asoslarini, shu jumladan ularning RAG va LLM imkoniyatlarini o'rganishdan boshlang.
  • Asboblar qanday ishlashini his qilish uchun chatbot misoli kabi oddiy misollar bilan tajriba qiling.
  • Asta-sekin murakkabroq loyihalarga o'ting, masalan, tavsiyalar tizimi yoki tabiiy tilni qayta ishlash quvurini qurish.
  • Eng ko'p ishlatiladigan 5-10 buyruqlar/parchalar bo'limidan umumiy buyruqlar va parchalar uchun ma'lumotnoma sifatida foydalaning.
  • Turli komponentlar orasidagi munosabatlarni yaxshiroq tushunish uchun Chart.js-dan foydalanib, RAG va LLM imkoniyatlarini tasavvur qiling.

Ushbu tavsiyalarga amal qilgan holda, ishlab chiquvchilar LangChain va DSPy’ning to‘liq salohiyatini ochib, murakkab ish yuklariga bardosh bera oladigan hamda ajoyib unumdorlik va masshtablilikni ta’minlaydigan sun’iy intellektga asoslangan dasturiy ta’minot arxitekturasini yaratishi mumkin.


Have Questions?

Let's Talk

Contact me on LinkedIn