වැඩිදියුණු කළ DevOps සඳහා DSPy සහ LangChain සමඟ මහා පරිමාණ LLM නල මාර්ග සංවිධානය කිරීම | B4N1

වැඩිදියුණු කළ DevOps සඳහා DSPy සහ LangChain සමඟ මහා පරිමාණ LLM නල මාර්ග සංවිධානය කිරීම

6 months ago · b4n1 Read time: 4 min

** වැඩිදියුණු කළ DevOps සඳහා DSPy සහ LangChain සමඟ මහා පරිමාණ LLM නල මාර්ග සංවිධානය කිරීම**

හැඳින්වීම

Large Language Models (LLMs) පැමිණීම ස්වභාවික භාෂා සැකසුම් (NLP) සහ කෘතිම බුද්ධිය (AI) ක්ෂේත්‍රයේ විප්ලවීය වෙනසක් සිදු කර ඇත. කෙසේ වෙතත්, LLM මත පදනම් වූ පද්ධතිවල සංකීර්ණත්වය සහ පරිමාණය වැඩි වන විට, ශක්තිමත් සහ කාර්යක්ෂම වාද්‍ය වෘන්දය සහ ස්වයංක්‍රීය මෙවලම් අවශ්‍යතාවය ද වැඩි වේ. මෙම ලිපියෙන්, අපි AI යුගයේ ඔරොත්තු දෙන සහ පරිමාණය කළ හැකි මෘදුකාංග පද්ධති ගොඩනැගීමට හැකි ප්‍රබල රාමු දෙකක් වන DSPy සහ LangChain ලෝකය තුළට පිවිසෙමු.

මහා පරිමාණ LLM නල මාර්ගවල අභියෝගය

මහා පරිමාණ LLM නල මාර්ග දත්ත පෙර සැකසුම්, ආකෘති පුහුණුව සහ අනුමාන ඇතුළු බහු සංරචක ඇතුළත් වේ. විවිධ සංරචක අතර බොහෝ පරායත්තතා සහ අන්තර්ක්‍රියා සහිතව මෙම නල මාර්ග සංකීර්ණ විය හැකිය. මෙම නල මාර්ගවල පරිමාණය වැඩි වන විට, දෝෂ, ප්රමාදයන් සහ සම්පත් බාධක අවදානම වැඩි වේ.

** DSPy සහ LangChain ඇතුළත් කරන්න**

DSPy සහ LangChain යනු මහා පරිමාණ LLM නල මාර්ගවල වාද්‍ය වෘන්දය සහ ස්වයංක්‍රීයකරණය සරල කිරීම අරමුණු කරගත් රාමු දෙකකි. DSPy යනු Python මත පදනම් වූ රාමුවක් වන අතර එය සංකීර්ණ දත්ත නල මාර්ග තැනීමට සහ කළමනාකරණය කිරීමට සරල සහ කාර්යක්ෂම ක්‍රමයක් සපයන අතර LangChain යනු පරිමාණය කළ හැකි සහ ඔරොත්තු දෙන AI පද්ධති ගොඩනැගීමට හැකි රාමුවකි.

DSPy: දත්ත නල මාර්ග සඳහා පයිතන් පාදක රාමුවක්

DSPy යනු Python මත පදනම් වූ රාමුවක් වන අතර එය සංකීර්ණ දත්ත නල මාර්ග ගොඩනැගීමට සහ කළමනාකරණය කිරීමට සරල සහ කාර්යක්ෂම ක්‍රමයක් සපයයි. DSPy සමඟින්, සංවර්ධකයින්ට පරිමාණය කළ හැකි, ඔරොත්තු දෙන සහ නඩත්තු කිරීමට පහසු දත්ත නල මාර්ග නිර්මාණය කළ හැකිය.

DSPy සමඟ ගොඩනගා ඇති සරල දත්ත නල මාර්ගයක උදාහරණයක් මෙන්න:

dsp ලෙස dspy ආනයනය කරන්න


data_source = dsp.Source(
    name="my_data_source",
    type="csv",
    path="/path/to/data.csv"
)

# දත්ත සකසනයක් නිර්වචනය කරන්න
data_processor = dsp.Processor(
    name="my_data_processor",
    type="pandas",
    func=lambda x: x.dropna()
)

# දත්ත සින්ක් නිර්වචනය කරන්න
data_sink = dsp.Sink(
    name="my_data_sink",
    type="csv",
    path="/path/to/output.csv"
)

# දත්ත නල මාර්ගයක් සාදන්න
නල මාර්ගය = dsp.Pipeline(
    name="my_pipeline",
    මූලාශ්‍ර=[දත්ත_මූලාශ්‍රය],
    processors=[data_processor],
    සින්ක් =[දත්ත_සින්ක්]
)

# නල මාර්ගය ධාවනය කරන්න
pipeline.run()

මෙම උදාහරණයේදී, අපි දත්ත ප්‍රභවයක්, දත්ත සකසනයක් සහ දත්ත සින්ක් නිර්වචනය කර, මෙම සංරචක සම්බන්ධ කරන දත්ත නල මාර්ගයක් සාදන්නෙමු. එවිට නල මාර්ගය ධාවනය වන්නේ run() ක්‍රමය භාවිතා කරමිනි.

LangChain: පරිමාණය කළ හැකි සහ ඔරොත්තු දෙන AI පද්ධති සඳහා රාමුවක්

LangChain යනු පරිමාණය කළ හැකි සහ ඔරොත්තු දෙන AI පද්ධති ගොඩනැගීමට හැකි රාමුවකි. LangChain සමඟින්, සංවර්ධකයින්ට නඩත්තු කිරීමට පහසු, පරිමාණය කළ හැකි සහ අසාර්ථකත්වයන්ට ඔරොත්තු දෙන AI පද්ධති නිර්මාණය කළ හැකිය.

LangChain සමඟ ගොඩනගා ඇති සරල AI පද්ධතියක උදාහරණයක් මෙන්න:

lc ලෙස langchain ආනයනය කරන්න

# ආකෘතියක් නිර්වචනය කරන්න
ආකෘතිය = lc.Model(
    name="my_model",
    වර්ගය="ට්‍රාන්ස්ෆෝමරය",
    path="/path/to/model"
)

# විමසුමක් නිර්වචනය කරන්න
prompt = lc.Prompt(
    name="my_prompt",
    text="මෙය නියැදි විමසුමකි"
)

# AI පද්ධතියක් සාදන්න
ai_system = lc.AISystem(
    name="my_ai_system",
    model=ආදර්ශය,
    prompt=ඉක්මනින්
)

# AI පද්ධතිය ධාවනය කරන්න
ai_system.run()

මෙම උදාහරණයේදී, අපි ආකෘතියක්, ප්‍රේරකයක් නිර්වචනය කර, පසුව මෙම සංරචක සම්බන්ධ කරන AI පද්ධතියක් නිර්මාණය කරමු. AI පද්ධතිය ක්‍රියාත්මක වන්නේ 'run()' ක්‍රමය භාවිතා කරමිනි.

** DSPy සහ LangChain සමඟ මහා පරිමාණ LLM නල මාර්ග සංවිධානය කිරීම**

DSPy සහ LangChain සමඟ මහා පරිමාණ LLM නල මාර්ග සංවිධානය කිරීමට, අපට පහත ප්‍රවේශය භාවිතා කළ හැක:

  1. බහු දත්ත මූලාශ්‍ර, ප්‍රොසෙසර සහ සින්ක් සම්බන්ධ කරන DSPy භාවිතයෙන් දත්ත නල මාර්ගයක් නිර්වචනය කරන්න.
  2. බහු මාදිලි, විමසුම් සහ ප්‍රතිදානයන් සම්බන්ධ කරන LangChain භාවිතයෙන් AI පද්ධතියක් නිර්වචනය කරන්න.
  3. දත්ත නල මාර්ගය කළමනාකරණය කිරීමට DSPy සහ AI පද්ධතිය කළමනාකරණය කිරීමට LangChain භාවිතා කරන්න.
  4. දත්ත නල මාර්ගය සහ AI පද්ධතිය ක්‍රියාත්මක කිරීම උපලේඛනගත කිරීමට Apache Airflow හෝ Kubernetes වැනි උපලේඛකයක් භාවිතා කරන්න.

DSPy සහ LangChain භාවිතා කරන සරල වාද්‍ය වෘන්දයක් සඳහා උදාහරණයක් මෙන්න:

dsp ලෙස dspy ආනයනය කරන්න
lc ලෙස langchain ආනයනය කරන්න
apache_airflow ආයාත කරන්න

# දත්ත නල මාර්ගයක් නිර්වචනය කරන්න
data_pipeline = dsp.Pipeline(
    name="my_data_pipeline",
    මූලාශ්‍ර=[dsp.Source(name="my_data_source", type="csv", path="/path/to/data.csv")],
    processors=[dsp.Processor(name="my_data_processor", type="pandas", func=lambda x: x.dropna())],
    sinks=[dsp.Sink(name="my_data_sink", type="csv", path="/path/to/output.csv")]
)

# AI පද්ධතියක් නිර්වචනය කරන්න
ai_system = lc.AISystem(
    name="my_ai_system",
    model=lc.Model(name="my_model", type="transformer", path="/path/to/model"),
    prompt=lc.Prompt(name="my_prompt", text="මෙය නියැදි විමසුමකි")
)

# දත්ත නල මාර්ගය සහ AI පද්ධතිය ක්‍රියාත්මක කිරීම උපලේඛනගත කරන්න
af.schedule_task(
    task_id="my_task",
    dag_id="my_dag",
    නල මාර්ගය=දත්ත_නල මාර්ගය,
    system=ai_system
)

මෙම උදාහරණයේදී, අපි DSPy සහ LangChain භාවිතා කරමින් දත්ත නල මාර්ගයක් සහ AI පද්ධතියක් නිර්වචනය කර, පසුව Apache Airflow භාවිතයෙන් මෙම සංරචක ක්‍රියාත්මක කිරීම උපලේඛනගත කරමු.

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

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

  1. dsp.Pipeline(name="my_pipeline", sources=[source], processors=[processor], sinks=[sink])
  2. lc.Model(name="my_model", type="transformer", path="/path/to/model")
  3. lc.Prompt(name="my_prompt", text="මෙය නියැදි විමසුමකි")
  4. dsp.Source(name="my_data_source", type="csv", path="/path/to/data.csv")
  5. dsp.Processor(name="my_data_processor", type="pandas", func=lambda x: x.dropna())
  6. dsp.Sink(name="my_data_sink", type="csv", path="/path/to/output.csv")
  7. lc.AISystem(name="my_ai_system", model=model, prompt=prompt)
  8. af.schedule_task(task_id="my_task", dag_id="my_dag", නල මාර්ගය=නල මාර්ගය, පද්ධතිය=පද්ධතිය)
  9. dsp.run_pipeline(නල මාර්ගය)
  10. lc.run_system(system)

දෘෂ්‍යකරණය

මෙන්න Chart.js භාවිතයෙන් DSPy සහ LangChain රාමු වල දෘශ්‍යකරණයකි: ''''ජේසන් { "වර්ගය": "බාර්", "දත්ත": { "ලේබල්": ["DSPy", "LangChain"], "දත්ත කට්ටල": [ { "ලේබලය": "විශේෂාංග", "දත්ත": [10, 15], "පසුබිම් වර්ණය": [ "rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)" ], "දේශසීමා වර්ණය": [ "rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)" ], "දේශසීමා පළල": 1 } ] }, "විකල්ප": {} }

මෙම දෘශ්‍යකරණය DSPy සහ LangChain හි ඇති විශේෂාංග ගණන පෙන්වයි.

** නිගමනය **

DSPy සහ LangChain යනු AI යුගයේ ප්‍රත්‍යස්ථ සහ පරිමාණය කළ හැකි මෘදුකාංග පද්ධති ගොඩනැගීමට හැකි ප්‍රබල රාමු දෙකකි. මෙම රාමු භාවිතා කිරීමෙන්, සංවර්ධකයින්ට නඩත්තු කිරීමට පහසු, පරිමාණය කළ හැකි සහ අසාර්ථකත්වයට ඔරොත්තු දෙන මහා පරිමාණ LLM නල මාර්ග නිර්මාණය කළ හැකිය. Apache Airflow සහ Kubernetes වැනි වාද්‍ය වෘන්ද සහ ස්වයංක්‍රීය මෙවලම් ආධාරයෙන්, සංවර්ධකයින්ට මෙම නල මාර්ග සහ පද්ධති ක්‍රියාත්මක කිරීම උපලේඛනගත කළ හැකි අතර, එය සංකීර්ණ AI පද්ධති කළමනාකරණය කිරීම පහසු කරයි.

**අනාගත වැඩ**

අනාගත වැඩවලට ඇතුළත් වන්නේ:

1. DSPy සහ LangChain සඳහා තවත් විශේෂාංග සංවර්ධනය කිරීම.
2. DSPy සහ LangChain හි කාර්ය සාධනය සහ පරිමාණය වැඩි දියුණු කිරීම.
3. DSPy සහ LangChain සඳහා වැඩි වාද්‍ය වෘන්දයක් සහ ස්වයංක්‍රීයකරණ මෙවලම් සංවර්ධනය කිරීම.
4. DSPy සහ LangChain සඳහා තවත් දෘශ්‍යකරණ සහ උපකරණ පුවරු නිර්මාණය කිරීම.

**යොමු**

1. DSPy ලේඛන: <https://dspy.readthedocs.io/en/latest/>
2. LangChain ලේඛනගත කිරීම: <https://langchain.readthedocs.io/en/latest/>
3. Apache Airflow ලේඛනගත කිරීම: <https://airflow.apache.org/docs/apache-airflow/stable/index.html>
4. Kubernetes ලේඛනගත කිරීම: <https://kubernetes.io/docs/home/>

Have Questions?

Let's Talk

Contact me on LinkedIn