LangChain-ի ինտեգրում առաջադեմ RAG ճարտարապետության համար Python հավելվածներում | B4N1

LangChain-ի ինտեգրում առաջադեմ RAG ճարտարապետության համար Python հավելվածներում

8 months ago · b4n1 Tiempo de lectura: 4 min

Լանգչեյնի ինտեգրում առաջադեմ RAG ճարտարապետության համար Python հավելվածներում

Ընդհանուր ակնարկ

Վերջին տարիներին Բնական լեզվի մշակման (NLP) ոլորտը զգալի առաջընթացի է ականատես եղել, մասնավորապես, Retrieval-Augmented Generation (RAG) համակարգերի ոլորտում: Այս համակարգերը հեղափոխել են մեր մոտեցումները այնպիսի խնդիրների, ինչպիսիք են հարցերի պատասխանը, տեքստի ամփոփումը և խոսակցական AI-ն: LangChain-ը` Python-ի ժամանակակից գրադարանը, հայտնվել է որպես RAG ճարտարապետություններ կառուցելու հզոր գործիք: Այս հոդվածում մենք կխորացնենք LangChain-ի աշխարհը և կուսումնասիրենք դրա ինտեգրումը Python-ի վրա հիմնված վեբ շրջանակների հետ, ինչպիսիք են FastAPI-ն և Flask-ը, միևնույն ժամանակ կօգտագործենք նվագախմբային գործիքներ տվյալների ընդլայնված որոնման և մշակման համար:

Ի՞նչ է LangChain-ը:

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

LangChain-ի հիմնական առանձնահատկությունները

  1. Մոդուլային ճարտարապետություն. LangChain-ի մոդուլային դիզայնը թույլ է տալիս ծրագրավորողներին հեշտությամբ ինտեգրել տարբեր AI մոդելներ, տվյալների աղբյուրներ և վեբ շրջանակներ՝ դարձնելով այն իդեալական ընտրություն բարդ RAG համակարգեր կառուցելու համար:
  2. Նվագախմբի գործիքներ. LangChain-ը տրամադրում է մի շարք նվագախմբային գործիքներ, որոնք ծրագրավորողներին հնարավորություն են տալիս կառավարել և մշակել տվյալների մեծ հավաքածուներ, ինչպես նաև ինտեգրվել տվյալների տարբեր աղբյուրների և API-ների հետ:
  3. Աջակցություն բազմաթիվ AI մոդելների. LangChain-ն աջակցում է AI մոդելների լայն տեսականի, ներառյալ տրանսֆորմատորների վրա հիմնված մոդելները, ինչը թույլ է տալիս ծրագրավորողներին ընտրել լավագույն մոդելը իրենց հատուկ օգտագործման դեպքում:
  4. Ինտեգրում Web Frameworks-ի հետ. LangChain-ն ապահովում է անխափան ինտեգրում Python-ի վրա հիմնված հանրաճանաչ վեբ շրջանակների հետ, ինչպիսիք են FastAPI-ն և Flask-ը, ինչը հեշտացնում է RAG համակարգերի տեղակայումը որպես վեբ հավելվածներ:

** LangChain-ի ինտեգրում FastAPI-ի և Flask-ի հետ**

LangChain-ը FastAPI-ի և Flask-ի հետ ինտեգրելու համար մենք պետք է հետևենք հետևյալ քայլերին.

Քայլ 1. Տեղադրեք LangChain

Նախ, մենք պետք է տեղադրենք LangChain-ը՝ օգտագործելով pip.

Բաշ pip install langchain


### Քայլ 2. Ստեղծեք LangChain գործակալ

Հաջորդը, մենք պետք է ստեղծենք LangChain գործակալ, որը կծառայի որպես մեր RAG համակարգի առանցքը: Ահա մի օրինակ, թե ինչպես ստեղծել հիմնական գործակալ.

«Պիթոն».
langchain ներմուծման գործակալից


գործակալ = Գործակալ (
    անուն = "my_agent",
    model_name = "my_model",
    model_type = "տրանսֆորմատոր",
    max_length=1024,
    min_length=128,
)

Քայլ 3. Ինտեգրվել FastAPI-ի կամ Flask-ի հետ

Երբ մենք ստեղծենք մեր LangChain գործակալը, մենք կարող ենք այն ինտեգրել FastAPI-ի կամ Flask-ի հետ: Ահա մի օրինակ, թե ինչպես կարելի է այն ինտեգրել FastAPI-ի հետ.

«Պիթոն». fastapi ներմուծման FastAPI-ից langchain ներմուծման գործակալից

հավելված = FastAPI ()

Ստեղծեք հիմնական գործակալ

գործակալ = Գործակալ ( անուն = "my_agent", model_name = "my_model", model_type = "տրանսֆորմատոր", max_length=1024, min_length=128, )

@app.get ("/ստեղծել") async def generate_text(prompt: str): # Օգտագործեք գործակալը տեքստ ստեղծելու համար output = agent.generate(prompt) վերադարձ {"ելք": ելք}


Նմանապես, մենք կարող ենք ինտեգրել LangChain-ը Flask-ի հետ.

«Պիթոն».
կոլբայի ներմուծումից Կոլբ, խնդրանք
langchain ներմուծման գործակալից

հավելված = Flask (__name__)

# Ստեղծեք հիմնական գործակալ
գործակալ = Գործակալ (
    անուն = "my_agent",
    model_name = "my_model",
    model_type = "տրանսֆորմատոր",
    max_length=1024,
    min_length=128,
)

@app.route ("/generate", մեթոդներ = ["GET"])
def generate_text():
    # Օգտագործեք գործակալը տեքստ ստեղծելու համար
    prompt = request.args.get («հուշում»)
    output = agent.generate(prompt)
    վերադարձ {"ելք": ելք}

Նվագախմբի գործիքներ LangChain-ում

LangChain-ը տրամադրում է մի շարք նվագախմբային գործիքներ, որոնք ծրագրավորողներին հնարավորություն են տալիս կառավարել և մշակել տվյալների մեծ հավաքածուներ, ինչպես նաև ինտեգրվել տվյալների տարբեր աղբյուրների և API-ների հետ: LangChain-ի հիմնական նվագախմբային գործիքներից մի քանիսը ներառում են.

  1. Տվյալների աղբյուրներ. LangChain-ը տրամադրում է տվյալների մի շարք աղբյուրներ, որոնք ծրագրավորողներին հնարավորություն են տալիս ինտեգրվել տվյալների տարբեր աղբյուրների և API-ների, ինչպիսիք են տվյալների բազաները, ֆայլային համակարգերը և վեբ API-ները:
  2. Տվյալների մշակիչներ. LangChain-ը տրամադրում է տվյալների մշակման մի շարք, որոնք ծրագրավորողներին հնարավորություն են տալիս մշակել տվյալների մեծ հավաքածուներ, ներառյալ տվյալների մաքրումը, տվյալների փոխակերպումը և տվյալների համախմբումը:
  3. Model Orchestrators. LangChain-ը տրամադրում է մի շարք մոդելավորողների, որոնք թույլ են տալիս ծրագրավորողներին կառավարել և տեղակայել AI մոդելները, ներառյալ մոդելների ուսուցումը, մոդելների տեղակայումը և մոդելների մոնիտորինգը:

Վիզուալիզացիա Chart.js-ի միջոցով

Մեր RAG համակարգի աշխատանքը պատկերացնելու համար մենք կարող ենք օգտագործել Chart.js-ը՝ հայտնի JavaScript գրադարանը ինտերակտիվ գծապատկերներ ստեղծելու համար: Ահա մի օրինակ, թե ինչպես օգտագործել Chart.js-ը՝ մեր RAG համակարգի աշխատանքը պատկերացնելու համար.

`` Javascript const ctx = document.getElementById ("myChart").getContext ("2d"); const գծապատկեր = new Chart(ctx, { տեսակը՝ «գիծ», տվյալներ՝ { պիտակներ՝ [«Jan», «Feb», «Mar», «Apr», «May»], տվյալների հավաքածուներ՝ [ { Պիտակը ՝ «Ճշգրտություն», տվյալներ՝ [0.8, 0.9, 0.85, 0.88, 0.92], ֆոնի գույնը՝ «rgba(255, 99, 132, 0.2)», եզրագույն: «rgba(255, 99, 132, 1)», սահմանի լայնությունը՝ 1, }, ], }, տարբերակներ՝ { կշեռքներ: { y: { startAtZero՝ ճշմարիտ, }, }, }, });


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


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

1. «langchain import Agent»-ից. ներմուծեք Agent դասը LangChain-ից:
2. «գործակալ = Գործակալ (...)»: Ստեղծեք նոր Գործակալի օրինակ:
3. «agent.generate(...)»: Օգտագործեք Գործակալը տեքստ ստեղծելու համար:
4. «agent.query(...)»: Օգտագործեք Գործակալը գիտելիքների բազան հարցումներ անելու համար:
5. «agent.train(...)»: Վարժեցրեք գործակալին տվյալների բազայի վրա:
6. «agent.deploy(...)»: Գործակալը տեղակայեք որպես վեբ ծառայություն:
7. «agent.monitor(...)»: Հետևեք Գործակալի աշխատանքին:
8. «agent.update(...)»: Թարմացրեք գործակալը նոր տվյալներով:
9. «agent.delete(...)»: Ջնջել Agent օրինակը:
10. «agent.save(...)»: Պահեք Գործակալի օրինակը ֆայլում:

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


Այս հոդվածում մենք ուսումնասիրել ենք LangChain-ի աշխարհը և դրա ինտեգրումը Python-ի վրա հիմնված վեբ շրջանակների հետ, ինչպիսիք են FastAPI-ն և Flask-ը: Մենք նաև քննարկել ենք LangChain-ում նվագախմբային գործիքների օգտագործումը և օրինակներ ենք տվել, թե ինչպես օգտագործել Chart.js-ը՝ մեր RAG համակարգի կատարումը պատկերացնելու համար: LangChain-ի միջոցով մշակողները կարող են կառուցել լայնածավալ և արդյունավետ RAG ճարտարապետություններ, որոնք կարող են կարգավորել NLP-ի բարդ առաջադրանքները:

¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn