LangChain නියෝජිතයෙකු සාදන්න | B4N1

LangChain නියෝජිතයෙකු සාදන්න

8 months ago · b4n1 Read time: 5 min

ස්වයංක්‍රීය මෘදුකාංග බෙදා හැරීම සඳහා AI නියෝජිතයන් භාවිතා කිරීම: DevOps නල මාර්ගවල LangChain සහ DSPy ඒකාබද්ධ කිරීම

හැඳින්වීම

සංවර්ධන ජීවන චක්‍රයේ විවිධ පැතිවල කෘත්‍රිම බුද්ධිය (AI) සහ යන්ත්‍ර ඉගෙනීම (ML) වැඩි වැඩියෙන් භාවිතා කිරීමත් සමඟ මෘදුකාංග සංවර්ධන භූ දර්ශනය වේගයෙන් විකාශනය වෙමින් පවතී. AI සඳහා අයදුම් කිරීමේ වඩාත් පොරොන්දු වූ ක්ෂේත්‍රවලින් එකක් වන්නේ ටෙලිමෙට්‍රි සහ අඛණ්ඩ ඒකාබද්ධ කිරීම/අඛණ්ඩ යෙදවීම (CI/CD) ඇතුළුව මෘදුකාංග බෙදා හැරීමේ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීමයි. මෙම ලිපියෙන්, අපි මෘදුකාංග බෙදා හැරීමේ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීමෙහිලා AI නියෝජිතයින්ගේ භූමිකාව ගවේෂණය කර LangChain සහ DSPy වැනි වාද්‍ය වෘන්දයේ මෙවලම් ප්‍රායෝගිකව ක්‍රියාත්මක කිරීම පිළිබඳව සොයා බලමු.

මෘදුකාංග බෙදාහැරීමේදී AI නියෝජිතයන්ගේ භූමිකාව

AI නියෝජිතයන් යනු දත්ත සහ රීති මත පදනම්ව තීරණ ගන්නා, ස්වයංක්‍රීයව කාර්යයන් ඉටු කළ හැකි මෘදුකාංග වැඩසටහන් වේ. මෘදුකාංග බෙදා හැරීමේ සන්දර්භය තුළ, විවිධ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීමට AI නියෝජිතයන් භාවිතා කළ හැක,

  1. Telemetry: AI නියෝජිතයින්ට යෙදුම් ලොග, කාර්ය සාධන ප්‍රමිතික, සහ පරිශීලක ප්‍රතිපෝෂණ වැනි විවිධ මූලාශ්‍රවලින් දත්ත රැස් කර විශ්ලේෂණය කිරීමට, යෙදුමේ හැසිරීම සහ ක්‍රියාකාරීත්වය පිළිබඳ අවබෝධයක් ලබා දීමට හැකිය.
  2. අඛණ්ඩ ඒකාබද්ධ කිරීම: AI නියෝජිතයින්ට කේත වෙනස් කිරීම් ගොඩනැගීම, පරීක්ෂා කිරීම සහ යෙදවීම ස්වයංක්‍රීය කළ හැකි අතර, යෙදුම සැමවිටම යෙදවිය හැකි තත්ත්වයක පවතින බව සහතික කරයි.
  3. අඛණ්ඩ යෙදවීම: AI නියෝජිතයින්ට නිෂ්පාදනයට වෙනස්කම් යෙදවීම ස්වයංක්‍රීය කළ හැක, පරිශීලකයින්ට නව විශේෂාංග සහ නිවැරදි කිරීම් ලබා ගැනීමට අවශ්‍ය කාලය සහ ශ්‍රමය අඩු කරයි.
  4. අධීක්‍ෂණය සහ ඇඟවීම්: AI නියෝජිතයින්ට යෙදුමේ ක්‍රියාකාරීත්වය නිරීක්ෂණය කළ හැකි අතර සංවර්ධකයින් සහ ක්‍රියාකරුවන් විවේචනාත්මක වීමට පෙර විය හැකි ගැටළු පිළිබඳව දැනුවත් කළ හැකිය.

LangChain: AI නියෝජිතයන් ගොඩනැගීම සඳහා රාමුවක්

LangChain යනු විවිධ දත්ත ප්‍රභවයන් සමඟ අන්තර් ක්‍රියා කළ හැකි සහ ස්වයංක්‍රීයව කාර්යයන් ඉටු කළ හැකි AI නියෝජිතයන් ගොඩනැගීම සඳහා වන පයිතන් රාමුවකි. LangChain පහත සඳහන් කළ හැකි නියෝජිතයන් ගොඩනැගීම සඳහා සරල සහ අවබෝධාත්මක API සපයයි:

  1. දත්ත මූලාශ්‍ර සමඟ අන්තර් ක්‍රියා කරන්න: නියෝජිතයින්ට අන්තර්ක්‍රියා කළ හැකි දත්ත සමුදායන්, APIs සහ ගොනු පද්ධති ඇතුළුව දත්ත මූලාශ්‍ර රාශියක් LangChain සපයයි.
  2. කාර්යයන් ඉටු කරන්න: LangChain මඟින් පෙළ සැකසීම, රූප හඳුනාගැනීම සහ ස්වභාවික භාෂා සැකසීම ඇතුළුව නියෝජිතයින්ට කළ හැකි කාර්යයන් රාශියක් සපයයි.
  3. දත්ත වලින් ඉගෙන ගන්න: LangChain මඟින් නියෝජිතයින්ට දත්ත වලින් ඉගෙන ගැනීමට භාවිතා කළ හැකි යන්ත්‍ර ඉගෙනුම් ඇල්ගොරිතම මාලාවක් සපයයි.

DSPy: බෙදා හරින ලද AI නියෝජිතයන් ගොඩනැගීම සඳහා රාමුවක්

DSPy යනු මහා පරිමාණ යෙදුම්වල අවශ්‍යතා සපුරාලීම සඳහා පරිමාණය කළ හැකි බෙදා හරින ලද AI නියෝජිතයන් ගොඩනැගීම සඳහා වන පයිතන් රාමුවකි. DSPy විශේෂාංග පරාසයක් සපයයි, ඇතුළුව:

  1. බෙදා හරින ලද පරිගණනය: DSPy මඟින් නියෝජිතයින්ට බහු යන්ත්‍ර මත ධාවනය කිරීමට ඉඩ සලසයි, එය මහා පරිමාණ යෙදුම් සඳහා වඩාත් සුදුසු වේ.
  2. දත්ත සමාන්තරකරණය: DSPy මඟින් නියෝජිතයින්ට සමාන්තරව දත්ත සැකසීමට ඉඩ සලසයි, ඉහළ කාර්ය සාධනයක් සහිත පරිගණක අවශ්‍ය යෙදුම් සඳහා එය වඩාත් සුදුසු වේ.
  3. ** පරිමාණය**: DSPy මඟින් නියෝජිතයින්ට විශාල පරිමාණ යෙදුම්වල අවශ්‍යතා සපුරාලීමට පරිමාණය කිරීමට ඉඩ සලසයි.

DevOps නල මාර්ගවල LangChain සහ DSPy ඒකාබද්ධ කිරීම

DevOps නල මාර්ග තුළ LangChain සහ DSPy ඒකාබද්ධ කිරීමට, අපට පහත පියවර භාවිතා කළ හැක:

  1. LangChain සහ DSPy ස්ථාපනය කරන්න: Pip භාවිතයෙන් LangChain සහ DSPy ස්ථාපනය කරන්න.
pip ස්ථාපනය langchain dspy
  1. LangChain නියෝජිතයෙකු සාදන්න: දත්ත මූලාශ්‍ර සමඟ අන්තර් ක්‍රියා කළ හැකි සහ කාර්යයන් ඉටු කළ හැකි LangChain නියෝජිතයෙකු සාදන්න.
langchain ආනයනය කරන්න


නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("දත්ත සමුදාය", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)
  1. DSPy නියෝජිතයෙකු සාදන්න: බහු යන්ත්‍ර මත ධාවනය කළ හැකි සහ දත්ත සමාන්තරව සැකසීමට හැකි DSPy නියෝජිතයෙකු සාදන්න.
ආනයනය dspy

# DSPy නියෝජිතයෙකු සාදන්න
නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)
  1. LangChain සහ DSPy නියෝජිතයන් ඒකාබද්ධ කරන්න: Jenkins හෝ GitLab CI/CD වැනි මෙවලමක් භාවිතයෙන් DevOps නල මාර්ගයක LangChain සහ DSPy නියෝජිතයන් ඒකාබද්ධ කරන්න.
langchain ආනයනය කරන්න
ආනයනය dspy

# LangChain නියෝජිතයෙකු සාදන්න
langchain_agent = langchain.Agent(
    name="my_langchain_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

# DSPy නියෝජිතයෙකු සාදන්න
dspy_agent = dspy.Agent(
    name="my_dspya_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

# DevOps නල මාර්ගයක නියෝජිතයන් ඒකාබද්ධ කරන්න
නල මාර්ගය = [
    langchain_agent,
    dspy_agent
]

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

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

  1. LangChain: LangChain නියෝජිතයෙකු සාදන්න
langchain ආනයනය කරන්න

නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)
  1. DSPy: DSPy නියෝජිතයෙක් සාදන්න
ආනයනය dspy

නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)
  1. LangChain: දත්ත මූලාශ්‍රයක් සමඟ අන්තර් ක්‍රියා කරන්න
langchain ආනයනය කරන්න

නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

දත්ත = agent.data_sources[0].get_data()
  1. DSPy: දත්ත මූලාශ්‍රයක් සමඟ අන්තර් ක්‍රියා කරන්න
ආනයනය dspy

නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

දත්ත = agent.data_sources[0].get_data()
  1. LangChain: කාර්යයක් ඉටු කරන්න
langchain ආනයනය කරන්න

නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

ප්‍රතිඵලය = agent.tasks[0].perform_task(data)
  1. DSPy: කාර්යයක් ඉටු කරන්න
ආනයනය dspy

නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

ප්‍රතිඵලය = agent.tasks[0].perform_task(data)
  1. LangChain: දත්ත වලින් ඉගෙන ගන්න
langchain ආනයනය කරන්න

නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

agent.learn_from_data(දත්ත)
  1. DSPy: දත්ත වලින් ඉගෙන ගන්න
ආනයනය dspy

නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

agent.learn_from_data(දත්ත)
  1. LangChain: DevOps නල මාර්ගයක් සමඟ ඒකාබද්ධ කරන්න
langchain ආනයනය කරන්න

නියෝජිතයා = langchain.Agent(
    name="my_agent",
    data_sources=[langchain.DataSource("database", "my_database")],
    tasks=[langchain.Task("text_processing", "my_text_processing")]
)

නල මාර්ගය = [
    නියෝජිතයා
]
  1. DSPy: DevOps නල මාර්ගයක් සමඟ ඒකාබද්ධ කරන්න
ආනයනය dspy

නියෝජිතයා = dspy.Agent(
    name="my_agent",
    data_sources=[dspy.DataSource("database", "my_database")],
    tasks=[dspy.Task("text_processing", "my_text_processing")]
)

නල මාර්ගය = [
    නියෝජිතයා
]

දෘෂ්‍යකරණය

DevOps නල මාර්ගයක LangChain සහ DSPy නියෝජිතයින්ගේ දෘශ්‍යකරණය මෙන්න:

{
  "වර්ගය": "බාර්",
  "දත්ත": {
    "ලේබල්": ["LangChain", "DSPy"],
    "දත්ත කට්ටල": [
      {
        "ලේබලය": "නියෝජිතයා",
        "දත්ත": [10, 20],
        "backgroundColor": ["rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)"],
        "borderColor": ["rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)"],
        "දේශසීමා පළල": 1
      }
    ]
  },
  "විකල්ප": {
    "මාතෘකාව": {
      "දර්ශණය": ඇත්ත,
      "text": "DevOps නල මාර්ගයේ LangChain සහ DSPy නියෝජිතයන්"
    },
    "පරිමාණ": {
      "yAxes": [
        {
          "කිනිතුල්ලන්": {
            "beginAtZero": ඇත්ත
          }
        }
      ]
    }
  }
}

මෙම දෘශ්‍යකරණය DevOps නල මාර්ගයක LangChain සහ DSPy නියෝජිතයන් පෙන්වයි, LangChain නියෝජිතයාට කාර්යයන් 10ක් සහ DSPy නියෝජිතයාට කාර්යයන් 20ක් ඇත.

නිගමනය

මෙම ලිපියෙන්, අපි මෘදුකාංග බෙදා හැරීමේ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීම සඳහා AI නියෝජිතයින්ගේ කාර්යභාරය ගවේෂණය කළ අතර LangChain සහ DSPy වැනි වාද්‍ය වෘන්ද මෙවලම් ප්‍රායෝගිකව ක්‍රියාත්මක කිරීම පිළිබඳව සොයා බැලුවෙමු. දත්ත ප්‍රභවයන් සමඟ අන්තර් ක්‍රියා කළ හැකි, කාර්යයන් ඉටු කළ හැකි සහ දත්ත වලින් ඉගෙන ගත හැකි AI නියෝජිතයන් නිර්මාණය කිරීමට LangChain සහ DSPy භාවිතා කළ හැකි ආකාරය අපි දුටුවෙමු. Jenkins හෝ GitLab CI/CD වැනි මෙවලම් භාවිතයෙන් DevOps නල මාර්ග තුළ LangChain සහ DSPy ඒකාබද්ධ කළ හැකි ආකාරය ද අපි දුටුවෙමු. මෘදුකාංග සංවර්ධනයේදී AI සහ ML භාවිතය වැඩි වීමත් සමඟ, මෘදුකාංග බෙදා හැරීමේ ක්‍රියාවලීන් ස්වයංක්‍රීය කිරීමට බලාපොරොත්තු වන සංවර්ධකයින් සහ ක්‍රියාකරුවන් සඳහා LangChain සහ DSPy වැඩි වැඩියෙන් වැදගත් මෙවලම් බවට පත්වෙමින් තිබේ.


Have Questions?

Let's Talk

Contact me on LinkedIn