RAG түзүү | B4N1

RAG түзүү

3 months ago · b4n1 Read time: 4 min

** AI менен иштеген программалык архитектура үчүн Оркестрация куралдарын колдонуу**

Танышуу

Жасалма интеллект (AI) жана Machine Learning (ML) мүмкүнчүлүктөрүн программалык камсыздоо тутумдарына үзгүлтүксүз интеграциялоого мүмкүндүк берген AI менен иштеген программалык камсыздоонун архитектурасына суроо-талаптын өсүшүнө алып келди. Бул макалада биз RAG (Reasoning and Action Graph) жана LLM (Чоң тил модели) мүмкүнчүлүктөрүн интеграциялоого басым жасоо менен LangChain жана DSPy сыяктуу оркестрдик инструменттердин жардамы менен AI башкарган программалык архитектуранын ишке ашырылышын изилдейбиз.

Оркестрация куралдары деген эмне?

Оркестрация куралдары - бул бир нече кызматтарды, тиркемелерди жана системаларды интеграциялоо аркылуу татаал иш процесстерин жана процесстерин автоматташтырууга мүмкүндүк берген программалык базалар. Алар ар кандай компоненттердин ортосундагы өз ара аракеттенүүнү башкаруу жана координациялоо, милдеттердин натыйжалуу жана масштабдуу аткарылышын камсыз кылуу үчүн борборлоштурулган платформаны камсыз кылат.

LangChain: Python негизиндеги оркестрлөө куралы

LangChain бул ачык булактуу Python китепканасы, ал AI менен иштеген программалык архитектураны куруу үчүн комплекстүү негизди камсыз кылат. Ал бир катар функцияларды сунуш кылат, анын ичинде:

  • RAG (Reasoning and Action Graph) интеграциясы: LangChain орнотулган RAG ишке ашырууну камсыздайт, ал AI башкарган иш процесстерин моделдөө жана аткаруу үчүн колдонулушу мүмкүн болгон татаал ой жүгүртүү жана аракет графиктерин түзүүгө мүмкүндүк берет.
  • LLM (Large Language Model) интеграциясы: LangChain табигый тилди иштетүү жана муун тапшырмалары үчүн LLaMA жана BERT сыяктуу LLMлердин интеграциясын колдойт.
  • Өлчөмдүүлүк жана аткаруу: LangChain тапшырмалардын натыйжалуу жана масштабдуу аткарылышын камсыз кылып, масштабдуу AI жумуш жүгүн көтөрүү үчүн иштелип чыккан.

** LangChain менен AI башкарган программалык архитектураны ишке ашыруу**

LangChain аркылуу AI башкарган программалык архитектуранын ишке ашырылышын көрсөтүү үчүн, колдонуучунун суроо-талабы боюнча ой жүгүртүү жана жоопторду түзүү үчүн RAG колдонгон чатботтун жөнөкөй мисалын карап көрөлү.

импорттук langchain
langchain.chains импорттук llm тартып


чүпүрөк = langchain.RAG(
    name="chatbot_rag",
    түйүндөр=[
        {"name": "саламдашуу", "text": "Саламатсызбы, мен сизге кантип жардам бере алам?"},
        {"name": "кош бол", "text": "Кош бол, сени менен баарлашуу жакшы болду."},
    ],
    четтери=[
        {"from": "саламдашуу", "то": "кош бол", "шарт": "колдонуучу_коштошуу"},
    ],
)

# LLM түзүү
llm = llm.LLM(
    name="chatbot_llm",
    модель = "лама",
    max_tokens=100,
)

# Чатбот чынжырын түзүү
чынжыр = langchain.Chain(
    name="chatbot_chain",
    llm=llm,
    чүпүрөк = чүпүрөк,
)

# Чатботту сынаңыз
user_input = "Салам, кандайсың?"
жооп = chain.run(user_input)
басып чыгаруу (жооп)

DSPy: Датка негизделген оркестрлөө куралы

DSPy - бул AI менен иштеген программалык архитектураны куруу үчүн жогорку натыйжалуу жана масштабдуу негизди камсыз кылган Rust негизиндеги оркестрлөө куралы. Ал бир катар функцияларды сунуш кылат, анын ичинде:

  • RAG (Reasoning and Action Graph) интеграциясы: DSPy орнотулган RAG ишке ашырууну камсыздайт, ал AI башкарган иш процесстерин моделдөө жана аткаруу үчүн колдонула турган татаал ой жүгүртүү жана иш-аракет графиктерин түзүүгө мүмкүндүк берет.
  • LLM (Large Language Model) интеграциясы: DSPy табигый тилди иштетүү жана муун тапшырмалары үчүн LLaMA жана BERT сыяктуу LLMлердин интеграциясын колдойт.
  • Өлчөмдүүлүк жана аткаруу: DSPy тапшырмалардын эффективдүү жана масштабдуу аткарылышын камсыз кылуучу чоң масштабдагы AI жумуш жүгүн көтөрүү үчүн иштелип чыккан.

DSPy менен AI менен башкарылган программалык архитектураны ишке ашыруу

DSPy аркылуу AI башкарган программалык архитектуранын ишке ашырылышын көрсөтүү үчүн, колдонуучунун суроо-талабы боюнча ой жүгүртүү жана жоопторду түзүү үчүн RAG колдонгон чатботтун жөнөкөй мисалын карап көрөлү.

dspy::chain колдонуу;
dspy::llm колдонуу;

// RAG түзүү
let rag = чынжыр::RAG::new(
    "chatbot_rag",
    vec![
        chain::Node::new("саламдашуу", "Салам, мен сага кантип жардам бере алам?"),
        chain::Node::new("кош бол", "Кош бол, сени менен баарлашуу жакшы болду."),
    ],
    vec![
        chain::Edge::new("саламдашуу", "кош бол", "колдонуучу_коштошуу"),
    ],
);

// LLM түзүү
let llm = llm::LLM::new(
    "chatbot_llm",
    "лама",
    100,
);

// Чатбот чынжырын түзүңүз
чынжыр болсун = чынжыр::Чынжыр::жаңы(
    "chatbot_chain",
    llm,
    чүпүрөк,
);

// Чатботту сынаңыз
let user_input = "Салам, кандайсың?";
жооп берсин = chain.run(user_input);
println!("{}", жооп);

Эң көп колдонулган 5-10 буйруктар/үзүндүлөр

Бул жерде LangChain жана DSPy үчүн эң көп колдонулган буйруктардын жана үзүндүлөрдүн айрымдары:

  • LangChain:
    • langchain.RAG(): Жаңы RAG инстанциясын түзөт.
    • langchain.LLM(): жаңы LLM инстанциясын түзөт.
    • langchain.Chain(): Жаңы чынжыр инстанциясын түзөт.
    • rag.run(): RAG иштетет жана жоопту жаратат.
    • llm.run(): LLMди иштетет жана жоопту жаратат.
  • DSPy:
    • dspy::chain::RAG::new(): Жаңы RAG инстанциясын түзөт.
    • dspy::llm::LLM::new(): Жаңы LLM инстанциясын түзөт.
    • dspy::chain::Chain::new(): Жаңы чынжыр инстанциясын түзөт.
    • chain.run(): Чынжырды иштетет жана жоопту жаратат.

Визуализация

Бул жерде Chart.js аркылуу RAG жана LLM мүмкүнчүлүктөрүнүн жөнөкөй визуализациясы келтирилген:

const ctx = document.getElementById('myChart').getContext('2d');
const диаграмма = жаңы диаграмма(ctx, {
    түрү: 'бар',
    маалымат: {
        энбелгилери: ['RAG', 'LLM'],
        маалымат топтому: [{
            этикеткасы: "Мүмкүнчүлүктөр",
            маалыматтар: [10, 20],
            фон түсү: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0,2)',
            ],
            чек түсү: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            чектин кеңдиги: 1
        }]
    },
    параметрлер: {
        тараза: {
            ж: {
                beginAtZero: чындык
            }
        }
    }
});

Корутунду

Жыйынтыктап айтканда, LangChain жана DSPy - бул RAG жана LLM мүмкүнчүлүктөрүн колдонуу менен AI башкарган программалык архитектураны ишке ашырууга мүмкүндүк берген күчтүү оркестрлөө куралдары. Бул куралдарды колдонуу менен иштеп чыгуучулар татаал AI жумуш жүгүн көтөрө ала турган масштабдуу, натыйжалуу жана коопсуз программалык системаларды түзө алышат. LangChain жана DSPy колдонуунун оңойлугу жана ийкемдүүлүгү менен AI менен иштеген программалык архитектураны куруу үчүн идеалдуу тандоо болуп саналат.

сунуштар

Бул макаладагы талкуунун негизинде, LangChain жана DSPy аркылуу AI башкарган программалык камсыздоонун архитектурасын ишке ашырууну каалаган иштеп чыгуучулар үчүн бир нече сунуштар:

  • LangChain жана DSPy негиздерин, анын ичинде RAG жана LLM мүмкүнчүлүктөрүн үйрөнүү менен баштаңыз.
  • Аспаптар кандай иштээрин сезүү үчүн чатбот мисалы сыяктуу жөнөкөй мисалдар менен эксперимент жасаңыз.
  • Акырындык менен бир топ татаал долбоорлорго өтүңүз, мисалы, сунуштоо системасын же табигый тилди иштетүү тутумун куруу.
  • Эң көп колдонулган 5-10 буйруктар/үзүндүлөр бөлүмүн жалпы буйруктар жана үзүндүлөр үчүн маалымдама катары колдонуңуз.
  • Ар кандай компоненттердин ортосундагы мамилелерди жакшыраак түшүнүү үчүн Chart.js аркылуу RAG жана LLM мүмкүнчүлүктөрүңүздү визуализациялаңыз.

Бул сунуштарды аткаруу менен, иштеп чыгуучулар LangChain жана DSPy толук потенциалын ачып, татаал жүктөрдү көтөрө алган жана өзгөчө аткарууну жана масштабдуулукту камсыз кыла турган AI менен иштеген программалык архитектураны кура алышат.


Have Questions?

Let's Talk

Contact me on LinkedIn