Ստեղծեք DSPy հաճախորդ | B4N1

Ստեղծեք DSPy հաճախորդ

6 months ago · b4n1 Read time: 4 min

** GenAI-ով աշխատող ծրագրային ապահովման զարգացման խողովակաշարերի կազմակերպում DSPy-ի և LangChain-ի հետ**

Ներածություն

Ծրագրային ապահովման մշակման լանդշաֆտը զգալի վերափոխման է ենթարկվում Generative AI (GenAI) տեխնոլոգիաների գալուստով: GenAI մոդելներն ունեն ներուժ՝ հեղափոխելու ծրագրային ապահովման մշակման մեր մոտեցումները՝ կոդի ստեղծումից մինչև փորձարկում և տեղակայում: Այս հոդվածում մենք կուսումնասիրենք, թե ինչպես կազմակերպել GenAI-ով աշխատող ծրագրային ապահովման զարգացման խողովակաշարերը՝ օգտագործելով DSPy և LangChain: Մենք կխորանանք AI-ի վրա հիմնված DevOps-ի ավտոմատացման աշխարհում՝ կենտրոնանալով GenAI մոդելների ինտեգրման վրա DSPy-ի և LangChain-ի հետ՝ ծրագրային ապահովման զարգացման ընդլայնված խողովակաշարերի համար:

Ի՞նչ է DSPy-ն և LangChain-ը:

DSPy-ը Python գրադարան է, որն ապահովում է GenAI մոդելների ինտեգրման պարզ և արդյունավետ միջոց ծրագրային ապահովման մշակման խողովակաշարերի հետ: Այն թույլ է տալիս մշակողներին օգտագործել GenAI-ի հզորությունը՝ ավտոմատացնելու այնպիսի առաջադրանքներ, ինչպիսիք են կոդի ստեղծումը, փորձարկումը և տեղակայումը:

Մյուս կողմից, LangChain-ը Python գրադարան է, որն ապահովում է մի շարք գործիքներ խոսակցական AI հավելվածներ ստեղծելու համար: Այն ծրագրավորողներին հնարավորություն է տալիս ստեղծել չաթ-բոտեր, ձայնային օգնականներ և այլ խոսակցական միջերեսներ, որոնք կարող են փոխազդել GenAI մոդելների հետ:

DSPy-ի և LangChain-ի օգտագործման առավելությունները

DSPy-ի և LangChain-ի ինտեգրումն առաջարկում է մի քանի առավելություն ծրագրային ապահովման մշակման խողովակաշարերի համար.

  1. Բարելավված արդյունավետություն. GenAI մոդելները կարող են ավտոմատացնել կրկնվող առաջադրանքները՝ ազատելով ծրագրավորողներին կենտրոնանալ բարձր մակարդակի առաջադրանքների վրա:
  2. Ընդլայնված ճշգրտություն. GenAI մոդելները կարող են հայտնաբերել կոդի սխալներն ու անհամապատասխանությունները՝ նվազեցնելով սխալների և թերությունների հավանականությունը:
  3. Ավելացած արտադրողականություն. GenAI մոդելները կարող են ստեղծել կոդ և ավտոմատացնել թեստավորումը՝ նվազեցնելով ծրագրակազմի մշակման համար պահանջվող ժամանակը և ջանքերը:
  4. Ավելի լավ համագործակցություն. LangChain-ի խոսակցական ինտերֆեյսը ծրագրավորողներին հնարավորություն է տալիս շփվել GenAI մոդելների հետ ավելի բնական և ինտուիտիվ ձևով:

** GenAI-ով աշխատող ծրագրային ապահովման մշակման խողովակների իրականացում DSPy-ի և LangChain-ի հետ**

DSPy-ի և LangChain-ի հետ GenAI-ով աշխատող ծրագրակազմի մշակման խողովակաշար իրականացնելու համար հետևեք հետևյալ քայլերին.

  1. Տեղադրեք DSPy և LangChain. Տեղադրեք DSPy և LangChain գրադարանները՝ օգտագործելով pip. «pip install dspy langchain»:
  2. Կարգավորեք DSPy. Կարգավորեք DSPy-ը ձեր GenAI մոդելին միանալու համար: Սա սովորաբար ներառում է կապի ստեղծում ամպի վրա հիմնված GenAI ծառայության հետ, ինչպիսիք են Google Cloud AI Platform-ը կամ Amazon SageMaker-ը:
  3. Ստեղծեք LangChain հավելված. Ստեղծեք LangChain հավելված՝ ձեր GenAI մոդելի հետ փոխազդելու համար: Սա սովորաբար ներառում է խոսակցական ինտերֆեյսի սահմանում, օգտագործելով գրադարան, ինչպիսիք են Rasa-ն կամ Dialogflow-ը:
  4. Ինտեգրել DSPy-ը և LangChain-ը. Ինտեգրել DSPy-ն և LangChain-ը, որպեսզի GenAI մոդելը կարողանա համագործակցել ծրագրային ապահովման մշակման խողովակաշարի հետ:

Օրինակ կոդը. ինտեգրում DSPy-ը և LangChain

Ահա կոդերի բլոկի օրինակ, որը ցույց է տալիս, թե ինչպես ինտեգրել DSPy-ը և LangChain-ը. «Պիթոն». ներմուծել dspy langchain ներմուծումից LLAMA

հաճախորդ = dspy.Client()

Ստեղծեք LangChain LLAMA մոդել

մոդել = LLAMA ( api_key="ՁԵՐ_API_KEY", api_secret="ՁԵՐ_API_SECRET", model_name="YOUR_MODEL_NAME", )

Սահմանեք GenAI մոդելի միջոցով կոդ ստեղծելու գործառույթ

def generate_code (լեզու, կոդ): # Օգտագործեք DSPy՝ GenAI մոդելին միանալու համար client.connect(model)

# Կոդ ստեղծելու համար օգտագործեք GenAI մոդելը
գեներացված_կոդ = client.generate_code (լեզու, կոդ)

# Վերադարձեք ստեղծված կոդը
վերադարձնել գեներացված_կոդը

Սահմանեք գեներացված կոդը փորձարկելու գործառույթ

def test_code (կոդ): # Օգտագործեք DSPy՝ GenAI մոդելին միանալու համար client.connect(model)

# Կոդը փորձարկելու համար օգտագործեք GenAI մոդելը
test_results = client.test_code (կոդ)

# Վերադարձեք թեստի արդյունքները
վերադարձնել թեստի_արդյունքները

Ստեղծեք կոդը՝ օգտագործելով GenAI մոդելը

լեզու = «python» code = "print('Բարև աշխարհ!')" գեներացված_կոդ = գեներացնող_կոդ (լեզու, կոդ)

Փորձարկեք ստեղծված կոդը

թեստի_արդյունքներ = թեստի_կոդ (գեներացված_կոդ)

Տպեք թեստի արդյունքները

տպել (փորձարկման_արդյունքներ)

**Թոփ 5-10 ամենաշատ օգտագործվող հրամաններ/հատվածներ**

Ահա 5-10 ամենաշատ օգտագործվող հրամանները/հատվածները DSPy-ի և LangChain-ի համար.

1. «dspy.Client.connect(model)»: Միանում է GenAI մոդելին՝ օգտագործելով DSPy:
2. `langchain.LLAMA(api_key="YOUR_API_KEY", api_secret="YOUR_API_SECRET", model_name="YOUR_MODEL_NAME"): Ստեղծում է LangChain LLAMA մոդել:
3. «dspy.Client.generate_code(լեզու, կոդ)»: Օգտագործում է GenAI մոդելը կոդ ստեղծելու համար:
4. «dspy.Client.test_code(code)»: օգտագործում է GenAI մոդելը կոդը փորձարկելու համար:
5. «langchain.LLAMA.interact(user_input)»: Փոխազդում է GenAI մոդելի հետ՝ օգտագործելով LangChain LLAMA մոդելը:
6. «dspy.Client.connect(model).generate_code(լեզու, կոդ)»: Միանում է GenAI մոդելին և գեներացնում կոդը՝ օգտագործելով DSPy:
7. «langchain.LLAMA.interact(user_input).generate_code(լեզու, կոդ)». փոխազդում է GenAI մոդելի հետ և ստեղծում է կոդը՝ օգտագործելով LangChain:
8. `dspy.Client.test_code(code).generate_code(լեզու, կոդ)`` փորձարկում է կոդը և ստեղծում կոդը DSPy-ի միջոցով:
9. «langchain.LLAMA.interact(user_input).test_code(code)»: Փոխազդում է GenAI մոդելի հետ և փորձարկում է կոդը՝ օգտագործելով LangChain:
10. «dspy.Client.connect(model).test_code(code).generate_code(language, code)»: Միանում է GenAI մոդելին, փորձարկում է կոդը և գեներացնում կոդը՝ օգտագործելով DSPy:

**Վիզուալիզացիա**

Ահա GenAI-ով աշխատող ծրագրաշարի մշակման խողովակաշարի պատկերացում՝ օգտագործելով Chart.js.
```ջսոն
{
  «տեսակ»՝ «բար»,
  "տվյալներ": {
    «պիտակներ»՝ [«Կոդերի ստեղծում», «Կոդերի փորձարկում», «Կոդերի տեղակայում»],
    «տվյալների հավաքածուներ»:
      {
        «պիտակ»: «GenAI Model»,
        «տվյալներ»: [10, 20, 30],
        "backgroundColor": "rgba(255, 99, 132, 0.2)",
        "borderColor": "rgba(255, 99, 132, 1)",
        «սահմանի լայնություն»՝ 1
      },
      {
        «պիտակ»: «Մարդ մշակող»,
        «տվյալներ»: [5, 10, 15],
        "backgroundColor": "rgba(54, 162, 235, 0.2)",
        "borderColor": "rgba(54, 162, 235, 1)",
        «սահմանի լայնություն»՝ 1
      }
    ]
  },
  «Ընտրանքներ»: {
    «վերնագիր»: {
      «ցուցադրում»՝ ճշմարիտ,
      «text»: «GenAI-ի սնուցմամբ ծրագրային ապահովման զարգացման խողովակաշար»
    },
    «կշեռքներ»: {
      «yAxes»:
        {
          "ticks": {
            «beginAtZero»: ճիշտ է
          }
        }
      ]
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս, որ GenAI մոդելը և մարդկային մշակողը նպաստում են ծրագրային ապահովման զարգացման խողովակաշարին: GenAI մոդելը պատասխանատու է կոդի ստեղծման, փորձարկման և տեղակայման համար, մինչդեռ մարդկային մշակողը պատասխանատու է գեներացված ծածկագրի վերանայման և վավերացման համար:

Եզրակացություն

DSPy-ի և LangChain-ի ինտեգրումն առաջարկում է GenAI-ով աշխատող ծրագրային ապահովման զարգացման խողովակաշարերը կազմակերպելու հզոր միջոց: Օգտագործելով GenAI մոդելների հզորությունը՝ մշակողները կարող են ավտոմատացնել այնպիսի առաջադրանքներ, ինչպիսիք են կոդերի ստեղծումը, փորձարկումը և տեղակայումը, ժամանակ ազատելով բարձր մակարդակի առաջադրանքների վրա կենտրոնանալու համար: Օրինակ կոդի բլոկը և ամենաշատ օգտագործվող 5-10 հրամանները/հատվածները ցույց են տալիս, թե ինչպես կարելի է ինտեգրել DSPy-ն և LangChain-ը՝ GenAI-ով աշխատող ծրագրային ապահովման զարգացման խողովակաշար ստեղծելու համար: Վիզուալիզացիայի բաժինը ապահովում է խողովակաշարի հստակ և ինտուիտիվ ներկայացում` ընդգծելով GenAI մոդելի և մարդկային մշակողի ներդրումը:


Have Questions?

Let's Talk

Contact me on LinkedIn