Python Tətbiqlərində Qabaqcıl RAG Arxitekturaları üçün LangChain-in inteqrasiyası | B4N1

Python Tətbiqlərində Qabaqcıl RAG Arxitekturaları üçün LangChain-in inteqrasiyası

8 months ago · b4n1 Tiempo de lectura: 4 min

Python Tətbiqlərində Qabaqcıl RAG Arxitekturaları üçün LangChain-in inteqrasiyası

Baxış

Son illərdə Təbii Dil Emalı (NLP) sahəsi, xüsusən Axtarış-Genişləndirilmiş Nəsil (RAG) sistemləri sahəsində əhəmiyyətli irəliləyişlərin şahidi olmuşdur. Bu sistemlər sual cavabı, mətnin ümumiləşdirilməsi və danışıq süni intellekt kimi tapşırıqlara yanaşma tərzimizdə inqilab etdi. Ən müasir Python kitabxanası olan LangChain, RAG arxitekturalarının qurulması üçün güclü bir vasitə kimi ortaya çıxdı. Bu yazıda biz LangChain dünyasını araşdıracaq və onun FastAPI və Flask kimi Python əsaslı veb çərçivələri ilə inteqrasiyasını araşdıracağıq, eyni zamanda təkmilləşdirilmiş məlumatların axtarışı və emalı üçün orkestrasiya alətlərindən istifadə edəcəyik.

LangChain nədir?

LangChain, RAG sistemlərinin inkişafını asanlaşdırmaq üçün nəzərdə tutulmuş açıq mənbəli Python kitabxanasıdır. O, süni intellekt modellərinin qurulması, öyrədilməsi və tətbiqi, həmçinin onları müxtəlif məlumat mənbələri və veb çərçivələri ilə inteqrasiya etmək üçün hərtərəfli alətlər və API-lər dəsti təqdim edir. LangChain-in əsas diqqəti tərtibatçılara mürəkkəb NLP tapşırıqlarını yerinə yetirə bilən genişlənən və səmərəli RAG arxitekturaları yaratmağa imkan verməkdir.

LangChain-in Əsas Xüsusiyyətləri

  1. Modul Memarlıq: LangChain-in modul dizaynı tərtibatçılara müxtəlif süni intellekt modellərini, məlumat mənbələrini və veb çərçivələri asanlıqla inteqrasiya etməyə imkan verir ki, bu da onu mürəkkəb RAG sistemlərinin qurulması üçün ideal seçim edir.
  2. Orkestrasiya Alətləri: LangChain tərtibatçılara böyük verilənlər toplularını idarə etməyə və emal etməyə, həmçinin müxtəlif məlumat mənbələri və API-lərlə inteqrasiya etməyə imkan verən bir sıra orkestrləşdirmə alətləri təqdim edir.
  3. Birdən çox süni intellekt modelləri üçün dəstək: LangChain transformator əsaslı modellər də daxil olmaqla geniş çeşiddə AI modellərini dəstəkləyir və tərtibatçılara xüsusi istifadə halları üçün ən yaxşı modeli seçməyə imkan verir.
  4. Veb Çərçivələri ilə İnteqrasiya: LangChain FastAPI və Flask kimi məşhur Python əsaslı veb çərçivələri ilə problemsiz inteqrasiyanı təmin edərək RAG sistemlərini veb proqramlar kimi yerləşdirməyi asanlaşdırır.

LangChain-in FastAPI və Flask ilə inteqrasiyası

LangChain-i FastAPI və Flask ilə inteqrasiya etmək üçün bu addımları yerinə yetirməliyik:

Addım 1: LangChain quraşdırın

Əvvəlcə pip istifadə edərək LangChain quraşdırmalıyıq:

pip quraşdırma langchain

Addım 2: LangChain Agenti yaradın

Sonra, RAG sistemimizin əsasını təşkil edəcək bir LangChain agenti yaratmalıyıq. Əsas agentin necə yaradılacağına dair bir nümunə:

langchain idxal agentindən


agent = agent(
    ad = "mənim_agentim",
    model_adı="mənim_modelim",
    model_növü="transformator",
    maksimum_uzunluq=1024,
    min_uzunluq=128,
)

Addım 3: FastAPI və ya Flask ilə inteqrasiya edin

LangChain agentimizi yaratdıqdan sonra onu FastAPI və ya Flask ilə inteqrasiya edə bilərik. FastAPI ilə necə inteqrasiya olunacağına dair bir nümunə:

fastapi idxal FastAPI
langchain idxal agentindən

proqram = FastAPI()

# Əsas agent yaradın
agent = agent(
    ad = "mənim_agentim",
    model_adı="mənim_modelim",
    model_növü="transformator",
    maksimum_uzunluq=1024,
    min_uzunluq=128,
)

@app.get("/generate")
async def create_text (istək: str):
    # Mətn yaratmaq üçün agentdən istifadə edin
    çıxış = agent.generate(istək)
    qaytar {"çıxış": çıxış}

Eynilə, biz LangChain-i Flask ilə birləşdirə bilərik:

kolbadan idxal Kolba, tələb
langchain idxal agentindən

proqram = Flask(__adı__)

# Əsas agent yaradın
agent = agent(
    ad = "mənim_agentim",
    model_adı="mənim_modelim",
    model_növü="transformator",
    maksimum_uzunluq=1024,
    min_uzunluq=128,
)

@app.route("/generate", üsullar=["GET"])
def yaratmaq_mətn():
    # Mətn yaratmaq üçün agentdən istifadə edin
    prompt = request.args.get("istək")
    çıxış = agent.generate(istək)
    qaytar {"çıxış": çıxış}

LangChain-də Orkestrasiya Alətləri

LangChain, tərtibatçılara böyük məlumat dəstlərini idarə etməyə və emal etməyə, həmçinin müxtəlif məlumat mənbələri və API-lərlə inteqrasiya etməyə imkan verən bir sıra orkestrləşdirmə alətləri təqdim edir. LangChain-də əsas orkestrləşdirmə vasitələrindən bəziləri bunlardır:

  1. Məlumat Mənbələri: LangChain tərtibatçılara verilənlər bazası, fayl sistemləri və veb API-lər kimi müxtəlif məlumat mənbələri və API-lərlə inteqrasiya etməyə imkan verən bir sıra məlumat mənbələri təqdim edir.
  2. Məlumat Prosessorları: LangChain, tərtibatçılara məlumatların təmizlənməsi, məlumatların transformasiyası və məlumatların yığılması daxil olmaqla, böyük verilənlər toplularını emal etməyə imkan verən bir sıra məlumat prosessorları təqdim edir.
  3. Model Orkestratorları: LangChain tərtibatçılara model təlimi, model yerləşdirmə və model monitorinqi daxil olmaqla, AI modellərini idarə etməyə və yerləşdirməyə imkan verən bir sıra model orkestrləri təqdim edir.

Chart.js ilə vizuallaşdırma

RAG sistemimizin performansını vizuallaşdırmaq üçün interaktiv diaqramlar yaratmaq üçün məşhur JavaScript kitabxanası olan Chart.js-dən istifadə edə bilərik. RAG sistemimizin performansını vizuallaşdırmaq üçün Chart.js-dən necə istifadə olunacağına dair bir nümunə:

const ctx = document.getElementById("myChart").getContext("2d");
const chart = yeni qrafik(ctx, {
  Növ: "xətt",
  data: {
    etiketlər: ["Yanvar", "Fevral", "Mar", "Aprel", "May"],
    verilənlər toplusu: [
      {
        etiket: "Dəqiqlik",
        məlumat: [0.8, 0.9, 0.85, 0.88, 0.92],
        fon Rəngi: "rgba(255, 99, 132, 0.2)",
        sərhədRəng: "rgba(255, 99, 132, 1)",
        sərhəd eni: 1,
      },
    ],
  },
  seçimlər: {
    tərəzi: {
      y: {
        startAtZero: doğrudur,
      },
    },
  },
});

Ən çox istifadə olunan 5-10 əmr/parça

LangChain-də ən çox istifadə olunan 5-10 əmr/parçalar bunlardır:

  1. langchain idxal agentindən: Agent sinfini LangChain-dən idxal edin.
  2. agent = Agent(...): Yeni Agent nümunəsi yaradın.
  3. agent.generate(...): Mətn yaratmaq üçün Agentdən istifadə edin.
  4. agent.query(...): Bilik bazasını sorğulamaq üçün Agentdən istifadə edin.
  5. agent.train(...): Agenti verilənlər bazasında məşq edin.
  6. agent.deploy(...): Agenti veb xidməti kimi yerləşdirin.
  7. agent.monitor(...): Agentin fəaliyyətinə nəzarət edin.
  8. agent.update(...): Agenti yeni məlumatlarla yeniləyin.
  9. agent.delete(...): Agent nümunəsini silin.
  10. agent.save(...): Agent nümunəsini faylda saxlayın.

Nəticə

Bu yazıda biz LangChain dünyasını və onun FastAPI və Flask kimi Python əsaslı veb çərçivələri ilə inteqrasiyasını araşdırdıq. Biz həmçinin LangChain-də orkestrləşdirmə alətlərinin istifadəsini müzakirə etdik və RAG sistemimizin performansını vizuallaşdırmaq üçün Chart.js-dən necə istifadə olunacağına dair nümunələr təqdim etdik. LangChain ilə tərtibatçılar mürəkkəb NLP tapşırıqlarını yerinə yetirə bilən genişləndirilə bilən və səmərəli RAG arxitekturaları qura bilərlər.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn