ผมลองทำให้ LLM จำผมได้ ด้วยวิธีการ RAG ใน Rust

Описание к видео ผมลองทำให้ LLM จำผมได้ ด้วยวิธีการ RAG ใน Rust

ปกติแล้ว ทั่วๆไป พวก LLM มันจำเราไม่ได้หรอกครับ แต่เวลาที่เราไปเล่นพวก ChatGPT, Claude, Github Co-Pilot, ... มันจำเราได้ เพราะเขาแอบใส่ RAG ไว้ครับ

บนพื้นฐานของ LLM แล้ว มันจะรับ Prompt (ประโยคที่เราส่งไปคุยกับมันนั่นแหละ) แล้วก็จะเอาไป Encode ให้เป็น Vector (เป็นตัวเลขแบบประมาณ [0.1, 0.2, 0.05, ...]) ทำให้มันสามารถหาการเชื่อมโยงของคำในประโยคซึ่งกันและกันได้นั่นเอง ดังนั้นแล้ว เราก็สามารถใช้ Vector Database เข้ามาช่วยงานตรงนี้ให้กับเราได้

โดยที่เราจะรับ Prompt ของ User เข้ามาใน Service ของเรา แล้วหลังจากนั้น เราก็เอา Prompt ของ User ไปแปลงเป็น Vector เสร็จแล้วก็เอาไป Search หาข้อมูล Prompt เก่าๆใน Vector Database ที่เราเคยเก็บไว้ในรอบก่อนหน้า แล้วก็ไปเอาคำที่มีความสัมพันธ์กับ Prompt ปัจจุบันออกมา (เทียบจาก Score) แล้วก็เอาไปสร้างเป็น Prompt ใหม่โดยที่จะมีทั้ง Prompt ที่ User ป้อนเข้ามาในปัจจุบันผสมกับ Prompt ในอตีดที่ดึงมาจาก Vector Database แล้วค่อยเอาไปคุยกับ LLM Agent อีกทีนึง

เพียงเท่านี้ LLM Agent ก็จำเราได้แล้วนั่นเอง โดยไม่ต้องไป Train Model ใหม่ เพราะถ้าจะ Train Model ใหม่ การ์ดจอบ้านๆอย่างเราคงจะรับ Parameters หลัก 100 Billion+ ไม่ไหวแน่

***ปล. ในการสุ่ม Weight ของ NN มันไม่ได้มั่วขนาดนั้นนะครับ แต่มันต้องสุ่มบนพื้นฐานของ Normal Distribution ด้วย

Attention Is All You Need Paper: https://arxiv.org/pdf/1706.03762.pdf

ส่วนใครที่สนใจอยากดู Code สามารถเข้าดูที่ Repsitory ของผมได้เลยนะครับ:
https://github.com/Rayato159/rust-llm...

👨🏻‍💻 ติดตามผมเพิ่มเติมได้ผ่านช่องทาง
Facebook:https://www.facebook.com/profile.php?...
LinkedIn:   / ruangyot-nanchiang-757b481a6  

Комментарии

Информация по комментариям в разработке