Ṣẹda RAG kan | B4N1

Ṣẹda RAG kan

7 months ago · b4n1 Tiempo de lectura: 6 min

** Awọn Irinṣẹ Iṣagbese Lilo fun Itumọ sọfitiwia Agbara AI-Agbara ***

Ibere

Ibeere ti o pọ si fun faaji sọfitiwia ti o ni agbara AI ti yori si idagbasoke ti ọpọlọpọ awọn irinṣẹ orchestration ti o jẹ ki isọpọ ailopin ti Imọye Artificial (AI) ati awọn agbara Ẹkọ Ẹrọ (ML) sinu awọn eto sọfitiwia. Ninu àpilẹkọ yii, a yoo ṣawari imuse imuse ti sọfitiwia sọfitiwia ti AI nipasẹ lilo awọn irinṣẹ orchestration bi LangChain ati DSPy, pẹlu idojukọ lori sisọpọ RAG (Idiran ati Aworan Action) ati LLM (Awoṣe Ede nla) awọn agbara fun imudara scalability, iṣẹ, ati aabo.

Kini Awọn Irinṣẹ Orchestration?

Awọn irinṣẹ orchestration jẹ awọn ilana sọfitiwia ti o jẹ ki adaṣe adaṣe ti awọn iṣan-iṣẹ eka ati awọn ilana ṣiṣẹpọ nipa sisọpọ awọn iṣẹ lọpọlọpọ, awọn ohun elo, ati awọn eto. Wọn pese aaye ti aarin fun iṣakoso ati ṣiṣakoṣo awọn ibaraenisepo laarin awọn oriṣiriṣi awọn paati, aridaju ṣiṣe daradara ati ipaniyan ti awọn iṣẹ-ṣiṣe.

**LangChain: Ọpa Orchestration Da lori Python kan ***

LangChain jẹ ile-ikawe Python orisun-ìmọ ti o pese ilana pipe fun kikọ faaji sọfitiwia ti o ni agbara AI. O funni ni ọpọlọpọ awọn ẹya, pẹlu:

  • **RAG (Idi ati Aworan Action) Integration ***: LangChain n pese imuse RAG ti a ṣe sinu rẹ, ti o mu ki ẹda ti idiju idiju ati awọn aworan iṣe ti o le ṣee lo lati ṣe awoṣe ati ṣiṣe awọn ṣiṣan ṣiṣan AI-ṣiṣẹ.
  • **LLM (Awoṣe Ede Nla) Ijọpọ ***: LangChain ṣe atilẹyin isọpọ ti LLMs, gẹgẹbi LLAMA ati BERT, fun sisẹ ede adayeba ati awọn iṣẹ-ṣiṣe iran.
  • ** Scalability ati Performance ***: LangChain ti ṣe apẹrẹ lati mu awọn iṣẹ-ṣiṣe AI ti o tobi-nla, pese ṣiṣe daradara ati ipaniyan ti awọn iṣẹ-ṣiṣe.

** Ṣiṣe imuse faaji sọfitiwia AI-Iwakọ pẹlu LangChain ***

Lati ṣe afihan imuse ti faaji sọfitiwia ti AI-ṣiṣẹ ni lilo LangChain, jẹ ki a gbero apẹẹrẹ ti o rọrun kan ti chatbot kan ti o nlo RAG kan lati ronu nipa awọn ibeere olumulo ati ṣe awọn idahun.

`` Python gbe wọle langchain lati langchain.chains gbe wọle llm

rag = langchain.RAG( orukọ = "chatbot_rag", apa=[ {"name": "kíni", "text": "Hello, bawo ni MO ṣe le ran ọ lọwọ?"}, {"name": "o dabọ̀", "text": "Ó dágbére, ó dára láti bá ọ sọ̀rọ̀."}, ], egbegbe=[ {"lati": "kíni", "si": "o dabọ̀", "condition": "user_says_goodbye"}, ], )

Ṣẹda LLM kan

llm = llm.LLM( orukọ = "chatbot_llm", awoṣe = "llama", max_tokens=100, )

Ṣẹda pq chatbot kan

ẹwọn = langchain.Ẹwọn ( orukọ = "chatbot_chain", llm=llm, rag=agbo, )

Ṣe idanwo chatbot

user_input = "Hello, bawo ni?" idahun = chain.run (user_input) sita (idahun)


** DSPy: Ohun elo Orchestration Da ipata kan ***


DSPy jẹ ohun elo orchestration ti o da lori Rust ti o pese iṣẹ ṣiṣe giga ati ilana iwọn fun kikọ faaji sọfitiwia ti o ni agbara AI. O funni ni ọpọlọpọ awọn ẹya, pẹlu:

* ** RAG (Idi ati Aworan Action) Integration ***: DSPy n pese imuse RAG ti a ṣe sinu, ti o fun laaye ẹda ti idiju idiju ati awọn aworan iṣe ti o le ṣee lo lati ṣe awoṣe ati ṣiṣẹ awọn ṣiṣan iṣẹ ṣiṣe ti AI.
* **LLM (Awoṣe Ede nla) Isopọpọ ***: DSPy ṣe atilẹyin isọpọ ti LLMs, gẹgẹbi LLAMA ati BERT, fun sisẹ ede adayeba ati awọn iṣẹ ṣiṣe iran.
* ** Scalability ati Performance ***: A ṣe apẹrẹ DSPy lati mu awọn iṣẹ-ṣiṣe AI ti o tobi-nla, pese ipaniyan daradara ati iwọn awọn iṣẹ-ṣiṣe.

** Ṣiṣe imuse faaji sọfitiwia AI-Iwakọ pẹlu DSPy ***


Lati ṣe afihan imuse ti faaji sọfitiwia ti AI-ṣiṣẹ ni lilo DSPy, jẹ ki a gbero apẹẹrẹ ti o rọrun ti chatbot kan ti o nlo RAG kan lati ronu nipa awọn ibeere olumulo ati ṣe awọn idahun.

`` ipata
lo dspy :: pq;
lo dspy :: LM;

// Ṣẹda RAG kan
jẹ ki rag = pq :: RAG :: titun (
    "chatbot_rag",
    vec![
        pq :: Node :: tuntun ("kíkí", "Hello, bawo ni MO ṣe le ran ọ lọwọ?"),
        pq :: Node :: tuntun ("o dabọ", "O dabọ, o dara lati ba ọ sọrọ."),
    ],
    vec![
        pq :: Eti :: titun ("kíkí", "o dabọ", "user_says_goodbye"),
    ],
);

// Ṣẹda LLM kan
jẹ ki llm = llm::LLM:: titun(
    "chatbot_llm",
    "llama",
    100,
);

// Ṣẹda a chatbot pq
jẹ ki pq = pq :: pq :: titun (
    "chatbot_chain",
    llm,
    rag,
);

// Idanwo chatbot
let user_input = "Hello, bawo ni?";
jẹ ki idahun = chain.run (user_input);
println! ("{}", idahun);

** Top 5-10 Awọn aṣẹ ti a lo julọ / awọn snippets ***

Eyi ni diẹ ninu awọn aṣẹ ti o wọpọ julọ ati awọn snippets fun LangChain ati DSPy:

LangChain: * langchain.RAG()': Ṣẹda titun RAG apẹẹrẹ. * langchain.LLM(): Ṣẹda titun LLM apẹẹrẹ. * langchain.Chain ()': Ṣẹda apẹẹrẹ pq tuntun kan. * rag.run(): Ṣiṣe awọn RAG ati ki o se ina kan esi. * llm.run(): Ṣiṣe LLM ati ṣe ipilẹṣẹ esi. DSPy: * dspy :: pq :: RAG :: titun () : Ṣẹda titun kan RAG apeere. * dspy :: llm :: LLM :: titun () : Ṣẹda titun kan LLM apeere. * dspy :: pq :: Pq :: titun () : Ṣẹda titun pq apeere. * chain.run (): Ṣiṣe awọn pq ati ipilẹṣẹ kan esi.

** Iworan ***

Eyi ni iwoye ti o rọrun ti RAG ati awọn agbara LLM nipa lilo Chart.js:

`` javascript const ctx = document.getElementById ('myChart') .getContext ('2d'); const chart = Aworan tuntun (ctx, { iru: 'bar', data: { akole: ['RAG', 'LLM'], awọn ipilẹ data: [{ aami: 'Awọn agbara', data: [10, 20], abẹlẹAwọ: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', ], Àwọ̀ ààlà: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', ], Iwọn ààlà: 1 }] }, awọn aṣayan: { awọn iwọn: { y: { beginAtZero: otitọ } } } });


**Ipari**


LangChain ati DSPy jẹ awọn irinṣẹ orchestration ti o lagbara ti o jẹ ki imuse imuse ti sọfitiwia sọfitiwia ti AI nipasẹ lilo awọn agbara RAG ati LLM. Nipa gbigbe awọn irinṣẹ wọnyi ṣiṣẹ, awọn olupilẹṣẹ le ṣẹda iwọn, ṣiṣe, ati awọn eto sọfitiwia to ni aabo ti o le mu awọn ẹru iṣẹ AI ti o nipọn. Pẹlu irọrun ti lilo ati irọrun wọn, LangChain ati DSPy jẹ awọn yiyan ti o dara julọ fun ṣiṣe iṣelọpọ sọfitiwia ti o ni agbara AI.

**Awọn iṣeduro**


Da lori ijiroro ninu nkan yii, eyi ni diẹ ninu awọn iṣeduro fun awọn idagbasoke ti o fẹ lati ṣe imuse faaji sọfitiwia ti AI-ṣiṣẹ nipa lilo LangChain ati DSPy:

* Bẹrẹ nipasẹ kikọ ẹkọ awọn ipilẹ ti LangChain ati DSPy, pẹlu awọn agbara RAG ati LLM wọn.
* Ṣe idanwo pẹlu awọn apẹẹrẹ rọrun, gẹgẹbi apẹẹrẹ chatbot, lati ni rilara fun bi awọn irinṣẹ ṣe n ṣiṣẹ.
* Diẹdiẹ tẹsiwaju si awọn iṣẹ akanṣe diẹ sii, gẹgẹbi kikọ eto iṣeduro kan tabi opo gigun ti iṣelọpọ ede adayeba.
* Lo Top 5-10 Awọn aṣẹ ti a lo julọ / apakan apakan bi itọsọna itọkasi fun awọn aṣẹ ti o wọpọ ati awọn snippets.
* Ṣe wiwo awọn agbara RAG ati LLM rẹ nipa lilo Chart.js lati ni oye ti o dara julọ ti awọn ibatan laarin awọn oriṣiriṣi awọn paati.

Nipa titẹle awọn iṣeduro wọnyi, awọn olupilẹṣẹ le ṣii agbara kikun ti LangChain ati DSPy ati kọ ile-iṣẹ sọfitiwia ti o ni agbara AI ti o le mu awọn ẹru iṣẹ ti o nipọn ati pese iṣẹ iyasọtọ ati iwọn.

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn