பைதான் பயன்பாடுகளில் மேம்பட்ட RAG கட்டமைப்புகளுக்கு LangChain ஐ ஒருங்கிணைத்தல் | B4N1

பைதான் பயன்பாடுகளில் மேம்பட்ட RAG கட்டமைப்புகளுக்கு LangChain ஐ ஒருங்கிணைத்தல்

8 months ago · b4n1 Read time: 3 min

பைதான் பயன்பாடுகளில் மேம்பட்ட RAG கட்டமைப்புகளுக்கு LangChain ஐ ஒருங்கிணைத்தல்

கண்ணோட்டம்

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

LangChain என்றால் என்ன?

LangChain என்பது RAG அமைப்புகளின் வளர்ச்சியை எளிமையாக்க வடிவமைக்கப்பட்ட ஒரு திறந்த மூல பைதான் நூலகம் ஆகும். இது AI மாதிரிகளை உருவாக்குவதற்கும், பயிற்சி செய்வதற்கும், பயன்படுத்துவதற்கும், பல்வேறு தரவு மூலங்கள் மற்றும் இணைய கட்டமைப்புகளுடன் அவற்றை ஒருங்கிணைப்பதற்கும் விரிவான கருவிகள் மற்றும் APIகளை வழங்குகிறது. சிக்கலான NLP பணிகளைக் கையாளக்கூடிய அளவிடக்கூடிய மற்றும் திறமையான RAG கட்டமைப்புகளை உருவாக்க டெவலப்பர்களை செயல்படுத்துவதில் LangChain இன் முதன்மை கவனம் உள்ளது.

LangChain இன் முக்கிய அம்சங்கள்

  1. மாடுலர் ஆர்கிடெக்சர்: லாங்செயினின் மட்டு வடிவமைப்பு டெவலப்பர்களை வெவ்வேறு AI மாதிரிகள், தரவு மூலங்கள் மற்றும் வலை கட்டமைப்பை எளிதாக ஒருங்கிணைக்க அனுமதிக்கிறது, இது சிக்கலான RAG அமைப்புகளை உருவாக்குவதற்கான சிறந்த தேர்வாக அமைகிறது.
  2. ஆர்கெஸ்ட்ரேஷன் கருவிகள்: பெரிய தரவுத்தொகுப்புகளை நிர்வகிப்பதற்கும் செயலாக்குவதற்கும் டெவலப்பர்களுக்கு உதவும் பல்வேறு தரவு மூலங்கள் மற்றும் APIகளுடன் ஒருங்கிணைக்கும் ஆர்கெஸ்ட்ரேஷன் கருவிகளை LangChain வழங்குகிறது.
  3. பல AI மாடல்களுக்கான ஆதரவு: LangChain ஆனது டிரான்ஸ்பார்மர் அடிப்படையிலான மாதிரிகள் உட்பட பலவிதமான AI மாடல்களை ஆதரிக்கிறது, டெவலப்பர்கள் தங்கள் குறிப்பிட்ட பயன்பாட்டுக்கு சிறந்த மாதிரியைத் தேர்வுசெய்ய அனுமதிக்கிறது.
  4. வலை கட்டமைப்புகளுடன் ஒருங்கிணைத்தல்: லாங்செயின், FastAPI மற்றும் Flask போன்ற பிரபலமான Python-அடிப்படையிலான வலை கட்டமைப்புகளுடன் தடையற்ற ஒருங்கிணைப்பை வழங்குகிறது, இது RAG அமைப்புகளை வலை பயன்பாடுகளாக பயன்படுத்துவதை எளிதாக்குகிறது.

FastAPI மற்றும் Flask உடன் LangChain ஐ ஒருங்கிணைத்தல்

FastAPI மற்றும் Flask உடன் LangChain ஐ ஒருங்கிணைக்க, நாம் இந்தப் படிகளைப் பின்பற்ற வேண்டும்:

படி 1: LangChain ஐ நிறுவவும்

முதலில், நாம் பிப்பைப் பயன்படுத்தி LangChain ஐ நிறுவ வேண்டும்:

pip நிறுவல் langchain

படி 2: ஒரு LangChain முகவரை உருவாக்கவும்

அடுத்து, எங்கள் RAG அமைப்பின் மையமாக செயல்படும் LangChain முகவரை உருவாக்க வேண்டும். ஒரு அடிப்படை முகவரை எவ்வாறு உருவாக்குவது என்பதற்கான எடுத்துக்காட்டு இங்கே:

லாங்செயின் இறக்குமதி முகவரிடமிருந்து


முகவர் = முகவர்(
    name="my_agent",
    model_name="my_model",
    model_type="மின்மாற்றி",
    max_length=1024,
    min_length=128,
)

படி 3: FastAPI அல்லது Flask உடன் ஒருங்கிணைக்கவும்

எங்கள் LangChain முகவரை உருவாக்கியதும், அதை FastAPI அல்லது Flask உடன் ஒருங்கிணைக்கலாம். FastAPI உடன் அதை எவ்வாறு ஒருங்கிணைப்பது என்பதற்கான எடுத்துக்காட்டு இங்கே:

fastapi இறக்குமதி FastAPI இலிருந்து
லாங்செயின் இறக்குமதி முகவரிடமிருந்து

பயன்பாடு = FastAPI()

# ஒரு அடிப்படை முகவரை உருவாக்கவும்
முகவர் = முகவர்(
    name="my_agent",
    model_name="my_model",
    model_type="மின்மாற்றி",
    max_length=1024,
    min_length=128,
)

@app.get("/generate")
async def generate_text(prompt: str):
    # உரையை உருவாக்க முகவரைப் பயன்படுத்தவும்
    வெளியீடு = agent.generate(prompt)
    திரும்ப {"அவுட்புட்": வெளியீடு}

இதேபோல், Flask உடன் LangChain ஐ ஒருங்கிணைக்கலாம்:

குடுவை இறக்குமதியிலிருந்து பிளாஸ்க், கோரிக்கை
லாங்செயின் இறக்குமதி முகவரிடமிருந்து

பயன்பாடு = குடுவை(__பெயர்__)

# ஒரு அடிப்படை முகவரை உருவாக்கவும்
முகவர் = முகவர்(
    name="my_agent",
    model_name="my_model",
    model_type="மின்மாற்றி",
    max_length=1024,
    min_length=128,
)

@app.route("/generate", முறைகள்=["GET"])
உருவாக்க_உரை():
    # உரையை உருவாக்க முகவரைப் பயன்படுத்தவும்
    prompt = request.args.get("prompt")
    வெளியீடு = agent.generate(prompt)
    திரும்ப {"அவுட்புட்": வெளியீடு}

LangChain இல் ஆர்கெஸ்ட்ரேஷன் கருவிகள்

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

  1. தரவு ஆதாரங்கள்: தரவுத்தளங்கள், கோப்பு முறைமைகள் மற்றும் வலை APIகள் போன்ற பல்வேறு தரவு மூலங்கள் மற்றும் APIகளுடன் டெவலப்பர்களை ஒருங்கிணைக்க உதவும் தரவு மூலங்களின் வரம்பை LangChain வழங்குகிறது.
  2. தரவுச் செயலிகள்: தரவுச் சுத்திகரிப்பு, தரவு மாற்றம் மற்றும் தரவுத் திரட்டுதல் உள்ளிட்ட பெரிய தரவுத்தொகுப்புகளைச் செயலாக்க டெவலப்பர்களுக்கு உதவும் தரவுச் செயலிகளின் வரம்பை LangChain வழங்குகிறது.
  3. மாடல் ஆர்கெஸ்ட்ரேட்டர்கள்: மாதிரி பயிற்சி, மாதிரி வரிசைப்படுத்தல் மற்றும் மாதிரி கண்காணிப்பு உள்ளிட்ட AI மாதிரிகளை நிர்வகிக்கவும் பயன்படுத்தவும் டெவலப்பர்களுக்கு உதவும் மாதிரி ஆர்கெஸ்ட்ரேட்டர்களின் வரம்பை LangChain வழங்குகிறது.

** Chart.js உடன் காட்சிப்படுத்தல்**

எங்கள் RAG அமைப்பின் செயல்திறனைக் காட்சிப்படுத்த, ஊடாடும் விளக்கப்படங்களை உருவாக்குவதற்கான பிரபலமான JavaScript நூலகமான Chart.js ஐப் பயன்படுத்தலாம். எங்கள் RAG அமைப்பின் செயல்திறனைக் காட்சிப்படுத்த Chart.js ஐ எவ்வாறு பயன்படுத்துவது என்பதற்கான எடுத்துக்காட்டு இங்கே:

const ctx = document.getElementById("myChart").getContext("2d");
கான்ஸ்ட் விளக்கப்படம் = புதிய விளக்கப்படம்(ctx, {
  வகை: "வரி",
  தரவு: {
    லேபிள்கள்: ["ஜன", "பிப்ரவரி", "மார்", "ஏப்", "மே"],
    தரவுத்தொகுப்புகள்: [
      {
        லேபிள்: "துல்லியம்",
        தரவு: [0.8, 0.9, 0.85, 0.88, 0.92],
        பின்னணி நிறம்: "rgba(255, 99, 132, 0.2)",
        எல்லை வண்ணம்: "rgba(255, 99, 132, 1)",
        எல்லை அகலம்: 1,
      },
    ],
  },
  விருப்பங்கள்: {
    அளவுகள்: {
      y: {
        ஆரம்பம் ஜீரோ: உண்மை,
      },
    },
  },
});

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

LangChain இல் அதிகம் பயன்படுத்தப்படும் முதல் 5-10 கட்டளைகள்/துணுக்குகள் இங்கே:

  1. langchain இறக்குமதி முகவரிடமிருந்து: LangChain இலிருந்து முகவர் வகுப்பை இறக்குமதி செய்யவும்.
  2. ஏஜெண்ட் = ஏஜென்ட்(...): புதிய ஏஜென்ட் நிகழ்வை உருவாக்கவும்.
  3. agent.generate(...): உரையை உருவாக்க முகவரைப் பயன்படுத்தவும்.
  4. agent.query(...): அறிவுத் தளத்தை வினவ, முகவரைப் பயன்படுத்தவும்.
  5. agent.train(...): தரவுத்தொகுப்பில் முகவருக்குப் பயிற்சி அளிக்கவும்.
  6. agent.deploy(...): முகவரை வலைச் சேவையாகப் பயன்படுத்தவும்.
  7. agent.monitor(...): முகவரின் செயல்திறனைக் கண்காணிக்கவும்.
  8. agent.update(...): புதிய தரவுகளுடன் முகவரைப் புதுப்பிக்கவும்.
  9. agent.delete(...): முகவர் நிகழ்வை நீக்கவும்.
  10. agent.save(...): ஏஜென்ட் நிகழ்வை ஒரு கோப்பில் சேமிக்கவும்.

முடிவு

இந்தக் கட்டுரையில், LangChain இன் உலகத்தையும், FastAPI மற்றும் Flask போன்ற Python-அடிப்படையிலான இணைய கட்டமைப்புகளுடன் அதன் ஒருங்கிணைப்பையும் நாங்கள் ஆராய்ந்தோம். LangChain இல் ஆர்கெஸ்ட்ரேஷன் கருவிகளைப் பயன்படுத்துவதைப் பற்றியும் நாங்கள் விவாதித்துள்ளோம், மேலும் எங்கள் RAG அமைப்பின் செயல்திறனைக் காட்சிப்படுத்த Chart.js ஐ எவ்வாறு பயன்படுத்துவது என்பதற்கான எடுத்துக்காட்டுகளை வழங்கியுள்ளோம். LangChain மூலம், டெவலப்பர்கள் சிக்கலான NLP பணிகளைக் கையாளக்கூடிய அளவிடக்கூடிய மற்றும் திறமையான RAG கட்டமைப்புகளை உருவாக்க முடியும்.


Have Questions?

Let's Talk

Contact me on LinkedIn