Buat RAG | B4N1

Buat RAG

3 months ago · b4n1 Read time: 4 min

Memanfaatkan Alat Orkestrasi untuk Seni Bina Perisian Dikuasakan AI

Pengenalan

Permintaan yang semakin meningkat untuk seni bina perisian berkuasa AI telah membawa kepada pembangunan pelbagai alat orkestrasi yang membolehkan penyepaduan lancar keupayaan Kecerdasan Buatan (AI) dan Pembelajaran Mesin (ML) ke dalam sistem perisian. Dalam artikel ini, kami akan meneroka pelaksanaan seni bina perisian dipacu AI menggunakan alat orkestra seperti LangChain dan DSPy, dengan tumpuan pada penyepaduan keupayaan RAG (Reasoning and Action Graph) dan LLM (Large Language Model) untuk skalabiliti, prestasi dan keselamatan yang dipertingkatkan.

Apakah Alat Orkestrasi?

Alat orkestrasi ialah rangka kerja perisian yang membolehkan automasi aliran kerja dan proses yang kompleks dengan menyepadukan berbilang perkhidmatan, aplikasi dan sistem. Mereka menyediakan platform terpusat untuk mengurus dan menyelaraskan interaksi antara komponen yang berbeza, memastikan pelaksanaan tugas yang cekap dan berskala.

LangChain: Alat Orkestrasi Berasaskan Python

LangChain ialah perpustakaan Python sumber terbuka yang menyediakan rangka kerja komprehensif untuk membina seni bina perisian berkuasa AI. Ia menawarkan pelbagai ciri, termasuk:

  • Penyatuan RAG (Graf Penaakulan dan Tindakan): LangChain menyediakan pelaksanaan RAG terbina dalam, membolehkan penciptaan penaakulan kompleks dan graf tindakan yang boleh digunakan untuk memodelkan dan melaksanakan aliran kerja dipacu AI.
  • LLM (Model Bahasa Besar) Integrasi: LangChain menyokong penyepaduan LLM, seperti LLaMA dan BERT, untuk pemprosesan bahasa semula jadi dan tugas penjanaan.
  • Skalabilitas dan Prestasi: LangChain direka untuk mengendalikan beban kerja AI berskala besar, menyediakan pelaksanaan tugas yang cekap dan berskala.

Melaksanakan Seni Bina Perisian Didorong AI dengan LangChain

Untuk menunjukkan pelaksanaan seni bina perisian dipacu AI menggunakan LangChain, mari kita pertimbangkan contoh mudah chatbot yang menggunakan RAG untuk membuat alasan tentang pertanyaan pengguna dan menjana respons.

import langchain
daripada langchain.chains import llm


kain buruk = langchain.RAG(
    name="chatbot_rag",
    nod=[
        {"name": "greeting", "text": "Helo, bagaimana saya boleh membantu anda?"},
        {"name": "goodbye", "text": "Selamat tinggal, senang berbual dengan anda."},
    ],
    tepi=[
        {"dari": "salam", "kepada": "selamat tinggal", "syarat": "pengguna_kata_selamat tinggal"},
    ],
)

# Buat LLM
llm = llm.LLM(
    name="chatbot_llm",
    model="llama",
    max_token=100,
)

# Buat rantaian chatbot
rantai = langchain.Chain(
    name="chatbot_chain",
    llm=llm,
    kain buruk = kain buruk,
)

# Uji bot sembang
user_input = "Helo, apa khabar?"
respons = chain.run(user_input)
cetak (tindak balas)

DSPy: Alat Orkestrasi Berasaskan Karat

DSPy ialah alat orkestrasi berasaskan Rust yang menyediakan rangka kerja berprestasi tinggi dan berskala untuk membina seni bina perisian berkuasa AI. Ia menawarkan pelbagai ciri, termasuk:

  • Penyatuan RAG (Graf Penaakulan dan Tindakan): DSPy menyediakan pelaksanaan RAG terbina dalam, membolehkan penciptaan graf penaakulan dan tindakan yang kompleks yang boleh digunakan untuk memodelkan dan melaksanakan aliran kerja dipacu AI.
  • LLM (Model Bahasa Besar) Penyepaduan: DSPy menyokong penyepaduan LLM, seperti LLaMA dan BERT, untuk pemprosesan bahasa semula jadi dan tugas penjanaan.
  • Skalabilitas dan Prestasi: DSPy direka untuk mengendalikan beban kerja AI berskala besar, menyediakan pelaksanaan tugas yang cekap dan berskala.

Melaksanakan Seni Bina Perisian Didorong AI dengan DSPy

Untuk menunjukkan pelaksanaan seni bina perisian dipacu AI menggunakan DSPy, mari kita pertimbangkan contoh mudah chatbot yang menggunakan RAG untuk membuat alasan tentang pertanyaan pengguna dan menjana respons.

gunakan dspy::chain;
gunakan dspy::llm;

// Buat RAG
biarkan kain buruk = rantai::RAG::baru(
    "chatbot_rag",
    vec![
        chain::Node::new("salam", "Hello, bagaimana saya boleh membantu anda?"),
        chain::Node::new("selamat tinggal", "Selamat tinggal, seronok bersembang dengan anda."),
    ],
    vec![
        chain::Edge::new("salam", "selamat tinggal", "pengguna_kata_selamat tinggal"),
    ],
);

// Buat LLM
biarkan llm = llm::LLM::baru(
    "chatbot_llm",
    "llama",
    100,
);

// Buat rantaian chatbot
biarkan rantai = rantai::Rantai::baru(
    "chainbot_chain",
    llm,
    kain buruk,
);

// Uji bot sembang
let user_input = "Hello, apa khabar?";
biarkan respons = chain.run(user_input);
println!("{}", respons);

** 5-10 Arahan/Snippet Teratas Paling Digunakan**

Berikut ialah beberapa arahan dan coretan yang paling biasa digunakan untuk LangChain dan DSPy:

  • LangChain:
    • langchain.RAG(): Mencipta tika RAG baharu.
    • langchain.LLM(): Mencipta tika LLM baharu.
    • langchain.Chain(): Mencipta tika rantai baharu.
    • rag.run(): Menjalankan RAG dan menjana respons.
    • llm.run(): Menjalankan LLM dan menjana respons.
  • DSPy:
    • dspy::chain::RAG::new(): Mencipta tika RAG baharu.
    • dspy::llm::LLM::new(): Mencipta tika LLM baharu.
    • dspy::chain::Chain::new(): Mencipta contoh rantaian baharu.
    • chain.run(): Menjalankan rantai dan menjana respons.

Visualisasi

Berikut ialah visualisasi mudah keupayaan RAG dan LLM menggunakan Chart.js:

const ctx = document.getElementById('myChart').getContext('2d');
carta const = Carta baharu(ctx, {
    jenis: 'bar',
    data: {
        label: ['RAG', 'LLM'],
        set data: [{
            label: 'Keupayaan',
            data: [10, 20],
            Warna latar belakang: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
            ],
            Warna sempadan: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            Lebar sempadan: 1
        }]
    },
    pilihan: {
        skala: {
            y: {
                beginAtZero: benar
            }
        }
    }
});

Kesimpulan

Kesimpulannya, LangChain dan DSPy ialah alat orkestrasi yang berkuasa yang membolehkan pelaksanaan seni bina perisian dipacu AI menggunakan keupayaan RAG dan LLM. Dengan memanfaatkan alatan ini, pembangun boleh mencipta sistem perisian berskala, berprestasi dan selamat yang boleh mengendalikan beban kerja AI yang kompleks. Dengan kemudahan penggunaan dan fleksibiliti mereka, LangChain dan DSPy adalah pilihan ideal untuk membina seni bina perisian berkuasa AI.

Cadangan

Berdasarkan perbincangan dalam artikel ini, berikut ialah beberapa cadangan untuk pembangun yang ingin melaksanakan seni bina perisian dipacu AI menggunakan LangChain dan DSPy:

  • Mulakan dengan mempelajari asas LangChain dan DSPy, termasuk keupayaan RAG dan LLM mereka.
  • Eksperimen dengan contoh mudah, seperti contoh chatbot, untuk merasakan cara alat berfungsi.
  • Secara beransur-ansur beralih kepada projek yang lebih kompleks, seperti membina sistem pengesyoran atau saluran pemprosesan bahasa semula jadi.
  • Gunakan bahagian 5-10 Arahan/Snippet Paling Banyak Digunakan sebagai panduan rujukan untuk arahan dan coretan biasa.
  • Visualisasikan keupayaan RAG dan LLM anda menggunakan Chart.js untuk mendapatkan pemahaman yang lebih baik tentang hubungan antara komponen yang berbeza.

Dengan mengikuti pengesyoran ini, pembangun boleh membuka kunci potensi penuh LangChain dan DSPy dan membina seni bina perisian berkuasa AI yang boleh mengendalikan beban kerja yang kompleks dan memberikan prestasi dan kebolehskalaan yang luar biasa.


Have Questions?

Let's Talk

Contact me on LinkedIn