បង្កើត RAG | B4N1

បង្កើត RAG

7 months ago · b4n1 Read time: 2 min

ការប្រើប្រាស់ឧបករណ៍ Orchestration សម្រាប់ស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI

សេចក្តីផ្តើម

តម្រូវការកើនឡើងសម្រាប់ស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI បាននាំឱ្យមានការអភិវឌ្ឍឧបករណ៍ orchestration ជាច្រើនដែលអនុញ្ញាតឱ្យមានការរួមបញ្ចូលគ្នានៃសមត្ថភាពឆ្លាតវៃសិប្បនិម្មិត (AI) និង Machine Learning (ML) ទៅក្នុងប្រព័ន្ធសូហ្វវែរ។ នៅក្នុងអត្ថបទនេះ យើងនឹងស្វែងយល់ពីការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ដោយប្រើឧបករណ៍ orchestration ដូចជា LangChain និង DSPy ដោយផ្តោតលើការរួមបញ្ចូលសមត្ថភាព RAG (Reasoning and Action Graph) និង LLM (Large Language Model) សម្រាប់ការបង្កើនទំហំ ប្រតិបត្តិការ និងសុវត្ថិភាព។

តើឧបករណ៍ Orchestration ជាអ្វី?

ឧបករណ៍ Orchestration គឺជាក្របខ័ណ្ឌកម្មវិធីដែលបើកដំណើរការស្វ័យប្រវត្តិកម្មនៃដំណើរការ និងដំណើរការស្មុគ្រស្មាញ ដោយរួមបញ្ចូលសេវាកម្ម កម្មវិធី និងប្រព័ន្ធជាច្រើន។ ពួកគេផ្តល់នូវវេទិកាកណ្តាលសម្រាប់គ្រប់គ្រង និងសំរបសំរួលអន្តរកម្មរវាងសមាសធាតុផ្សេងៗគ្នា ធានានូវការអនុវត្តការងារប្រកបដោយប្រសិទ្ធភាព និងអាចធ្វើមាត្រដ្ឋានបាន។

LangChain៖ ឧបករណ៍ Orchestration ផ្អែកលើ Python

LangChain គឺជាបណ្ណាល័យ Python ប្រភពបើកចំហដែលផ្តល់នូវក្របខ័ណ្ឌដ៏ទូលំទូលាយសម្រាប់ការកសាងស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI ។ វា​ផ្តល់​នូវ​ជួរ​នៃ​លក្ខណៈ​ពិសេស​រួម​មាន​:

  • RAG (Reasoning and Action Graph) Integration: LangChain ផ្តល់នូវការអនុវត្ត RAG ដែលភ្ជាប់មកជាមួយ ដែលអនុញ្ញាតឱ្យបង្កើតក្រាហ្វិកហេតុផល និងសកម្មភាពស្មុគស្មាញ ដែលអាចត្រូវបានប្រើដើម្បីធ្វើគំរូ និងប្រតិបត្តិលំហូរការងារដែលជំរុញដោយ AI ។
  • ** LLM (Large Language Model) ការរួមបញ្ចូល**៖ LangChain គាំទ្រការរួមបញ្ចូល LLMs ដូចជា LLaMA និង BERT សម្រាប់ដំណើរការភាសាធម្មជាតិ និងភារកិច្ចបង្កើត។
  • ការធ្វើមាត្រដ្ឋាន និងការអនុវត្ត៖ LangChain ត្រូវបានរចនាឡើងដើម្បីគ្រប់គ្រងបន្ទុកការងារ AI ខ្នាតធំ ដោយផ្តល់នូវការប្រតិបត្តិការងារប្រកបដោយប្រសិទ្ធភាព និងអាចធ្វើមាត្រដ្ឋានបាន។

ការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ជាមួយ LangChain

ដើម្បីបង្ហាញពីការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ដោយប្រើ LangChain សូមពិចារណាឧទាហរណ៍សាមញ្ញនៃ chatbot ដែលប្រើ RAG ដើម្បីវែកញែកអំពីសំណួររបស់អ្នកប្រើ និងបង្កើតការឆ្លើយតប។

``ពស់ថ្លាន់ នាំចូល langchain ពី langchain.chains នាំចូល llm

rag = langchain.RAG( ឈ្មោះ = "chatbot_rag", ថ្នាំង=[ {"name": "greeting", "text": "ជំរាបសួរ តើខ្ញុំអាចជួយអ្នកដោយរបៀបណា?"}, {"name": "លាហើយ", "text": "លាហើយ វាល្អណាស់ក្នុងការជជែកជាមួយអ្នក។"}, ], គែម =[ {"from": "greeting", "to": "លាហើយ", "condition": "user_says_goodbye"}, ], )

បង្កើត LLM

llm = llm.LLM( name="chatbot_llm", ម៉ូដែល = "ឡាម៉ា", max_tokens=100, )

បង្កើតខ្សែសង្វាក់ chatbot

ខ្សែសង្វាក់ = langchain.Chain( name="chatbot_chain", llm=llm, rag=rag, )

សាកល្បង chatbot

user_input = "ជំរាបសួរ តើអ្នកសុខសប្បាយជាទេ?" ការឆ្លើយតប = chain.run(user_input) បោះពុម្ព (ឆ្លើយតប)


** DSPy៖ ឧបករណ៍ Orchestration ផ្អែកលើច្រែះ **


DSPy គឺជាឧបករណ៍ orchestration ដែលមានមូលដ្ឋានលើច្រែះដែលផ្តល់នូវក្របខ័ណ្ឌដែលមានប្រសិទ្ធភាពខ្ពស់ និងអាចធ្វើមាត្រដ្ឋានបានសម្រាប់ការកសាងស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI ។ វា​ផ្តល់​នូវ​ជួរ​នៃ​លក្ខណៈ​ពិសេស​រួម​មាន​:

* **RAG (Reasoning and Action Graph) Integration**: DSPy ផ្តល់នូវការអនុវត្ត RAG ដែលភ្ជាប់មកជាមួយ ដែលអនុញ្ញាតឱ្យមានការបង្កើតក្រាហ្វិកសមហេតុផល និងសកម្មភាពស្មុគស្មាញ ដែលអាចត្រូវបានប្រើដើម្បីធ្វើគំរូ និងប្រតិបត្តិលំហូរការងារដែលជំរុញដោយ AI ។
* ** LLM (Large Language Model) ការរួមបញ្ចូល**៖ DSPy គាំទ្រការរួមបញ្ចូលនៃ LLMs ដូចជា LLaMA និង BERT សម្រាប់ដំណើរការភាសាធម្មជាតិ និងភារកិច្ចបង្កើត។
* ** លទ្ធភាពធ្វើមាត្រដ្ឋាន និងការអនុវត្ត **៖ DSPy ត្រូវបានរចនាឡើងដើម្បីគ្រប់គ្រងបន្ទុកការងារ AI ខ្នាតធំ ដោយផ្តល់នូវការអនុវត្តការងារប្រកបដោយប្រសិទ្ធភាព និងអាចធ្វើមាត្រដ្ឋានបាន។

** ការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ជាមួយ DSPy **


ដើម្បីបង្ហាញពីការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ដោយប្រើ DSPy សូមពិចារណាឧទាហរណ៍សាមញ្ញនៃ chatbot ដែលប្រើ RAG ដើម្បីវែកញែកអំពីសំណួររបស់អ្នកប្រើ និងបង្កើតការឆ្លើយតប។

``ច្រេះ
ប្រើ dspy::chain;
ប្រើ dspy::llm;

// បង្កើត RAG
អនុញ្ញាតឱ្យ rag = ខ្សែសង្វាក់::RAG::ថ្មី(
    "chatbot_rag",
    វេក![
        chain::Node::new("ជំរាបសួរ", "ជំរាបសួរ តើខ្ញុំអាចជួយអ្នកដោយរបៀបណា?"),
        ខ្សែសង្វាក់ ::Node::new("លាហើយ", "លាហើយ វាល្អណាស់ក្នុងការជជែកជាមួយអ្នក។"),
    ],
    វេក![
        ខ្សែសង្វាក់ :: គែម :: ថ្មី("ជំរាបសួរ", "លា", "អ្នកប្រើប្រាស់_និយាយ_លា"),
    ],
);

// បង្កើត LLM
អនុញ្ញាតឱ្យ llm = llm::LLM::new(
    "chatbot_llm",
    "ឡាម៉ា",
    100,
);

// បង្កើតខ្សែសង្វាក់ chatbot
អនុញ្ញាតឱ្យខ្សែសង្វាក់ = ខ្សែសង្វាក់:: ខ្សែសង្វាក់:: ថ្មី(
    "chatbot_chain",
    លម,
    ក្រមា
);

// សាកល្បង chatbot
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()៖ ដំណើរការខ្សែសង្វាក់ និងបង្កើតការឆ្លើយតប។

ការមើលឃើញ

នេះគឺជាការមើលឃើញដ៏សាមញ្ញនៃសមត្ថភាព RAG និង LLM ដោយប្រើ Chart.js៖

`` javascript 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)', ], ទទឹងព្រំដែន៖ ១ }] }, ជម្រើស៖ { ជញ្ជីង៖ { y៖ { beginAtZero៖ ពិត } } } });


**សេចក្តីសន្និដ្ឋាន**


LangChain និង DSPy គឺជាឧបករណ៍ orchestration ដ៏មានអានុភាពដែលអាចឱ្យការអនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ដោយប្រើសមត្ថភាព RAG និង LLM ។ តាមរយៈការប្រើប្រាស់ឧបករណ៍ទាំងនេះ អ្នកអភិវឌ្ឍន៍អាចបង្កើតប្រព័ន្ធសូហ្វវែរដែលអាចធ្វើមាត្រដ្ឋានបាន ដំណើរការ និងសុវត្ថិភាពដែលអាចគ្រប់គ្រងបន្ទុកការងារ AI ដ៏ស្មុគស្មាញ។ ជាមួយនឹងភាពងាយស្រួលនៃការប្រើប្រាស់ និងភាពបត់បែនរបស់ពួកគេ LangChain និង DSPy គឺជាជម្រើសដ៏ល្អសម្រាប់ការកសាងស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI ។

** អនុសាសន៍ **


ដោយផ្អែកលើការពិភាក្សានៅក្នុងអត្ថបទនេះ ខាងក្រោមនេះជាអនុសាសន៍មួយចំនួនសម្រាប់អ្នកអភិវឌ្ឍន៍ដែលចង់អនុវត្តស្ថាបត្យកម្មកម្មវិធីដែលជំរុញដោយ AI ដោយប្រើ LangChain និង DSPy៖

* ចាប់ផ្តើមដោយការរៀនមូលដ្ឋានគ្រឹះនៃ LangChain និង DSPy រួមទាំងសមត្ថភាព RAG និង LLM របស់ពួកគេ។
* សាកល្បងជាមួយឧទាហរណ៍សាមញ្ញ ដូចជាឧទាហរណ៍ chatbot ដើម្បីទទួលបានអារម្មណ៍អំពីរបៀបដែលឧបករណ៍ដំណើរការ។
* បន្តដំណើរទៅមុខជាបណ្តើរៗទៅកាន់គម្រោងស្មុគ្រស្មាញបន្ថែមទៀត ដូចជាការកសាងប្រព័ន្ធណែនាំ ឬបណ្តាញដំណើរការភាសាធម្មជាតិ។
* ប្រើផ្នែក 5-10 នៃពាក្យបញ្ជាដែលប្រើច្រើនបំផុត/ផ្នែកខ្លីៗ ជាមគ្គុទ្ទេសក៍យោងសម្រាប់ពាក្យបញ្ជាទូទៅ និងផ្នែកតូចៗ។
* មើលឃើញសមត្ថភាព RAG និង LLM របស់អ្នកដោយប្រើ Chart.js ដើម្បីទទួលបានការយល់ដឹងកាន់តែច្បាស់អំពីទំនាក់ទំនងរវាងសមាសធាតុផ្សេងៗគ្នា។

ដោយធ្វើតាមការណែនាំទាំងនេះ អ្នកអភិវឌ្ឍន៍អាចដោះសោសក្តានុពលពេញលេញនៃ LangChain និង DSPy និងបង្កើតស្ថាបត្យកម្មកម្មវិធីដែលដំណើរការដោយ AI ដែលអាចគ្រប់គ្រងបន្ទុកការងារដ៏ស្មុគស្មាញ និងផ្តល់នូវការអនុវត្តពិសេស និងសមត្ថភាពធ្វើមាត្រដ្ឋាន។

Have Questions?

Let's Talk

Contact me on LinkedIn