วิธีใช้ฟังก์ชัน LangChain LLMChain ใน Python

Withi Chi Fangkchan Langchain Llmchain Ni Python



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

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

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







บทความนี้ช่วยคุณเข้าใจการใช้ฟังก์ชัน LangChain LLMchain ใน Python



ตัวอย่าง: วิธีการใช้ LLMchain Fuction ใน LangChain

เราคุยกันว่าโซ่คืออะไร ตอนนี้ เราจะเห็นการสาธิตเชิงปฏิบัติของเชนเหล่านี้ซึ่งใช้งานในสคริปต์ Python ในตัวอย่างนี้ เราใช้เชน LangChain พื้นฐานที่สุด ซึ่งก็คือ LLMchain ประกอบด้วย PromptTemplate และ LLM และเชื่อมโยงเข้าด้วยกันเพื่อสร้างเอาต์พุต



ในการเริ่มนำแนวคิดไปใช้ เราต้องติดตั้งไลบรารีที่จำเป็นซึ่งไม่รวมอยู่ในไลบรารีมาตรฐานของ Python ไลบรารีที่เราต้องติดตั้งคือ LangChain และ OpenAI เราติดตั้งไลบรารี LangChain เนื่องจากเราจำเป็นต้องใช้โมดูล LLMchain เช่นเดียวกับ PromptTemplate ไลบรารี OpenAI ช่วยให้เราใช้โมเดลของ OpenAI เพื่อทำนายผลลัพธ์ เช่น GPT-3





ในการติดตั้งไลบรารี LangChain ให้รันคำสั่งต่อไปนี้บนเทอร์มินัล:

$ pip ติดตั้ง langchain

ติดตั้งไลบรารี OpenAI ด้วยคำสั่งต่อไปนี้:



$ pip ติดตั้ง openai

เมื่อการติดตั้งเสร็จสิ้น เราสามารถเริ่มทำงานในโปรเจกต์หลักได้

จาก แลงเชน พร้อมท์ นำเข้า เทมเพลตพรอมต์

จาก แลงเชน llms นำเข้า OpenAI

นำเข้า คุณ

คุณ . ประมาณ [ 'OPENAI_API_KEY' ] = 'sk-คีย์ API ของคุณ'

โครงการหลักเริ่มต้นด้วยการนำเข้าโมดูลที่จำเป็น ดังนั้นเราจึงนำเข้า PromptTemplate จากไลบรารี “langchain.prompts” ก่อน จากนั้น เรานำเข้า OpenAI จากไลบรารี “langchain.llms” ต่อไป เรานำเข้า 'os' เพื่อตั้งค่าตัวแปรสภาพแวดล้อม

เริ่มแรก เราตั้งค่าคีย์ OpenAI API เป็นตัวแปรสภาพแวดล้อม ตัวแปรสภาพแวดล้อมคือตัวแปรที่ประกอบด้วยชื่อและค่า และตั้งค่าบนระบบปฏิบัติการของเรา “os.environ” เป็นวัตถุที่ใช้ในการแมปตัวแปรสภาพแวดล้อม ดังนั้นเราจึงเรียกว่า “os.environ” ชื่อที่เราตั้งให้กับคีย์ API คือ OPENAI_API_KEY จากนั้นเราจะกำหนดคีย์ API เป็นค่าของมัน คีย์ API นั้นไม่ซ้ำกันสำหรับผู้ใช้แต่ละราย ดังนั้น เมื่อคุณฝึกเขียนสคริปต์โค้ดนี้ ให้เขียนคีย์ API ลับของคุณ

llm = OpenAI ( อุณหภูมิ = 0.9 )

พร้อมท์ = เทมเพลตพรอมต์ (

input_variables = [ 'สินค้า' ] ,

แม่แบบ = 'ชื่อแบรนด์ที่ขาย {ผลิตภัณฑ์} คืออะไร' ,

)

เมื่อตั้งค่าคีย์เป็นตัวแปรสภาพแวดล้อมแล้ว เราจะเริ่มต้น wrapper ตั้งอุณหภูมิสำหรับรุ่น OpenAI GPT อุณหภูมิเป็นลักษณะเฉพาะที่ช่วยให้เราสามารถกำหนดได้ว่าการตอบสนองจะเป็นอย่างไร ค่าอุณหภูมิยิ่งสูง การตอบสนองก็จะยิ่งคลาดเคลื่อน เราตั้งค่าอุณหภูมิเป็น 0.9 ที่นี่ ดังนั้นเราจึงได้ผลลัพธ์แบบสุ่มมากที่สุด

จากนั้น เราเริ่มต้นคลาส PromptTemplate เมื่อเราใช้ LLM เราจะสร้างพรอมต์จากอินพุตที่นำมาจากผู้ใช้แล้วส่งต่อไปยัง LLM แทนที่จะส่งอินพุตโดยตรงไปยัง LLM ซึ่งต้องใช้รหัสตายตัว (พรอมต์คืออินพุตที่เราเอามาจาก ผู้ใช้และโมเดล AI ที่กำหนดควรสร้างการตอบสนอง) ดังนั้นเราจึงเริ่มต้น PromptTemplate จากนั้นภายในวงเล็บปีกกา เรากำหนด input_variable เป็น 'ผลิตภัณฑ์' และข้อความเทมเพลตคือ 'ชื่อแบรนด์ที่ขาย {ผลิตภัณฑ์} คืออะไร' การป้อนข้อมูลของผู้ใช้จะบอกว่าแบรนด์ทำอะไร จากนั้นจะจัดรูปแบบพรอมต์ตามข้อมูลนี้

จาก แลงเชน ห่วงโซ่ นำเข้า LLMChain

โซ่ = LLMChain ( llm = llm , พร้อมท์ = พร้อมท์ )

เมื่อรูปแบบ PromptTemplate ของเราแล้ว ขั้นตอนต่อไปคือการสร้าง LLMchain ขั้นแรก นำเข้าโมดูล LLMchain จากไลบรารี “langchain.chain” จากนั้น เราสร้างเชนโดยการเรียกใช้ฟังก์ชัน LLMchain() ซึ่งรับอินพุตของผู้ใช้และจัดรูปแบบพรอมต์ด้วย สุดท้ายจะส่งการตอบกลับไปยัง LLM ดังนั้นจึงเชื่อมต่อ PromptTemplate และ LLM

พิมพ์ ( โซ่. วิ่ง ( 'อุปกรณ์ศิลปะ' ) )

ในการดำเนินการเชน เราเรียกเมธอด chain.run() และให้อินพุตของผู้ใช้เป็นพารามิเตอร์ซึ่งกำหนดเป็น 'Art Supplies' จากนั้นเราจะส่งเมธอดนี้ไปยังฟังก์ชัน Python print() เพื่อแสดงผลที่คาดการณ์ไว้บนคอนโซล Python

โมเดล AI อ่านข้อความแจ้งและตอบกลับตามนั้น

เนื่องจากเราขอให้ตั้งชื่อแบรนด์ที่ขายอุปกรณ์ศิลปะ ชื่อที่คาดการณ์โดยโมเดล AI สามารถดูได้ในภาพรวมต่อไปนี้:

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

จาก แลงเชน พร้อมท์ นำเข้า เทมเพลตพรอมต์

จาก แลงเชน llms นำเข้า OpenAI

นำเข้า คุณ

คุณ . ประมาณ [ 'OPENAI_API_KEY' ] = 'sk- คีย์ API ของคุณ'

llm = OpenAI(อุณหภูมิ=0.9)

พร้อมท์ = PromptTemplate(

input_variables=['
ยี่ห้อ ', ' ผลิตภัณฑ์ '],

แม่แบบ = '
จะชื่ออะไร { ยี่ห้อ } ที่ขาย { ผลิตภัณฑ์ } ? ',

)

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

chain = LLMChain(llm=llm, prompt=พรอมต์)

พิมพ์ (chain.run ({

'ยี่ห้อ': '
อุปกรณ์ศิลปะ ',

'ผลิตภัณฑ์': '
สี '

}))

โค้ดจะเหมือนกับตัวอย่างก่อนหน้า ยกเว้นว่าเราต้องส่งตัวแปรสองตัวในคลาสเทมเพลตพรอมต์ ดังนั้น สร้างพจนานุกรมของ input_variables วงเล็บยาวแสดงถึงพจนานุกรม ที่นี่ เรามีตัวแปรสองตัว – “แบรนด์” และ “ผลิตภัณฑ์” – ซึ่งคั่นด้วยเครื่องหมายจุลภาค ตอนนี้ ข้อความเทมเพลตที่เราให้คือ “ชื่อแบรนด์อะไรที่ขาย {ผลิตภัณฑ์}” ดังนั้น โมเดล AI จึงคาดการณ์ชื่อที่เน้นตัวแปรอินพุตสองตัวนี้

จากนั้น เราสร้าง LLMchain ซึ่งจัดรูปแบบข้อมูลที่ผู้ใช้ป้อนพร้อมกับแจ้งให้ส่งการตอบกลับไปยัง LLM ในการเรียกใช้เชนนี้ เราใช้เมธอด chain.run() และส่งพจนานุกรมของตัวแปรโดยป้อนค่าผู้ใช้เป็น 'แบรนด์': 'อุปกรณ์ศิลปะ' และ 'ผลิตภัณฑ์' เป็น 'สี' จากนั้นเราจะส่งเมธอดนี้ไปยังฟังก์ชัน Python print() เพื่อแสดงคำตอบที่ได้รับ

ภาพผลลัพธ์แสดงผลที่คาดการณ์ไว้:

บทสรุป

โซ่เป็นส่วนสำคัญของ LangChain บทความนี้กล่าวถึงแนวคิดของการใช้ LLMchain ใน LangChain เราได้แนะนำ LLMchain และอธิบายถึงความจำเป็นในการใช้งานในโครงการ Python จากนั้น เราแสดงภาพประกอบเชิงปฏิบัติซึ่งสาธิตการใช้งาน LLMchain โดยการเชื่อมต่อ PromptTemplate และ LLM คุณสามารถสร้างเชนเหล่านี้ได้ด้วยตัวแปรอินพุตเดียวรวมถึงตัวแปรที่ผู้ใช้ระบุหลายตัว มีการตอบกลับที่สร้างขึ้นจากโมเดล GPT ด้วยเช่นกัน