Направете RAG | B4N1

Направете RAG

7 months ago · b4n1 Read time: 5 min

Употреба на алатки за оркестрација за софтверска архитектура напојувана со вештачка интелигенција

Вовед

Зголемената побарувачка за софтверска архитектура со ВИ доведе до развој на различни алатки за оркестрација кои овозможуваат беспрекорна интеграција на способностите за вештачка интелигенција (AI) и машинско учење (ML) во софтверските системи. Во оваа статија, ќе ја истражиме имплементацијата на софтверска архитектура управувана од вештачка интелигенција користејќи алатки за оркестрација како LangChain и DSPy, со фокус на интегрирање на способностите RAG (разумување и дејствие) и LLM (Модел на голем јазик) за зголемена приспособливост, перформанси и безбедност.

Што се алатките за оркестрација?

Алатките за оркестрација се софтверски рамки кои овозможуваат автоматизација на сложените работни текови и процеси преку интегрирање на повеќе услуги, апликации и системи. Тие обезбедуваат централизирана платформа за управување и координирање на интеракциите помеѓу различни компоненти, обезбедувајќи ефикасно и скалабилно извршување на задачите.

** LangChain: Алатка за оркестрација базирана на Пајтон**

LangChain е библиотека со отворен код на Python која обезбедува сеопфатна рамка за градење софтверска архитектура со ВИ. Тој нуди низа функции, вклучувајќи:

  • **Интеграција на RAG (Разонирање и График на дејствување): LangChain обезбедува вградена имплементација на RAG, овозможувајќи создавање сложени графикони за расудување и акција што може да се користат за моделирање и извршување на работни текови управувани од вештачка интелигенција.
  • ** LLM (Large Language Model) Интеграција**: LangChain поддржува интеграција на LLMs, како што се LLaMA и BERT, за обработка на природен јазик и задачи за генерирање.
  • Приспособливост и перформанси: LangChain е дизајниран да се справува со големи оптоварувања со вештачка интелигенција, обезбедувајќи ефикасно и скалабилно извршување на задачите.

Имплементирање на софтверска архитектура управувана од вештачка интелигенција со LangChain

За да ја демонстрираме имплементацијата на софтверска архитектура управувана од вештачка интелигенција користејќи LangChain, да разгледаме едноставен пример на чет-бот кој користи RAG за да расудува за корисничките прашања и да генерира одговори.

увозен лангсин
од langchain.синџири увоз llm


партал = langchain.RAG(
    име = "chatbot_rag",
    јазли =[
        {"name": "поздрав", "text": "Здраво, како можам да ти помогнам?"},
        {"name": "збогум", "text": "Збогум, убаво беше да разговарам со тебе."},
    ],
    рабови =[
        {"from": "поздрав", "до": "збогум", "услов": "user_says_goodbye"},
    ],
)

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

# Создадете синџир на четботови
синџир = langchain.Chain(
    име = "chatbot_chain",
    llm=llm,
    партал=партал,
)

# Тестирајте го четботот
user_input = "Здраво, како си?"
одговор = chain.run(user_input)
печатење (одговор)

DSPy: Алатка за оркестрација базирана на 'рѓа

DSPy е алатка за оркестрација базирана на Rust која обезбедува рамка со високи перформанси и скалабилна рамка за градење софтверска архитектура на ВИ. Тој нуди низа функции, вклучувајќи:

  • **Интеграција на RAG (Разонирање и График на дејствување): DSPy обезбедува вградена имплементација на RAG, овозможувајќи создавање сложени графикони за расудување и акција што може да се користат за моделирање и извршување на работни текови управувани од вештачка интелигенција.
  • LLM (Large Language Model) Интеграција: DSPy поддржува интеграција на LLMs, како што се LLaMA и BERT, за обработка на природни јазици и задачи за генерирање.
  • Приспособливост и перформанси: DSPy е дизајниран да се справи со обемот на работа со вештачка интелигенција од големи размери, обезбедувајќи ефикасно и скалабилно извршување на задачите.

Имплементирање софтверска архитектура управувана од вештачка интелигенција со DSPy

За да ја демонстрираме имплементацијата на софтверска архитектура управувана од вештачка интелигенција користејќи DSPy, да разгледаме едноставен пример на чет-бот кој користи RAG за да расудува за корисничките прашања и да генерира одговори.

користете dspy:: синџир;
користете dspy::llm;

// Креирај RAG
нека партал = синџир::партал::нов(
    "chatbot_rag",
    век![
        синџир::Јазол::new("поздрав", "Здраво, како можам да ти помогнам?"),
        синџир::Јазол::ново("збогум", "Збогум, убаво беше да разговарам со тебе."),
    ],
    век![
        chain::Edge::new("поздрав", "збогум", "user_says_goodbye"),
    ],
);

// Креирај LLM
нека llm = llm::LLM::ново(
    "chatbot_llm",
    "лама",
    100,
);

// Креирај синџир за четботи
нека синџир = синџир:: синџир:: ново(
    "chatbot_chain",
    лм,
    партал,
);

// Тестирајте го четботот
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:

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
        }]
    },
    опции: {
        вага: {
            y: {
                startAtZero: точно
            }
        }
    }
});

Заклучок

LangChain и DSPy се моќни алатки за оркестрација кои овозможуваат имплементација на софтверска архитектура управувана од AI користејќи RAG и LLM способности. Со користење на овие алатки, програмерите можат да создадат скалабилни, перформанси и безбедни софтверски системи кои можат да се справат со сложени оптоварувања со вештачка интелигенција. Со нивната леснотија на користење и флексибилност, LangChain и DSPy се идеални избори за градење софтверска архитектура на AI.

Препораки

Врз основа на дискусијата во оваа статија, еве неколку препораки за програмери кои сакаат да имплементираат софтверска архитектура управувана од вештачка интелигенција користејќи LangChain и DSPy:

  • Започнете со учење на основите на LangChain и DSPy, вклучувајќи ги нивните RAG и LLM способности.
  • Експериментирајте со едноставни примери, како што е примерот за четбот, за да добиете чувство за тоа како функционираат алатките.
  • Постепено преминете на посложени проекти, како што е изградба на систем за препораки или цевковод за обработка на природен јазик.
  • Користете го делот Топ 5-10 најкористени команди/парчиња како референтен водич за вообичаени команди и фрагменти.
  • Визуелизирајте ги вашите RAG и LLM способности користејќи Chart.js за да стекнете подобро разбирање за односите помеѓу различните компоненти.

Следејќи ги овие препораки, програмерите можат да го отклучат целосниот потенцијал на LangChain и DSPy и да изградат софтверска архитектура на ВИ која може да се справи со сложени оптоварувања и да обезбеди исклучителни перформанси и приспособливост.


Have Questions?

Let's Talk

Contact me on LinkedIn