วิธีใช้หน่วยความจำใน LLMChain ผ่าน LangChain

Withi Chi Hnwy Khwam Ca Ni Llmchain Phan Langchain



LangChain เป็นเฟรมเวิร์กที่สามารถใช้เพื่อนำเข้าไลบรารีและการขึ้นต่อกันสำหรับการสร้างแบบจำลองภาษาขนาดใหญ่หรือ LLM โมเดลภาษาใช้หน่วยความจำเพื่อจัดเก็บข้อมูลหรือประวัติในฐานข้อมูลเป็นการสังเกตเพื่อรับบริบทของการสนทนา หน่วยความจำได้รับการกำหนดค่าให้จัดเก็บข้อความล่าสุด เพื่อให้โมเดลสามารถเข้าใจข้อความแจ้งที่ไม่ชัดเจนที่ผู้ใช้ให้ไว้

บล็อกนี้จะอธิบายกระบวนการใช้หน่วยความจำใน LLMChain ผ่าน LangChain







วิธีใช้หน่วยความจำใน LLMChain ผ่าน LangChain

หากต้องการเพิ่มหน่วยความจำและใช้ใน LLMChain ผ่าน LangChain คุณสามารถใช้ไลบรารี ConversationBufferMemory ได้โดยการนำเข้าจาก LangChain



หากต้องการเรียนรู้กระบวนการใช้หน่วยความจำใน LLMChain ผ่าน LangChain ให้ปฏิบัติตามคำแนะนำต่อไปนี้:



ขั้นตอนที่ 1: ติดตั้งโมดูล

ขั้นแรก ให้เริ่มกระบวนการใช้หน่วยความจำโดยการติดตั้ง LangChain โดยใช้คำสั่ง pip:





pip ติดตั้ง langchain

ติดตั้งโมดูล OpenAI เพื่อรับการขึ้นต่อกันหรือไลบรารีเพื่อสร้าง LLM หรือโมเดลการแชท:



pip ติดตั้ง openai

ตั้งค่าสภาพแวดล้อม สำหรับ OpenAI โดยใช้คีย์ API โดยการนำเข้าระบบปฏิบัติการและไลบรารี getpass:

นำเข้าเรา
นำเข้า getpass

os.environ['OPENAI_API_KEY'] = getpass.getpass('คีย์ OpenAI API:')

ขั้นตอนที่ 2: การนำเข้าไลบรารี

หลังจากตั้งค่าสภาพแวดล้อมแล้ว เพียงนำเข้าไลบรารีเช่น ConversationBufferMemory จาก LangChain:

จาก langchain.chains นำเข้า LLMChain
จาก langchain.llms นำเข้า OpenAI

จาก langchain.memory นำเข้า ConversationBufferMemory

จาก langchain.prompts นำเข้า PromptTemplate

กำหนดค่าเทมเพลตสำหรับพรอมต์โดยใช้ตัวแปร เช่น “input” เพื่อรับการสืบค้นจากผู้ใช้ และ “hist” เพื่อจัดเก็บข้อมูลในหน่วยความจำบัฟเฟอร์:

template = '''คุณเป็นนางแบบที่กำลังสนทนากับมนุษย์

{ประวัติ}
มนุษย์: {อินพุต}
แชทบอท:'''

prompt = พร้อมต์เทมเพลต (
input_variables=['hist', 'input'], template=template
)
หน่วยความจำ = ConversationBufferMemory (memory_key = 'hist')

ขั้นตอนที่ 3: การกำหนดค่า LLM

เมื่อสร้างเทมเพลตสำหรับการสืบค้นแล้ว ให้กำหนดค่าวิธี LLMChain() โดยใช้พารามิเตอร์หลายตัว:

llm = OpenAI()
llm_chain = LLMChain(
ไอแอลเอ็ม=ไอแอลเอ็ม,
พร้อมท์=พร้อมท์,
รายละเอียด=จริง
หน่วยความจำ = ความทรงจำ
)

ขั้นตอนที่ 4: ทดสอบ LLMChain

หลังจากนั้น ทดสอบ LLMChain โดยใช้ตัวแปรอินพุตเพื่อรับพรอมต์จากผู้ใช้ในรูปแบบข้อความ:

llm_chain.predict(input='สวัสดีเพื่อน')

ใช้อินพุตอื่นเพื่อรับข้อมูลที่จัดเก็บไว้ในหน่วยความจำเพื่อแยกเอาต์พุตโดยใช้บริบท:

llm_chain.predict(input='ดี! ฉันสบายดี - สบายดีไหม')

ขั้นตอนที่ 5: การเพิ่มหน่วยความจำให้กับโมเดลการแชท

สามารถเพิ่มหน่วยความจำลงใน LLMChain ที่ใช้โมเดลการแชทได้โดยการนำเข้าไลบรารี:

จาก langchain.chat_models นำเข้า ChatOpenAI
จาก langchain.schema นำเข้า SystemMessage
จาก langchain.prompts นำเข้า ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder

กำหนดค่าเทมเพลตพรอมต์โดยใช้ ConversationBufferMemory() โดยใช้ตัวแปรที่แตกต่างกันเพื่อตั้งค่าอินพุตจากผู้ใช้:

prompt = ChatPromptTemplate.from_messages([
SystemMessage(content='คุณเป็นนางแบบที่กำลังสนทนากับมนุษย์'),
MessagesPlaceholder(variable_),
HumanMessagePromptTemplate.from_template('{input}'),
])

หน่วยความจำ = ConversationBufferMemory (memory_key = 'hist', return_messages = True)

ขั้นตอนที่ 6: การกำหนดค่า LLMChain

ตั้งค่าเมธอด LLMChain() เพื่อกำหนดค่าโมเดลโดยใช้อาร์กิวเมนต์และพารามิเตอร์ที่แตกต่างกัน:

llm = ChatOpenAI()

chat_llm_chain = LLMChain(
ไอแอลเอ็ม=ไอแอลเอ็ม,
พร้อมท์=พร้อมท์,
รายละเอียด=จริง
หน่วยความจำ = ความทรงจำ
)

ขั้นตอนที่ 7: ทดสอบ LLMChain

ในตอนท้าย เพียงทดสอบ LLMChain โดยใช้อินพุต เพื่อให้โมเดลสามารถสร้างข้อความตามพร้อมท์:

chat_llm_chain.predict(input='สวัสดีเพื่อน')

โมเดลได้จัดเก็บการสนทนาก่อนหน้านี้ไว้ในหน่วยความจำและแสดงก่อนผลลัพธ์จริงของการสืบค้น:

llm_chain.predict(input='ดี! ฉันสบายดี - สบายดีไหม')

นั่นคือทั้งหมดที่เกี่ยวกับการใช้หน่วยความจำใน LLMChain โดยใช้ LangChain

บทสรุป

หากต้องการใช้หน่วยความจำใน LLMChain ผ่านเฟรมเวิร์ก LangChain เพียงติดตั้งโมดูลเพื่อตั้งค่าสภาพแวดล้อมเพื่อรับการขึ้นต่อกันจากโมดูล หลังจากนั้น เพียงนำเข้าไลบรารีจาก LangChain เพื่อใช้หน่วยความจำบัฟเฟอร์สำหรับจัดเก็บการสนทนาก่อนหน้า ผู้ใช้ยังสามารถเพิ่มหน่วยความจำให้กับโมเดลการแชทโดยการสร้าง LLMChain จากนั้นทดสอบเชนโดยระบุอินพุต คู่มือนี้ได้อธิบายรายละเอียดเกี่ยวกับกระบวนการใช้หน่วยความจำใน LLMChain ผ่าน LangChain