மேம்படுத்தப்பட்ட DevOps க்காக DSPy மற்றும் LangChain உடன் பெரிய அளவிலான LLM பைப்லைன்களை ஒழுங்கமைத்தல் | B4N1

மேம்படுத்தப்பட்ட DevOps க்காக DSPy மற்றும் LangChain உடன் பெரிய அளவிலான LLM பைப்லைன்களை ஒழுங்கமைத்தல்

6 months ago · b4n1 Read time: 4 min

** மேம்படுத்தப்பட்ட DevOps க்காக DSPy மற்றும் LangChain உடன் பெரிய அளவிலான LLM பைப்லைன்களை ஒழுங்கமைத்தல்**

அறிமுகம்

பெரிய மொழி மாதிரிகளின் (LLMs) வருகையானது இயற்கை மொழி செயலாக்கம் (NLP) மற்றும் செயற்கை நுண்ணறிவு (AI) துறையில் புரட்சியை ஏற்படுத்தியுள்ளது. இருப்பினும், LLM-அடிப்படையிலான அமைப்புகளின் சிக்கலான தன்மை மற்றும் அளவு அதிகரிப்பதால், வலுவான மற்றும் திறமையான ஆர்கெஸ்ட்ரேஷன் மற்றும் ஆட்டோமேஷன் கருவிகளின் தேவையும் அதிகரிக்கிறது. இந்தக் கட்டுரையில், AI இன் வயதில் மீள் மற்றும் அளவிடக்கூடிய மென்பொருள் அமைப்புகளை உருவாக்க உதவும் இரண்டு சக்திவாய்ந்த கட்டமைப்புகளான DSPy மற்றும் LangChain உலகத்தை ஆராய்வோம்.

பெரிய அளவிலான LLM பைப்லைன்களின் சவால்

பெரிய அளவிலான LLM பைப்லைன்கள் தரவு முன் செயலாக்கம், மாதிரி பயிற்சி மற்றும் அனுமானம் உள்ளிட்ட பல கூறுகளை உள்ளடக்கியது. இந்த பைப்லைன்கள் பல்வேறு கூறுகளுக்கு இடையே பல சார்புகள் மற்றும் தொடர்புகளுடன் சிக்கலானதாக இருக்கலாம். இந்த பைப்லைன்களின் அளவு அதிகரிப்பதால், பிழைகள், தாமதங்கள் மற்றும் ஆதார இடையூறுகளின் அபாயமும் அதிகரிக்கிறது.

DSPy மற்றும் LangChain ஐ உள்ளிடவும்

DSPy மற்றும் LangChain ஆகியவை பெரிய அளவிலான LLM பைப்லைன்களின் ஆர்கெஸ்ட்ரேஷன் மற்றும் ஆட்டோமேஷனை எளிதாக்குவதை நோக்கமாகக் கொண்ட இரண்டு கட்டமைப்புகளாகும். DSPy என்பது ஒரு பைதான் அடிப்படையிலான கட்டமைப்பாகும், இது சிக்கலான தரவுக் குழாய்களை உருவாக்க மற்றும் நிர்வகிக்க எளிய மற்றும் திறமையான வழியை வழங்குகிறது, அதே நேரத்தில் LangChain என்பது அளவிடக்கூடிய மற்றும் நெகிழ்வான AI அமைப்புகளை உருவாக்குவதற்கு உதவும் ஒரு கட்டமைப்பாகும்.

DSPy: டேட்டா பைப்லைன்களுக்கான பைதான் அடிப்படையிலான கட்டமைப்பு

DSPy என்பது ஒரு பைதான் அடிப்படையிலான கட்டமைப்பாகும், இது சிக்கலான தரவு குழாய்களை உருவாக்க மற்றும் நிர்வகிக்க எளிய மற்றும் திறமையான வழியை வழங்குகிறது. DSPy மூலம், டெவலப்பர்கள் அளவிடக்கூடிய, மீள்தன்மை மற்றும் பராமரிக்க எளிதான தரவு குழாய்களை உருவாக்க முடியும்.

DSPy உடன் கட்டப்பட்ட ஒரு எளிய தரவுக் குழாய்க்கான எடுத்துக்காட்டு இங்கே:

dsp ஐ dsp ஆக இறக்குமதி செய்


தரவு_மூலம் = dsp.Source(
    name="my_data_source",
    type="csv",
    path="/path/to/data.csv"
)

# தரவு செயலியை வரையறுக்கவும்
data_processor = dsp.Processor(
    name="my_data_processor",
    வகை="பாண்டாக்கள்",
    func=lambda x: x.dropna()
)

# தரவு மடுவை வரையறுக்கவும்
data_sink = dsp.Sink(
    name="my_data_sink",
    type="csv",
    path="/path/to/output.csv"
)

# டேட்டா பைப்லைனை உருவாக்கவும்
குழாய் = dsp.பைப்லைன்(
    பெயர்="மை_பைப்லைன்",
    ஆதாரங்கள்=[data_source],
    செயலிகள்=[data_processor],
    மூழ்குகிறது=[data_sink]
)

# பைப்லைனை இயக்கவும்
pipeline.run()

இந்த எடுத்துக்காட்டில், தரவு மூலத்தை, தரவுச் செயலி மற்றும் தரவு மடுவை வரையறுத்து, இந்தக் கூறுகளை இணைக்கும் தரவுக் குழாய் ஒன்றை உருவாக்குகிறோம். பின்னர் ரன்() முறையைப் பயன்படுத்தி பைப்லைன் இயக்கப்படுகிறது.

LangChain: அளவிடக்கூடிய மற்றும் நெகிழ்வான AI அமைப்புகளுக்கான கட்டமைப்பு

LangChain என்பது அளவிடக்கூடிய மற்றும் நெகிழ்வான AI அமைப்புகளை உருவாக்குவதற்கு உதவும் ஒரு கட்டமைப்பாகும். LangChain மூலம், டெவலப்பர்கள் AI அமைப்புகளை உருவாக்க முடியும், அவை பராமரிக்க எளிதானவை, அளவிடக்கூடியவை மற்றும் தோல்விகளை எதிர்கொள்கின்றன.

LangChain உடன் கட்டமைக்கப்பட்ட எளிய AI அமைப்பின் எடுத்துக்காட்டு இங்கே:

lc ஆக லாங்செயினை இறக்குமதி செய்யவும்

# ஒரு மாதிரியை வரையறுக்கவும்
மாதிரி = lc.Model(
    பெயர்="என்_மாடல்",
    வகை="மின்மாற்றி",
    பாதை="/பாதை/க்கு/மாடல்"
)

# ஒரு வரியை வரையறுக்கவும்
prompt = lc.Prompt(
    name="my_prompt",
    text="இது ஒரு மாதிரித் தூண்டல்"
)

# AI அமைப்பை உருவாக்கவும்
ai_system = lc.AISystem(
    பெயர்="my_ai_system",
    மாதிரி = மாதிரி,
    prompt = உடனடி
)

# AI அமைப்பை இயக்கவும்
ai_system.run()

இந்த எடுத்துக்காட்டில், ஒரு மாதிரி, ஒரு ப்ராம்ட் ஆகியவற்றை வரையறுத்து, இந்த கூறுகளை இணைக்கும் AI அமைப்பை உருவாக்குகிறோம். AI அமைப்பு ரன்() முறையைப் பயன்படுத்தி இயக்கப்படுகிறது.

** DSPy மற்றும் LangChain உடன் பெரிய அளவிலான LLM பைப்லைன்களை ஒழுங்கமைத்தல்**

DSPy மற்றும் LangChain உடன் பெரிய அளவிலான LLM பைப்லைன்களை ஒழுங்கமைக்க, நாம் பின்வரும் அணுகுமுறையைப் பயன்படுத்தலாம்:

  1. பல தரவு மூலங்கள், செயலிகள் மற்றும் மூழ்கிகளை இணைக்கும் DSPy ஐப் பயன்படுத்தி ஒரு தரவுக் குழாயை வரையறுக்கவும்.
  2. பல மாதிரிகள், தூண்டுதல்கள் மற்றும் வெளியீடுகளை இணைக்கும் LangChain ஐப் பயன்படுத்தி AI அமைப்பை வரையறுக்கவும்.
  3. டேட்டா பைப்லைனை நிர்வகிக்க DSPy மற்றும் AI அமைப்பை நிர்வகிக்க LangChain ஐப் பயன்படுத்தவும்.
  4. டேட்டா பைப்லைன் மற்றும் AI அமைப்பின் செயல்பாட்டினை திட்டமிடுவதற்கு Apache Airflow அல்லது Kubernetes போன்ற திட்டமிடலைப் பயன்படுத்தவும்.

DSPy மற்றும் LangChain ஐப் பயன்படுத்தும் எளிய ஆர்கெஸ்ட்ரேஷன் ஸ்கிரிப்ட்டின் எடுத்துக்காட்டு இங்கே:

dsp ஐ dsp ஆக இறக்குமதி செய்
lc ஆக லாங்செயினை இறக்குமதி செய்யவும்
apache_airflow ஐ af ஆக இறக்குமதி செய்யவும்

# தரவு பைப்லைனை வரையறுக்கவும்
data_pipeline = dsp.Pipeline(
    name="my_data_pipeline",
    ஆதாரங்கள்=[dsp.Source(name="my_data_source", type="csv", path="/path/to/data.csv")],
    செயலிகள்=[dsp.Processor(name="my_data_processor", type="pandas", func=lambda x: x.dropna())],
    மூழ்குகிறது=[dsp.Sink(name="my_data_sink", type="csv", path="/path/to/output.csv")]
)

# AI அமைப்பை வரையறுக்கவும்
ai_system = lc.AISystem(
    பெயர்="my_ai_system",
    மாதிரி=எல்சி.மாடல்(பெயர்="மை_மாடல்", வகை="மின்மாற்றி", பாதை="/பாதை/இடு/மாடல்"),
    prompt=lc.Prompt(name="my_prompt", text="இது ஒரு மாதிரி வரியில்")
)

# டேட்டா பைப்லைன் மற்றும் AI அமைப்பைச் செயல்படுத்த திட்டமிடவும்
af.schedule_task(
    பணி_ஐடி = "எனது_பணி",
    dag_id="my_dag",
    பைப்லைன்=data_pipeline,
    அமைப்பு = ai_system
)

இந்த எடுத்துக்காட்டில், DSPy மற்றும் LangChain ஐப் பயன்படுத்தி ஒரு டேட்டா பைப்லைன் மற்றும் AI அமைப்பை வரையறுக்கிறோம், பின்னர் அப்பாச்சி ஏர்ஃப்ளோவைப் பயன்படுத்தி இந்தக் கூறுகளை செயல்படுத்த திட்டமிடுகிறோம்.

முதல் 5-10 அதிகம் பயன்படுத்தப்பட்ட கட்டளைகள்/துணுக்குகள்

DSPy மற்றும் LangChainக்கு அதிகம் பயன்படுத்தப்படும் 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(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 இன் வயதில் மீள் மற்றும் அளவிடக்கூடிய மென்பொருள் அமைப்புகளை உருவாக்க உதவும் இரண்டு சக்திவாய்ந்த கட்டமைப்புகள் ஆகும். இந்த கட்டமைப்பைப் பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் பெரிய அளவிலான எல்எல்எம் பைப்லைன்களை உருவாக்க முடியும், அவை பராமரிக்க எளிதானவை, அளவிடக்கூடியவை மற்றும் தோல்விகளுக்கு மீள்கின்றன. 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. அப்பாச்சி காற்றோட்ட ஆவணங்கள்: https://airflow.apache.org/docs/apache-airflow/stable/index.html
  4. குபெர்னெட்ஸ் ஆவணங்கள்: https://kubernetes.io/docs/home/

Have Questions?

Let's Talk

Contact me on LinkedIn