ใส่ชั้น RAG ในโครงการของฉันและประสบการณ์ของฉันกับ Cursor แพทย์ ของฉัน สําหรับโครงการ LangChain-MySQL แสดงให้เห็นว่าตัวแทน LangChain หลายขั้นตอนช่วยให้คุณสามารถถามคําถามในภาษาธรรมชาติผ่าน MySQL อย่างไรก็ตามการแจ้งเตือนหนักและการโทร LLM ที่ซ้ํากันทําให้ระบบช้าและมีแนวโน้มที่จะ OpenAI "429 ความต้องการมากเกินไป" ข้อผิดพลาด ครั้งแรก บทความ ครั้งแรก บทความ What’s new in Part 2: โหลดเพียงส่วนของแผนภูมิที่คุณต้องการ - คอลัมน์คีย์ดัชนี - เพื่อให้คําแนะนําลดลงและความล่าช้าลดลง Persistent FAISS vector store - การทดสอบหน่วยการรวมและ mock-DB ที่เชื่อมต่อกับ CI - จับกรณี Schema-drift และ Retrieval Edge ก่อนที่พวกเขาเข้าสู่การผลิต Comprehensive test suite เพิ่มความสัมพันธ์กุญแจต่างประเทศไปยังเวคเตอร์ DB ซึ่งช่วยปรับปรุงการแสดงรูปแบบและลดการใช้โทเค็น LLM rate‑limit resolution — ก่อนที่จะดําน้ําในนี่คือสองสถานการณ์หยุดจากส่วนที่ 1: Problem 1 — LLM Lost in Table Relationships LLM ไม่รู้วิธีการเชื่อมต่อตารางของคุณ - คุณจบลงการเขียนออกทุกเส้นทางเชื่อมต่อด้วยมือในแต่ละคําแนะนํา Problem 2 — Schema Bulk Breaks Rate Limits การวางแผนฐานข้อมูลเต็มรูปแบบลงในโปรตของคุณจะกิน tokens และเกือบเสมอ trips OpenAI 429 ข้อผิดพลาดก่อนที่คุณจะได้รับคําตอบ การวิจัยและการแก้ปัญหา: What is a Vector Database? A เป็นสต็อกข้อมูลเฉพาะที่ออกแบบมาเพื่อเก็บและสอบถาม (ลําดับของตัวเลข) แทนลําดับและคอลัมน์แบบดั้งเดิม vector database vector representations Integrating the Vector Database ข้อมูลเมตาของแผนภูมิของฐานข้อมูลทั้งหมด - DDL, PK / FK relationships, index info, comments - จะถูกลบลงในเอกสารที่อุดมไปด้วยจากนั้นจะถูกแทรกและคงอยู่ใน FAISS สําหรับการค้นหาเชิงบวกอย่างรวดเร็ว Why FAISS? LLM แนะนํา FAISS นอกจากนี้ ฉันยังสามารถใช้ หรือ - แต่ละตัวสนับสนุนการจัดเก็บแบบบูรณาการและการค้นหาอย่างรวดเร็วและสามารถตอบสนองความต้องการของโครงการนี้ได้ เฟสซ์ โครเมี่ยม, Qdrant วีดีโอ (Facebook AI Similarity Search) เป็นห้องสมุด open-source ที่พัฒนาโดยกลุ่มการวิจัยพื้นฐาน AI ของ Meta สําหรับการค้นหาความคล้ายคลึงกันที่มีประสิทธิภาพและกลุ่มของเวกเตอร์หนาแน่น เฟสซ์ What I Store: More Than Just a Table Blueprint? สิ่งสําคัญคือฉันไม่เพียง แต่จัดเก็บรายละเอียดแผนภูมิพื้นฐานเช่นชื่อตารางและคอลัมน์ในฐานข้อมูลเวกเตอร์นี้ ฉันยังจับและจัดเก็บข้อมูลอย่างชัดเจนเกี่ยวกับความสัมพันธ์กุญแจต่างประเทศที่กําหนดวิธีการเชื่อมต่อตารางเหล่านี้ What is RAG? Retrieval-Augmented Generation (RAG) เป็นรูปแบบของ: การกู้คืนการบูรณาการที่เหมาะสมที่สุดจากเวคเตอร์ DB เพิ่มความสําคัญของ LLM กับบรรทัดฐานที่ถูกลบขึ้น สร้างคําตอบสุดท้าย กล่าวอีกนัยหนึ่ง RAG ขึ้นอยู่กับ vector DB เพื่อเก็บรวบรวมความรู้ที่เหมาะสมก่อนที่จะเรียก LLM Why They Matter to LLM-Powered Apps? LLMs สามารถเก็บข้อความจํานวนมากในหนึ่งคําแนะนําเท่านั้น วัตถุ DB + RAG ช่วยให้คุณสามารถเก็บ "ฐานความรู้" ของคุณออกจากคําแนะนําและดึงเพียงสิ่งที่จําเป็น จินตนาการ LLM เป็นนักเรียนที่สามารถจําได้เพียงไม่กี่หน้าในครั้งเดียว วัตถุ DB เป็นแคตตาล็อกของห้องสมุดและ RAG เป็นกระบวนการทํางานของการเก็บรวบรวมหน้าที่จําเป็นก่อนที่นักเรียนจะเขียนบทความของพวกเขา How Vector DB Helps with LLM API Rate Limit? ฐานข้อมูลเวกเตอร์จัดเก็บแผนภูมิของคุณเป็นตัวแทรก – แต่ละตารางคอลัมน์หรือความสัมพันธ์จะกลายเป็นชิ้นส่วนที่สามารถค้นหาได้ เมื่อผู้ใช้ถามคําถาม (เช่น “ผู้ป่วยหลายคนเข้าเยี่ยมชมสัปดาห์ที่ผ่านมา?”) ระบบจะเปลี่ยนคําถามนี้เป็นตัวแทรกและทําการค้นหาความคล้ายคลึงกัน แทนที่จะกลับแผนภูมิเต็มรูปแบบมันจะเก็บรวบรวมเฉพาะคําถาม เช่นเดียวกับ , และ . top-k most relevant tables patients visits appointments กรณีที่มุ่งเน้นนี้จะถูกส่งไปยัง LLM ให้คําแนะนําขนาดเล็กในขณะที่ยังคงให้ข้อมูลที่จําเป็นในการสร้าง SQL ที่ถูกต้อง Retrieval-Augmented Generation Flow (Steps 4 & 5) for the Project หลังจากใช้การรับรู้คีย์ต่างชาติในฐานข้อมูลเวกเตอร์ของฉันปัญหา 2 (กล่าวไว้ก่อนหน้านี้) จะได้รับการแก้ไขอย่างถูกต้อง GitHub ลิงค์: click ที่นี่ ที่นี่ ดัชนี ฉันกําลังโหลดฐานข้อมูลตัวอย่าง - ในสภาพแวดล้อมการทดสอบ ซุกซน sakila ซุกซน ซุกซน คําตอบแต่ละส่วนประกอบด้วย 3 ส่วน SQL Query Query ผลลัพธ์ คําอธิบาย โซฟา โซฟา โซฟา In the Second Half of This Article, How Do I Steer My AI Coder(s)? ในครึ่งที่สองของบทความนี้ฉันจะควบคุมตัวเข้ารหัส AI ของฉันอย่างไร ฉันขับเคลื่อนโครงการโดยการตั้งเป้าหมายและถามคําถาม LLM จัดการการยกหนัก มันเน้นปัญหาเสนอโซลูชั่นและอธิบายการแลกเปลี่ยนในขณะที่ฉันตัดสินใจขั้นสุดท้ายเกี่ยวกับเส้นทางที่จะติดตาม คําแนะนําสําหรับผู้ขับรถ: คุณเป็นผู้จัดการไม่ใช่ตัวเข้ารหัส กําหนดเป้าหมายและความสําคัญที่ชัดเจนแล้วปล่อยให้ LLM จัดการรายละเอียดของการดําเนินการ First, Think Like a Leader: ดําเนินการทดสอบขอให้ LLM แก้ไขความล้มเหลวใด ๆ และคุณมักจะพบว่ามันแนะนําการออกแบบที่สะอาดขึ้นในช่วงกลางการทํางาน ฉันสูญเสียการนับจํานวนครั้งที่การทดสอบที่ล้มเหลวทําให้เกิดความคิดเกี่ยวกับสถาปัตยกรรมที่ดีขึ้น! Solid tests are your safety net — but with the LLM acting as your pair programmer, you get instant feedback. เช่นเดียวกับผู้จัดการมนุษย์การจัดการจุลทรรศการเป็นอันตรายต่อประสิทธิภาพของทีม ระบุสิ่งที่ต้องเกิดขึ้น แต่ไว้วางใจกับ LLM เพื่อตัดสินใจวิธีการ คําแนะนําที่ จํากัด มากเกินไปสามารถนําไปสู่การออกแบบที่แปลกประหลาดหรือข้อบกพร่องที่ซ่อนอยู่ นอกจากนี้ยังดึงคุณเข้าไปในรายละเอียดของการใช้งานและทําให้คุณเหนื่อยล้า โดยธรรมชาติเมื่อคุณเข้าสู่สถานการณ์นี้มันจะรู้สึกดีกว่าที่จะเขียนโค้ดด้วยมือ Avoid Micromanagement: — หาก LLM ลูบหรือลื่นออกจากเส้นทางการจูงใจหรือคําอธิบายอย่างรวดเร็วเป็นเพียงสิ่งจําเป็นที่จะกลับไปที่หลักสูตร มันไม่ใช่เรื่องแปลกประหลาดสําหรับ LLM จะใช้เวลา 20 นาทีพยายามแก้ไขการทดสอบโดยไม่ประสบความสําเร็จ อย่างไรก็ตามฉันใช้เวลาเพียงหนึ่งนาทีเพื่อค้นหาสาเหตุพื้นฐาน ทีมหุ่นยนต์ของเราจําเป็นต้องมีผู้อํานวยการเสมอ Intervene When Needed อย่าลืม - ทุกคําขอ LLM ค่าใช้จ่าย เงิน โปรดจําไว้ว่าเมื่อ LLM ในโหมดการสอบถามตนเอง Linkedin ของฉัน HERE ที่นี่