වැඩිදියුණු කළ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් සඳහා LLMs සමඟ RAG ඒකාබද්ධ කිරීම | B4N1

වැඩිදියුණු කළ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් සඳහා LLMs සමඟ RAG ඒකාබද්ධ කිරීම

9 months ago · b4n1 Tiempo de lectura: 4 min

වැඩිදියුණු කළ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහ සඳහා LLM සමඟ RAG ඒකාබද්ධ කිරීම

හැඳින්වීම

කෘත්‍රිම බුද්ධිය (AI), යන්ත්‍ර ඉගෙනීම (ML) සහ ස්වභාවික භාෂා සැකසුම් (NLP) හි දියුණුව නිසා මෘදුකාංග සංවර්ධන භූ දර්ශනය වේගයෙන් විකාශනය වෙමින් පවතී. අප මෘදුකාංග සංවර්ධනය කිරීමේ විප්ලවීය වෙනසක් ඇති කරන ප්‍රධාන තාක්‍ෂණ දෙක වන්නේ Retrieval-Augmented Generation (RAG) සහ Large Language Models (LLMs) ය. මෙම ලිපියෙන්, අපි මෘදුකාංග ඉංජිනේරු ක්‍රියාවලීන් විධිමත් කිරීමට, කේත උත්පාදනය වැඩි දියුණු කිරීමට සහ සංවර්ධක ඵලදායිතාව වැඩි කිරීමට LLMs සමඟ RAG ඒකාබද්ධ කිරීම ගවේෂණය කරන්නෙමු.

Retrieval-Augmented Generation (RAG) යනු කුමක්ද?

RAG යනු NLP වෙත ලබා ගැනීම මත පදනම් වූ සහ උත්පාදනය පදනම් කරගත් ප්‍රවේශයන්ගේ ශක්තීන් ඒකාබද්ධ කරන තාක්‍ෂණයකි. විශාල පෙළ සංග්‍රහයකින් අදාළ තොරතුරු ලබා ගැනීම සහ නව පෙළ උත්පාදනය වැඩි කිරීම සඳහා එය භාවිතා කිරීම එයට ඇතුළත් වේ. මෙම ප්‍රවේශය ප්‍රශ්නවලට පිළිතුරු සැපයීම, පෙළ සාරාංශ කිරීම සහ කේත උත්පාදනය ඇතුළු විවිධ NLP කාර්යයන්හි ඉතා ඵලදායී බව පෙන්වා දී ඇත.

** Large Language Models (LLMs) යනු මොනවාද?**

LLMs යනු මිනිසාට සමාන භාෂාවක් සැකසීමට සහ උත්පාදනය කිරීමට නිර්මාණය කර ඇති ස්නායුක ජාලයකි. ඒවා සාමාන්‍යයෙන් පෙළෙහි දැවැන්ත දත්ත කට්ටල මත පුහුණු කර ඇති අතර භාෂා පරිවර්තනය, පෙළ සාරාංශ කිරීම සහ කේත උත්පාදනය වැනි නිශ්චිත කාර්යයන් සඳහා මනාව සකස් කළ හැක. LLMs බොහෝ NLP කාර්යයන්හි අති නවීන ප්‍රතිඵල අත්කර ගෙන ඇති අතර chatbots, virtual Assistants සහ භාෂා පරිවර්තන පද්ධති වැනි යෙදුම්වල බහුලව භාවිතා වේ.

වැඩිදියුණු කළ මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහ සඳහා LLM සමඟ RAG ඒකාබද්ධ කිරීම

LLM සමඟ RAG ඒකාබද්ධ කිරීම අප මෘදුකාංග සංවර්ධනය කරන ආකාරය විප්ලවීය වෙනසක් කිරීමට හැකියාව ඇත. ලබා ගැනීම මත පදනම් වූ සහ උත්පාදනය පදනම් කරගත් ප්‍රවේශයන්ගේ ශක්තීන් ඒකාබද්ධ කිරීමෙන්, RAG හට වඩාත් නිවැරදි සහ අදාළ කේතය ජනනය කිරීමට LLMs හට උපකාර කළ හැක. මෙය සංවර්ධක ඵලදායිතාව, කේත ගුණාත්මකභාවය සහ සමස්ත මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන්හි සැලකිය යුතු දියුණුවක් ඇති කිරීමට හේතු විය හැක.

** වාද්‍ය වෘන්ද මෙවලම්: LangChain සහ DSPy**

LLMs සමඟ RAG ඒකාබද්ධ කිරීමට, අපට දත්ත ගලායාම කළමනාකරණය කළ හැකි සහ RAG සහ LLM සංරචක ක්‍රියාත්මක කිරීම පාලනය කළ හැකි වාද්‍ය වෘන්ද මෙවලම් අවශ්‍ය වේ. මේ සඳහා භාවිතා කළ හැකි ජනප්‍රිය වාද්‍ය වෘන්ද මෙවලම් දෙකක් වන්නේ LangChain සහ DSPy ය.

LangChain

LangChain යනු RAG මත පදනම් වූ යෙදුම් තැනීම සඳහා සරල සහ අවබෝධාත්මක API සපයන විවෘත මූලාශ්‍ර Python පුස්තකාලයකි. බලවත් මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් නිර්මාණය කිරීම සඳහා LLMs සහ අනෙකුත් NLP සංරචක සමඟ RAG පහසුවෙන් ඒකාබද්ධ කිරීමට එය සංවර්ධකයින්ට ඉඩ සලසයි.

DSPy

DSPy යනු RAG-පාදක යෙදුම් තැනීම සඳහා ඉහළ මට්ටමේ API සපයන තවත් විවෘත මූලාශ්‍ර Python පුස්තකාලයකි. එය LLMs සහ අනෙකුත් NLP සංරචක සමඟ බාධාවකින් තොරව ක්‍රියා කිරීමට සැලසුම් කර ඇති අතර, එය LLMs සමඟ RAG ඒකාබද්ධ කිරීම සඳහා කදිම තේරීමක් කරයි.

කේත උදාහරණය: LangChain භාවිතයෙන් LLM සමඟ RAG ඒකාබද්ධ කිරීම

LangChain භාවිතයෙන් LLM සමඟ RAG ඒකාබද්ධ කරන්නේ කෙසේද යන්න පෙන්නුම් කරන සරල කේත උදාහරණයක් මෙන්න:

langchain ආනයනය කරන්න
langchain.chains වෙතින් RAGChain ආනයනය කරන්න


rag_model = langchain.RAG(
    index=langchain.Index(
        name="my_index",
        documents=["document1", "document2", "document3"],
    ),
    retriever=langchain.Retriever(
        name="my_retriever",
        ආකෘතිය="my_retriever_model",
    ),
    generator=langchain.Generator(
        name="my_generator",
        ආකෘතිය="my_generator_model",
    ),
)

# LLM ආකෘතිය නිර්වචනය කරන්න
llm_model = langchain.LLM(
    name="my_llm",
    ආකෘතිය="my_llm_model",
)

# RAG දාමයක් සාදන්න
rag_chain = RAGChain(
    name="my_rag_chain",
    model=rag_model,
    llm=llm_model,
)

# කේතය ජනනය කිරීමට RAG දාමය භාවිතා කරන්න
කේතය = rag_chain.generate(
    input_text="ආදානය ලෙස පූර්ණ සංඛ්‍යා දෙකක් ගෙන ඒවායේ එකතුව ලබා දෙන ශ්‍රිතයක් ලියන්න",
)

මුද්‍රණය (කේතය)

මෙම කේත උදාහරණය LangChain භාවිතයෙන් RAG ආකෘතියක් නිර්වචනය කරන්නේ කෙසේද, LLM ආකෘතියක් නිර්වචනය කරන්නේ කෙසේද, RAG දාමයක් නිර්මාණය කරන්නේ කෙසේද සහ කේතය ජනනය කිරීමට දාමය භාවිතා කරන්නේ කෙසේද යන්න පෙන්නුම් කරයි.

ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets

LangChain සහ DSPy භාවිතයෙන් LLM සමඟ RAG ඒකාබද්ධ කිරීම සඳහා වැඩිපුරම භාවිතා කරන ලද විධාන/snippets 5-10 මෙන්න:

  1. langchain.RAG(): RAG ආකෘති අවස්ථාවක් නිර්මාණය කරයි.
  2. langchain.Index(): ලේඛන ගබඩා කිරීම සහ ලබා ගැනීම සඳහා දර්ශක අවස්ථාවක් නිර්මාණය කරයි.
  3. langchain.Retriever(): අදාළ ලේඛන ලබා ගැනීම සඳහා retriever අවස්ථාවක් නිර්මාණය කරයි.
  4. langchain.Generator(): නව පෙළ ජනනය කිරීම සඳහා උත්පාදක නිදර්ශනයක් නිර්මාණය කරයි.
  5. langchain.LLM(): LLM ආකෘතියක් නිර්මාණය කරයි.
  6. RAGChain(): RAG දාම අවස්ථාවක් නිර්මාණය කරයි.
  7. rag_chain.generate(): කේතය ජනනය කිරීමට RAG දාමය භාවිත කරයි.
  8. llm_model.generate(): කේතය ජනනය කිරීමට LLM ආකෘතිය භාවිතා කරයි.
  9. index.add_document(): දර්ශකයට ලේඛනයක් එක් කරයි.
  10. retriever.retrieve(): retriever භාවිතයෙන් අදාළ ලේඛන ලබා ගනී.

දෘෂ්‍යකරණය

මෙන්න Chart.js භාවිතයෙන් RAG සහ LLM සංරචකවල දෘශ්‍යකරණයකි: '''' ජේසන් { "වර්ගය": "බාර්", "දත්ත": { "ලේබල්": ["RAG", "LLM"], "දත්ත කට්ටල": [ { "ලේබලය": "සංරචක", "දත්ත": [10, 20], "backgroundColor": ["#4CAF50", "#FF9800"] } ] }, "විකල්ප": { "මාතෘකාව": { "දර්ශණය": ඇත්ත, "පෙළ": "RAG සහ LLM සංරචක" }, "පරිමාණ": { "yAxes": [ { "දර්ශණය": ඇත්ත, "beginAtZero": ඇත්ත } ] } } }

මෙම දෘශ්‍යකරණය RAG සහ LLM මාදිලිවල ඇති සංරචක ගණන පෙන්වයි.

** නිගමනය **

LLM සමඟ RAG ඒකාබද්ධ කිරීම අප මෘදුකාංග සංවර්ධනය කරන ආකාරය විප්ලවීය වෙනසක් කිරීමට හැකියාව ඇත. ලබා ගැනීම මත පදනම් වූ සහ උත්පාදනය පදනම් කරගත් ප්‍රවේශයන්ගේ ශක්තීන් ඒකාබද්ධ කිරීමෙන්, RAG හට වඩාත් නිවැරදි සහ අදාළ කේතය ජනනය කිරීමට LLMs හට උපකාර කළ හැක. මෙය සංවර්ධක ඵලදායිතාව, කේත ගුණාත්මකභාවය සහ සමස්ත මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන්හි සැලකිය යුතු දියුණුවක් ඇති කිරීමට හේතු විය හැක. LangChain සහ DSPy වැනි වාද්‍ය වෘන්ද මෙවලම් සමඟින්, ප්‍රබල මෘදුකාංග සංවර්ධන කාර්ය ප්‍රවාහයන් නිර්මාණය කිරීම සඳහා සංවර්ධකයින්ට LLMs සහ අනෙකුත් NLP සංරචක සමඟ RAG පහසුවෙන් ඒකාබද්ධ කළ හැකිය.

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn