Създайте RAG | B4N1

Създайте RAG

3 months ago · b4n1 Read time: 5 min

Използване на инструменти за оркестрация за базирана на AI софтуерна архитектура

Въведение

Нарастващото търсене на базирана на AI софтуерна архитектура доведе до разработването на различни инструменти за оркестрация, които позволяват безпроблемно интегриране на възможностите за изкуствен интелект (AI) и машинно обучение (ML) в софтуерни системи. В тази статия ще проучим внедряването на управлявана от AI софтуерна архитектура с помощта на инструменти за оркестрация като LangChain и DSPy, с фокус върху интегрирането на RAG (Reasoning and Action Graph) и LLM (Large Language Model) възможности за подобрена мащабируемост, производителност и сигурност.

Какво представляват инструментите за оркестрация?

Инструментите за оркестрация са софтуерни рамки, които позволяват автоматизирането на сложни работни потоци и процеси чрез интегриране на множество услуги, приложения и системи. Те предоставят централизирана платформа за управление и координиране на взаимодействията между различни компоненти, осигурявайки ефективно и мащабируемо изпълнение на задачите.

LangChain: базиран на Python инструмент за оркестрация

LangChain е Python библиотека с отворен код, която предоставя цялостна рамка за изграждане на базирана на AI софтуерна архитектура. Той предлага набор от функции, включително:

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

Внедряване на управлявана от AI софтуерна архитектура с LangChain

За да демонстрираме внедряването на управлявана от изкуствен интелект софтуерна архитектура с помощта на LangChain, нека разгледаме прост пример за чатбот, който използва RAG, за да разсъждава върху потребителски заявки и да генерира отговори.

импортиране на langchain
от langchain.chains импортиране на llm


парцал = langchain.RAG(
    име="chatbot_rag",
    възли=[
        {"name": "greeting", "text": "Здравейте, как мога да ви помогна?"},
        {"name": "сбогом", "text": "Сбогом, беше ми приятно да си поговорим с теб."},
    ],
    ръбове=[
        {"от": "поздрав", "до": "довиждане", "условие": "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: инструмент за оркестрация, базиран на Rust

DSPy е инструмент за оркестрация, базиран на Rust, който осигурява високопроизводителна и мащабируема рамка за изграждане на софтуерна архитектура, задвижвана от AI. Той предлага набор от функции, включително:

  • Интеграция на RAG (Reasoning and Action Graph): DSPy предоставя вградена реализация на RAG, позволяваща създаването на сложни графики на разсъждения и действия, които могат да се използват за моделиране и изпълнение на работни потоци, управлявани от AI.
  • Интеграция на LLM (Large Language Model): DSPy поддържа интегрирането на LLM, като LLaMA и BERT, за обработка на естествен език и задачи за генериране.
  • Мащабируемост и производителност: DSPy е проектиран да се справя с големи натоварвания на AI, осигурявайки ефективно и мащабируемо изпълнение на задачи.

Внедряване на управлявана от AI софтуерна архитектура с DSPy

За да демонстрираме внедряването на управлявана от изкуствен интелект софтуерна архитектура с помощта на DSPy, нека разгледаме прост пример за чатбот, който използва RAG, за да разсъждава върху потребителски заявки и да генерира отговори.

използвайте dspy::chain;
използвайте dspy::llm;

// Създаване на RAG
нека rag = chain::RAG::new(
    "chatbot_rag",
    vec![
        chain::Node::new("greeting", "Здравейте, как мога да ви помогна?"),
        chain::Node::new("сбогом", "сбогом, беше приятно да си поговорим с теб."),
    ],
    vec![
        верига::Edge::new("поздрав", "сбогом", "user_says_goodbye"),
    ],
);

// Създаване на LLM
нека 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(): Изпълнява веригата и генерира отговор.

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

Ето проста визуализация на възможностите на 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)“,
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
            ],
            borderWidth: 1
        }]
    },
    опции: {
        везни: {
            y: {
                beginAtZero: вярно
            }
        }
    }
});

Заключение

В заключение, LangChain и DSPy са мощни инструменти за оркестрация, които позволяват внедряването на управлявана от AI софтуерна архитектура, използвайки RAG и LLM възможности. Използвайки тези инструменти, разработчиците могат да създават мащабируеми, производителни и сигурни софтуерни системи, които могат да се справят със сложни работни натоварвания на AI. Със своята лекота на използване и гъвкавост, LangChain и DSPy са идеален избор за изграждане на базирана на 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