RAG yaradın | B4N1

RAG yaradın

7 months ago · b4n1 Tiempo de lectura: 4 min

** Süni intellektlə işləyən proqram arxitekturası üçün orkestrasiya alətlərindən istifadə etmək**

Giriş

Süni intellekt (AI) və Maşın Öyrənmə (ML) imkanlarının proqram sistemlərinə mükəmməl inteqrasiyasına imkan verən süni intellektlə işləyən proqram arxitekturasına artan tələbat müxtəlif orkestrləşdirmə vasitələrinin inkişafına səbəb olmuşdur. Bu yazıda, genişləndirilmiş miqyaslılıq, performans və təhlükəsizlik üçün RAG (Reasoning and Action Graph) və LLM (Böyük Dil Modeli) imkanlarının inteqrasiyasına diqqət yetirməklə, LangChain və DSPy kimi orkestrasiya vasitələrindən istifadə edərək süni intellektlə idarə olunan proqram arxitekturasının tətbiqini araşdıracağıq.

Orkestrasiya Alətləri nədir?

Orkestrləşdirmə alətləri çoxsaylı xidmətlər, proqramlar və sistemləri birləşdirərək mürəkkəb iş axınlarının və proseslərin avtomatlaşdırılmasını təmin edən proqram çərçivələridir. Onlar müxtəlif komponentlər arasında qarşılıqlı əlaqəni idarə etmək və koordinasiya etmək, tapşırıqların səmərəli və genişlənə bilən icrasını təmin etmək üçün mərkəzləşdirilmiş platforma təmin edir.

LangChain: Python Əsaslı Orkestrasiya Aləti

LangChain, süni intellektlə işləyən proqram arxitekturasının qurulması üçün hərtərəfli çərçivə təmin edən açıq mənbəli Python kitabxanasıdır. O, bir sıra funksiyaları təklif edir, o cümlədən:

  • RAG (Reasoning and Action Graph) İnteqrasiyası: LangChain, süni intellektlə idarə olunan iş axınlarını modelləşdirmək və icra etmək üçün istifadə oluna bilən mürəkkəb əsaslandırma və fəaliyyət qrafiklərinin yaradılmasına imkan verən daxili RAG tətbiqini təmin edir.
  • LLM (Böyük Dil Modeli) İnteqrasiyası: LangChain təbii dil emalı və nəsil tapşırıqları üçün LLaMA və BERT kimi LLM-lərin inteqrasiyasını dəstəkləyir.
  • Ölçeklenebilirlik və Performans: LangChain, tapşırıqların səmərəli və miqyaslana bilən icrasını təmin edərək, geniş miqyaslı AI iş yüklərini idarə etmək üçün nəzərdə tutulmuşdur.

LangChain ilə süni intellektlə idarə olunan proqram arxitekturasının tətbiqi

LangChain-dən istifadə edərək süni intellektlə idarə olunan proqram arxitekturasının həyata keçirilməsini nümayiş etdirmək üçün istifadəçi sorğuları haqqında düşünmək və cavablar yaratmaq üçün RAG-dan istifadə edən chatbotun sadə nümunəsini nəzərdən keçirək.

idxal langchain
langchain.chains idxal llm


rag = langchain.RAG(
    name="chatbot_rag",
    qovşaqlar=[
        {"ad": "salam", "mətn": "Salam, sizə necə kömək edə bilərəm?"},
        {"name": "alvida", "text": "Əlvida, sizinlə söhbət etmək gözəl idi."},
    ],
    kənarlar=[
        {"from": "salam", "kimə": "əlvida", "şərt": "istifadəçi_sağol"},
    ],
)

# LLM yaradın
llm = llm.LLM(
    name="chatbot_llm",
    model = "llama",
    max_tokens=100,
)

# Bir chatbot zənciri yaradın
zəncir = zəncir. Zəncir(
    ad = "chatbot_zəncir",
    llm=llm,
    cındır=cındır,
)

# Söhbət robotunu sınayın
user_input = "Salam, necəsən?"
cavab = chain.run(istifadəçi_daxili)
çap (cavab)

DSPy: Pas Əsaslı Orkestrasiya Aləti

DSPy, süni intellektlə işləyən proqram arxitekturasının qurulması üçün yüksək performanslı və genişlənə bilən çərçivə təmin edən Rust əsaslı orkestrləşdirmə vasitəsidir. O, bir sıra funksiyaları təklif edir, o cümlədən:

  • RAG (Reasoning and Action Graph) İnteqrasiyası: DSPy, süni intellektə əsaslanan iş axınlarını modelləşdirmək və icra etmək üçün istifadə oluna bilən mürəkkəb əsaslandırma və fəaliyyət qrafiklərinin yaradılmasına imkan verən daxili RAG tətbiqini təmin edir.
  • LLM (Böyük Dil Modeli) İnteqrasiyası: DSPy təbii dil emalı və nəsil tapşırıqları üçün LLaMA və BERT kimi LLM-lərin inteqrasiyasını dəstəkləyir.
  • Ölçeklenebilirlik və Performans: DSPy, tapşırıqların səmərəli və miqyaslana bilən icrasını təmin edərək, genişmiqyaslı AI iş yüklərini idarə etmək üçün nəzərdə tutulmuşdur.

DSPy ilə süni intellektlə idarə olunan proqram arxitekturasının tətbiqi

DSPy-dən istifadə edərək süni intellektlə idarə olunan proqram arxitekturasının həyata keçirilməsini nümayiş etdirmək üçün istifadəçi sorğuları haqqında düşünmək və cavablar yaratmaq üçün RAG-dan istifadə edən chatbotun sadə nümunəsini nəzərdən keçirək.

dspy::chain istifadə edin;
dspy istifadə edin::llm;

// RAG yaradın
qoy bez = zəncir::RAG::new(
    "chatbot_rag",
    vec![
        chain::Node::new("salam", "Salam, sizə necə kömək edə bilərəm?"),
        chain::Node::new("əlvida", "Əlvida, sizinlə söhbət etmək xoş idi."),
    ],
    vec![
        chain::Edge::new("salam", "əlvida", "istifadəçi_deyir_əlvida"),
    ],
);

// LLM yaradın
let llm = llm::LLM::new(
    "chatbot_llm",
    "lama",
    100,
);

// Çatbot zənciri yaradın
zəncir = zəncir::zəncir::yeni(
    "chatbot_zəncir",
    llm,
    cır-cındır,
);

// Çat robotunu sınaqdan keçirin
let user_input = "Salam, necəsən?";
qoy cavab = chain.run(user_input);
println!("{}", cavab);

Ən çox istifadə olunan 5-10 əmr/parça

LangChain və DSPy üçün ən çox istifadə edilən əmrlər və fraqmentlər bunlardır:

  • LangChain:
    • langchain.RAG(): Yeni RAG nümunəsi yaradır.
    • langchain.LLM(): Yeni LLM nümunəsi yaradır.
    • langchain.Chain(): Yeni zəncir nümunəsi yaradır.
    • rag.run(): RAG-ı işə salır və cavab yaradır.
    • llm.run(): LLM-i işə salır və cavab yaradır.
  • DSPy:
    • dspy::chain::RAG::new(): Yeni RAG nümunəsi yaradır.
    • dspy::llm::LLM::new(): Yeni LLM nümunəsi yaradır.
    • dspy::chain::Chain::new(): Yeni zəncir nümunəsi yaradır.
    • chain.run(): Zənciri işlədir və cavab yaradır.

Vizuallaşdırma

Chart.js-dən istifadə edərək RAG və LLM imkanlarının sadə vizuallaşdırılması budur:

const ctx = document.getElementById('myChart').getContext('2d');
const chart = yeni qrafik(ctx, {
    növü: 'bar',
    data: {
        etiketlər: ['RAG', 'LLM'],
        verilənlər dəsti: [{
            etiket: 'Bacarıqlar',
            məlumat: [10, 20],
            fon Rəngi: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            sərhədRəng: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            sərhəd eni: 1
        }]
    },
    seçimlər: {
        tərəzi: {
            y: {
                startAtZero: doğrudur
            }
        }
    }
});

Nəticə

LangChain və DSPy, RAG və LLM imkanlarından istifadə edərək süni intellektlə idarə olunan proqram arxitekturasının həyata keçirilməsinə imkan verən güclü orkestrləşdirmə alətləridir. Bu alətlərdən istifadə etməklə tərtibatçılar mürəkkəb süni intellekt iş yüklərinin öhdəsindən gələ bilən genişləndirilə bilən, performanslı və təhlükəsiz proqram sistemləri yarada bilərlər. İstifadə rahatlığı və çevikliyi ilə LangChain və DSPy süni intellektlə işləyən proqram arxitekturasının yaradılması üçün ideal seçimdir.

Tövsiyələr

Bu məqalədəki müzakirələrə əsaslanaraq, LangChain və DSPy istifadə edərək süni intellektlə idarə olunan proqram arxitekturasını tətbiq etmək istəyən tərtibatçılar üçün bəzi tövsiyələr verilmişdir:

  • LangChain və DSPy-nin əsaslarını, o cümlədən RAG və LLM imkanlarını öyrənməklə başlayın.
  • Alətlərin necə işlədiyini hiss etmək üçün chatbot nümunəsi kimi sadə nümunələrlə sınaq keçirin.
  • Tədricən daha mürəkkəb layihələrə keçin, məsələn, tövsiyə sistemi və ya təbii dil emalı boru kəmərinin qurulması.
  • Ümumi əmrlər və fraqmentlər üçün istinad bələdçisi kimi Ən Çox İstifadə olunan 5-10 Əmr/Qısımlar bölməsindən istifadə edin.
  • Müxtəlif komponentlər arasındakı əlaqələri daha yaxşı başa düşmək üçün Chart.js-dən istifadə edərək RAG və LLM imkanlarınızı vizuallaşdırın.

Bu tövsiyələrə əməl etməklə tərtibatçılar LangChain və DSPy-nin tam potensialını aça və mürəkkəb iş yüklərinin öhdəsindən gələ bilən və müstəsna performans və miqyaslılığı təmin edən süni intellektlə işləyən proqram arxitekturasını qura bilərlər.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn