LangChain เฟรมเวิร์คสุดเจ๋งที่ช่วยให้การสร้าง AI Apps เป็นเรื่องง่าย

   By: Nonthakon Jitchiranant

   อัปเดตล่าสุด July 20, 2023

LangChain เฟรมเวิร์คสุดเจ๋งที่ช่วยให้การสร้าง AI Apps เป็นเรื่องง่าย

สวัสดีครับทุกคน สำหรับบทความนี้เราจะมาพูดถึง LangChain หนึ่งในไลบรารีสำหรับประยุกต์ใช้ร่วมกับ Large Language Model (LLM) ที่จะช่วยให้เราสร้างแอพ AI ได้อย่างรวดเร็วกันครับ


LangChain คืออะไร ?

LangChain เป็นเฟรมเวิร์คที่อำนวยความสะดวกในการสร้างแอปพลิเคชันที่ ใช้ Large Language Models (LLMs) เช่น ChatGPT, Google Bard และโมเดลอื่นๆอีกมากมายนั่นเอง อีกทั้งตัวมันเองยังมีเครื่องมือและ API ที่ช่วยให้ Developer สามารถทำงานกับ LLMs และเอาไปทำโน่นนี่นั่นได้มากมาย

จากภาพด้านล่างบ่งบอกความยอดนิยมของเฟรมเวิร์คนี้ แม้เพิ่งสร้างได้ไม่นาน แต่จำนวน GitHub Stars พุ่งไปที่ 55k + แล้ว


จำนวน GitHub Stars ของ LangChain



แล้ว LangChain ทำอะไรได้บ้าง ?

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

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

ที่สำคัญ LangChain ยังอยู่ในที่ Active มากๆ ซึ่งหมายความว่ามันจะมีการเพิ่ม feature ใหม่ๆอยู่ตลอด และจะมีการปรับปรุงให้ดีขึ้นเรื่อยๆ

ถ้าคุณสนใจที่จะสร้างแอปพลิเคชันที่ใช้ LLMs ก็สามารถเริ่มต้นใช้ LangChain ได้เลยครับ มันเป็นเครื่องมือที่มีประสิทธิภาพมากๆ และจะช่วยให้คุณเอาโมเดล LLM แบบ ChatGPT, Bard, อื่นๆ ไปใช้ทำอะไรได้อีกเยอะแยะมากมาย


ตัวอย่างสิ่งที่ LangChain สามารถทำได้

  • การสรุป: LangChain สามารถใช้สรุปเอกสารข้อความ หรือสรุปการสนทนาได้
  • การตอบคำถาม: LangChain สามารถใช้ตอบคำถามเกี่ยวกับเอกสาร หรือสร้าง Q&A ที่จะตอบคำถามแทนเราได้
  • การเขียน/แต่ง: LangChain สามารถใช้แต่งข้อความใหม่ๆ เช่นกลอน Code หรือบทพูดได้ด้วย
  • การแปล: LangChain สามารถใช้แปลข้อความจากภาษาหนึ่งเป็นอีกภาษาหนึ่งได้ (เหมือนวุ้นแปลภาษา)
  • การค้นหาด้วยความหมาย: LangChain สามารถใช้ค้นหาเอกสารจากข้อความโดยใช้ความหมายของมันจริงๆ ไม่ใช่แค่ keyword อย่างเดียว (Semantic Search)

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

ตัวอย่างโค้ดการใช้งาน LangChain ในภาษา Python

import langchain

def summarize_document(document):
  """Summarizes a text document using LangChain."""

  chain = langchain.Chain(langchain.OpenAI())
  chain.add_step(langchain.Summarize(max_length=200))

  summary = chain.predict(document)
  return summary

if __name__ == "__main__":
  document = """
  This is a document that I want to summarize. It is a few paragraphs long, and it discusses the benefits of using LangChain.
  """

  summary = summarize_document(document)
  print(summary)


โค้ดนี้จะสร้าง Chain ซึ่งเป็น object ที่พื้นฐานที่สุดใน LangChain ก่อน จากนั้นเราจะกำหนดให้   Chain   เลือก LLM จาก  OpenAI 

ต่อมา เราจะทำให้มันสรุปเนื้อหาให้เราโดยใช้งาน  
Summarize   และกำหนดความยาวสูงสุดของข้อความที่สรุปไว้ที่ 200 คำ

สุดท้ายเราจะเรียกใช้ฟังก์ชัน 
predict()  เพื่อรันทุกอย่างใน Chain นี้ เป็นอันเสร็จสิ้น

การเรียกใช้โค้ดนี้ เราต้องติดตั้งไลบรารี LangChain ก่อน ทำได้โดยใช้คำสั่ง:

pip install langchain


เมื่อติดตั้ง LangChain เรียบร้อยแล้ว เราสามารถใช้โค้ดได้โดยการเซฟโค้ดเป็นไฟล์ .py และเรียกใช้จาก command line ด้วยคำสั่ง:

python summarize_document.py


เราจะได้ผลลัพท์ของการสรุปออกมาในหน้าต่าง terminal ของเรา
ก็จบไปแล้วนะครับสำหรับบทความแนะนำการใช้งาน LangChain

แนะนำคอร์สแรกในไทย คอร์สเรียน Prompt Engineering with ChatGPT and Python LangChain AI เรียนวันที่ 23 กรกฎาคม 2566 นี้แล้ว ลงทะเบียนด่วน ได้ก่อนปิด


เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

คอร์สเรียนเขียนโปรแกรม