ਇੱਕ LangChain ਉਦਾਹਰਣ ਬਣਾਓ | B4N1

ਇੱਕ LangChain ਉਦਾਹਰਣ ਬਣਾਓ

3 months ago · b4n1 Read time: 4 min

LangChain ਅਤੇ DSPy ਦੇ ਨਾਲ AI-ਪਾਵਰਡ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਨੂੰ ਆਰਕੈਸਟ ਕਰਨਾ

ਜਾਣ-ਪਛਾਣ

ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ (AI) ਅਤੇ ਮਸ਼ੀਨ ਲਰਨਿੰਗ (ML) ਦੀ ਤੇਜ਼ੀ ਨਾਲ ਤਰੱਕੀ ਨੇ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਲੈਂਡਸਕੇਪ ਵਿੱਚ ਕ੍ਰਾਂਤੀ ਲਿਆ ਦਿੱਤੀ ਹੈ। ਲੈਂਗਚੇਨ ਅਤੇ ਡੀਐਸਪੀਆਈ ਵਰਗੇ ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲ (LLM) ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਸ਼ਕਤੀਸ਼ਾਲੀ ਟੂਲ ਵਜੋਂ ਉਭਰੇ ਹਨ। ਹਾਲਾਂਕਿ, ਇਹਨਾਂ AI-ਸੰਚਾਲਿਤ ਸਾਧਨਾਂ ਨੂੰ ਰਵਾਇਤੀ ਸੌਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਿੰਗ ਦੇ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨਾਲ ਜੋੜਨਾ ਚੁਣੌਤੀਪੂਰਨ ਹੋ ਸਕਦਾ ਹੈ। ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ LangChain ਅਤੇ DSPy ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਇੱਕ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ, ਸਾਫਟਵੇਅਰ ਇੰਜਨੀਅਰਿੰਗ ਦੇ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਅਤੇ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾਉਣ ਲਈ ਆਰਕੈਸਟ੍ਰੇਸ਼ਨ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਨਾਲ LLM ਦੇ ਏਕੀਕਰਨ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਾਂਗੇ।

ਲੈਂਗਚੈਨ ਕੀ ਹੈ?

LangChain ਇੱਕ ਓਪਨ-ਸੋਰਸ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲਾਂ (LLMs) ਦੀ ਵਰਤੋਂ ਕਰਕੇ AI-ਸੰਚਾਲਿਤ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ। ਇਹ LLMs ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਇੱਕ ਸਧਾਰਨ ਅਤੇ ਅਨੁਭਵੀ API ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਵਰਕਫਲੋ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ। LangChain ਵੱਖ-ਵੱਖ LLM ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ LLaMA ਅਤੇ BERT ਵਰਗੇ ਪ੍ਰਸਿੱਧ ਹਨ।

DSPy ਕੀ ਹੈ?

DSPy ਇੱਕ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀ ਹੈ ਜੋ ਵੱਡੇ ਭਾਸ਼ਾ ਮਾਡਲਾਂ (LLMs) ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦਾ ਇੱਕ ਸਧਾਰਨ ਅਤੇ ਕੁਸ਼ਲ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਇਹ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਟੈਕਸਟ ਜਨਰੇਸ਼ਨ, ਵਰਗੀਕਰਨ, ਅਤੇ ਕਲੱਸਟਰਿੰਗ ਵਰਗੇ ਕੰਮਾਂ ਲਈ LLM ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। DSPy ਬਹੁਤ ਜ਼ਿਆਦਾ ਸਕੇਲੇਬਲ ਹੋਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਵੱਡੀ ਮਾਤਰਾ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲ ਸਕਦਾ ਹੈ।

ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ

ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਵਿੱਚ ਰਵਾਇਤੀ ਸੌਫਟਵੇਅਰ ਇੰਜਨੀਅਰਿੰਗ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੇ ਨਾਲ ਲੈਂਗਚੇਨ ਅਤੇ DSPy ਵਰਗੇ AI-ਸੰਚਾਲਿਤ ਟੂਲਸ ਨੂੰ ਜੋੜਨਾ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਪਹੁੰਚ ਦੋਵਾਂ ਸੰਸਾਰਾਂ ਦੀਆਂ ਸ਼ਕਤੀਆਂ ਦਾ ਲਾਭ ਉਠਾਉਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਦੁਹਰਾਉਣ ਵਾਲੇ ਕੰਮਾਂ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਨ ਅਤੇ ਉੱਚ-ਪੱਧਰੀ ਡਿਜ਼ਾਈਨ ਅਤੇ ਆਰਕੀਟੈਕਚਰ 'ਤੇ ਧਿਆਨ ਦੇਣ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ।

ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਦੇ ਲਾਭ

ਸੌਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਕਈ ਲਾਭਾਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

  • ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਵਾਧਾ: ਦੁਹਰਾਏ ਜਾਣ ਵਾਲੇ ਕਾਰਜਾਂ ਨੂੰ ਸਵੈਚਲਿਤ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਉੱਚ-ਪੱਧਰੀ ਡਿਜ਼ਾਈਨ ਅਤੇ ਆਰਕੀਟੈਕਚਰ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਉਤਪਾਦਕਤਾ ਵਿੱਚ ਵਾਧਾ ਹੁੰਦਾ ਹੈ।
  • ਸੁਧਾਰੀ ਗੁਣਵੱਤਾ: AI-ਚਾਲਿਤ ਟੂਲ ਜਿਵੇਂ ਕਿ LangChain ਅਤੇ DSPy ਸਾਫਟਵੇਅਰ ਦੀ ਸਮੁੱਚੀ ਕੁਆਲਿਟੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦੇ ਹੋਏ, ਤਰੁੱਟੀਆਂ ਅਤੇ ਅਸੰਗਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ।
  • ਵਧਿਆ ਹੋਇਆ ਸਹਿਯੋਗ: ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਬਿਹਤਰ ਸੌਫਟਵੇਅਰ ਬਣਾਉਣ ਲਈ ਗਿਆਨ ਅਤੇ ਮੁਹਾਰਤ ਨੂੰ ਸਾਂਝਾ ਕਰਨ, ਵਧੇਰੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਇਕੱਠੇ ਕੰਮ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।

ਆਰਕੇਸਟ੍ਰੇਟਿੰਗ ਏਆਈ-ਪਾਵਰਡ ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ

ਆਰਕੈਸਟ੍ਰੇਟਿੰਗ AI-ਸੰਚਾਲਿਤ ਸੌਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਵਿੱਚ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ LangChain ਅਤੇ DSPy ਵਰਗੇ ਸਾਧਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ। ਇਸ ਵਿੱਚ ਅਜਿਹੇ ਕੰਮ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ:

  • ਕੋਡ ਬਣਾਉਣਾ: ਆਮ ਕੰਮਾਂ ਲਈ ਕੋਡ ਬਣਾਉਣ ਲਈ LLM ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਜਿਵੇਂ ਕਿ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਜਾਂ API ਏਕੀਕਰਣ।
  • ਕੋਡ ਸਮੀਖਿਆ: ਗਲਤੀਆਂ ਅਤੇ ਅਸੰਗਤਤਾਵਾਂ ਲਈ ਕੋਡ ਦੀ ਸਮੀਖਿਆ ਕਰਨ ਲਈ AI-ਚਾਲਿਤ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।
  • ਟੈਸਟਿੰਗ: ਟੈਸਟ ਦੇ ਕੇਸ ਬਣਾਉਣ ਅਤੇ ਆਟੋਮੈਟਿਕ ਟੈਸਟਿੰਗ ਲਈ LLM ਦੀ ਵਰਤੋਂ ਕਰਨਾ।

ਵਿਹਾਰਕ ਉਦਾਹਰਨ: ਕੋਡ ਬਣਾਉਣ ਲਈ ਲੈਂਗਚੇਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇੱਥੇ ਕੋਡ ਬਣਾਉਣ ਲਈ ਲੈਂਗਚੈਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਣ ਹੈ: ``ਅਜਗਰ langchain ਆਯਾਤ

langchain_instance = langchain.LLMAgent( model_name="lambada", ਅਧਿਕਤਮ_ਲੰਬਾਈ = 100, ਤਾਪਮਾਨ = 0.7, )

ਕੋਡ ਬਣਾਉਣ ਲਈ ਇੱਕ ਪ੍ਰੋਂਪਟ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ

ਪ੍ਰੋਂਪਟ = "ਦੋ ਸੰਖਿਆਵਾਂ ਦੇ ਜੋੜ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਇੱਕ ਪਾਈਥਨ ਫੰਕਸ਼ਨ ਬਣਾਓ।"

LangChain ਉਦਾਹਰਣ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਡ ਤਿਆਰ ਕਰੋ

ਕੋਡ = langchain_instance.generate(ਪ੍ਰੋਂਪਟ)

ਪ੍ਰਿੰਟ (ਕੋਡ) `` ਇਹ ਕੋਡ LLaMA ਮਾਡਲ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾਉਣ ਲਈ LangChain ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਫਿਰ ਇੱਕ ਸਧਾਰਨ ਪਾਈਥਨ ਫੰਕਸ਼ਨ ਲਈ ਕੋਡ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਟੌਪ 5-10 ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਕਮਾਂਡਾਂ/ਸਨਿਪੇਟਸ

ਇੱਥੇ LangChain ਅਤੇ DSPy ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਕਮਾਂਡਾਂ ਅਤੇ ਸਨਿੱਪਟ ਹਨ:

  • ਲੈਂਗਚੇਨ
  • langchain.LLMAgent(model_name="lambada", max_length=100, ਤਾਪਮਾਨ=0.7): LLaMA ਮਾਡਲ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾਉਂਦਾ ਹੈ।
  • langchain_instance.generate(prompt): LangChain ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ। DSPy
  • dsp.DSPy(model_name="bert-base-uncased"): BERT ਮਾਡਲ ਦੀ ਇੱਕ ਉਦਾਹਰਣ ਬਣਾਉਂਦਾ ਹੈ।
  • dsp_instance.predict(text): DSPy ਉਦਾਹਰਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਭਵਿੱਖਬਾਣੀ ਕਰਦਾ ਹੈ।

ਵਿਜ਼ੂਅਲਾਈਜ਼ੇਸ਼ਨ

ਇੱਥੇ Chart.js ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਦਾ ਇੱਕ ਸਧਾਰਨ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਹੈ: ਚਾਰਟ { "type": "ਪੱਟੀ", "ਡਾਟਾ": { "labels": ["ਕੋਡ ਜਨਰੇਸ਼ਨ", "ਕੋਡ ਸਮੀਖਿਆ", "ਟੈਸਟਿੰਗ"], "datasets": [ { "label": "LangChain", "ਡਾਟਾ": [10, 20, 30], "ਬੈਕਗ੍ਰਾਉਂਡ ਰੰਗ": "rgba(255, 99, 132, 0.2)", "borderColor": "rgba(255, 99, 132, 1)", "ਬਾਰਡਰ ਚੌੜਾਈ": 1 }, { "label": "DSPy", "ਡਾਟਾ": [20, 30, 40], "ਬੈਕਗ੍ਰਾਉਂਡ ਰੰਗ": "rgba(54, 162, 235, 0.2)", "borderColor": "rgba(54, 162, 235, 1)", "ਬਾਰਡਰ ਚੌੜਾਈ": 1 } ] }, "ਵਿਕਲਪ": { "ਸਿਰਲੇਖ": { "ਡਿਸਪਲੇ": ਸਹੀ, "text": "ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ" }, "ਪੈਮਾਨਾ": { "yAxes": [ { "ਟਿਕਸ": { "beginAtZero": ਸਹੀ } } ] } } } ਇਹ ਚਾਰਟ ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਵਿੱਚ ਕੋਡ ਜਨਰੇਸ਼ਨ, ਕੋਡ ਸਮੀਖਿਆ, ਅਤੇ ਟੈਸਟਿੰਗ ਦੇ ਸਾਪੇਖਿਕ ਮਹੱਤਵ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।

ਸਿੱਟਾ

LangChain ਅਤੇ DSPy ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੌਫਟਵੇਅਰ ਵਿਕਾਸ ਲਈ ਹਾਈਬ੍ਰਿਡ ਪਹੁੰਚ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਦਾ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਤਰੀਕਾ ਪੇਸ਼ ਕਰਦੀ ਹੈ। ਰਵਾਇਤੀ ਸੌਫਟਵੇਅਰ ਇੰਜਨੀਅਰਿੰਗ ਵਧੀਆ ਅਭਿਆਸਾਂ ਦੇ ਨਾਲ AI-ਸੰਚਾਲਿਤ ਟੂਲਸ ਨੂੰ ਜੋੜ ਕੇ, ਡਿਵੈਲਪਰ ਉਤਪਾਦਕਤਾ ਵਧਾ ਸਕਦੇ ਹਨ, ਗੁਣਵੱਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਸਹਿਯੋਗ ਨੂੰ ਵਧਾ ਸਕਦੇ ਹਨ। ਵਿਹਾਰਕ ਉਦਾਹਰਨ ਅਤੇ ਇਸ ਲੇਖ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਿਖਰ ਦੀਆਂ 10 ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਕਮਾਂਡਾਂ/ਸਨਿਪੇਟਸ LangChain ਅਤੇ DSPy ਦੀ ਵਰਤੋਂ ਦੀ ਸੌਖ ਅਤੇ ਲਚਕਤਾ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।


Have Questions?

Let's Talk

Contact me on LinkedIn