หมายเลขชื่อจริงของ Tencent Cloud: ใช้แบบจำลองขนาดใหญ่ของฐานข้อมูลเวกเตอร์ Tencent Cloud (VectorDB) เพื่อสร้างฐานความรู้ส่วนตัวระดับองค์กร
ในยุคของโมเดลขนาดใหญ่ (LLM) นี้ "บินไปทั่วท้องฟ้า" บริษัทและนักพัฒนาจำนวนมากจะต้องพบกับปัญหาที่น่าปวดหัวอย่างยิ่งเมื่อใช้แอปพลิเคชัน AI:
โมเดลขนาดใหญ่มีภาพหลอนไม่ทราบข้อมูลส่วนตัวภายในองค์กรหรือคำตอบไม่ตรงเวลาเพียงพอ
。
การปรับจูนโดยตรงไม่เพียงแต่มีราคาแพงเท่านั้นแต่การอัปเดตข้อมูลยังยุ่งยากมากโซลูชันที่เป็นผู้ใหญ่และคุ้มค่าที่สุดในอุตสาหกรรมคือ
RAG (เพิ่มการสร้างการดึง Retrievers-Augmented Generation)
。"หัวใจ" หลักของสถาปัตยกรรม RAG คือ
ฐานข้อมูลเวกเตอร์ (Vector Database)
。
วันนี้เราใช้ Tencent Cloud ที่พัฒนาขึ้นเอง
TencentDB for VectorDB (Tencent เมฆฐานข้อมูลเวกเตอร์)
ด้วย LangChain และโมเดลขนาดใหญ่เราจะพาคุณไปสร้างฐานความรู้ส่วนตัวระดับองค์กรที่มีประสิทธิภาพและแม่นยำตั้งแต่เริ่มต้น!
1.ทำไมต้องเลือก Tencent Cloud VectorDB?
ก่อนที่จะเขียนโค้ดเรามาพูดถึงสาเหตุที่ฉันเลือก VectorDB ของ Tencent Cloud ในครั้งนี้แทนที่จะใช้ส่วนประกอบโอเพนซอร์ส (เช่น Milvus หรือ Faiss) เพื่อโยนอย่างหนัก:
ใช้งานนอกกรอบไม่ต้องใช้งานและบำรุงรักษา: ฐานข้อมูลเวกเตอร์โอเพนซอร์สสร้างได้ง่ายด้วยตัวเองแต่ความพร้อมใช้งานสูงการแบ่งส่วนการขยายและการเพิ่มประสิทธิภาพดัชนีล้วนเป็นหลุมพราง Tencent Cloud ห่อหุ้มความซับซ้อนพื้นฐานเหล่านี้ทั้งหมด
การทำงานพร้อมกันที่สูงเป็นพิเศษและประสิทธิภาพแบบสแตนด์อะโลน: เครื่องเดียวรองรับ QPS ได้ถึงล้านระดับและการควบคุมการหน่วงเวลาอยู่ที่ระดับมิลลิวินาทีซึ่งเหมาะมากสำหรับการขยายตัวที่ราบรื่นหลังจากการเติบโตของขนาดธุรกิจ
การสนับสนุนแบบเนทีฟสำหรับสถานการณ์ RAG: โมเดลเวกเตอร์ Embedding ในตัวและฟังก์ชันการกรองสเกลาร์ช่วยประหยัดต้นทุนการประมวลผลในการสร้างบริการ Embedding โดยตรง
เคล็ดลับการเตรียมการล่วงหน้า: ก่อนเริ่มคุณต้องเปิดใช้งานบริการ Tencent Cloud หากคุณเป็นทีมงานขององค์กรหรือต้องการซื้อทรัพยากรเป็นชุดขอแนะนำให้ทำการซื้อบัญชี Tencent Cloud และการรับรองความถูกต้องด้วยชื่อจริงผ่านช่องทางที่เป็นทางการไม่เพียงแต่คุณจะได้รับคำแนะนำการเข้าถึงอย่างมืออาชีพจากสถาปนิกเท่านั้นแต่คุณยังสามารถรับส่วนลดพิเศษที่คุ้มค่ากว่าได้อีกด้วย
ประการที่สองการออกแบบสถาปัตยกรรมโดยรวม (RAG เวิร์กโฟลว์)
ฐานความรู้ส่วนตัวที่เราสร้างขึ้นมีเพียง3ขั้นตอนในกระบวนการหลัก:
Plaintext
[เอกสารต้นฉบับ (.pdf/.md)]
│
▼
[1.ข้อความตัด (Chunking) และเวกเตอร์ (Embedding)]
│
▼
[2.บันทึกใน Tencent Cloud VectorDB] ── (คำถามของผู้ใช้) ─► [3.การค้นหาความคล้ายคลึงกันของเวกเตอร์]
│
▼
[4.ประกอบ Prompt และส่งไปยังรุ่นใหญ่] ─► [คำตอบที่ถูกต้องสำหรับผลลัพธ์]
3.ขั้นตอนการปฏิบัติ: สร้างฐานความรู้จาก0ถึง1
ขั้นตอนที่1: สร้างตัวอย่าง Tencent Cloud VectorDB
ลงชื่อเข้าใช้ Tencent Cloud Console และค้นหาเพื่อเข้าสู่หน้าฐานข้อมูลเวกเตอร์ TencentDB สำหรับ VectorDB
คลิก "อินสแตนซ์ใหม่" เพื่อเลือกโหมดการเรียกเก็บเงิน (ขอแนะนำให้เลือกการเรียกเก็บเงินตามปริมาณระหว่างการทดสอบและสภาพแวดล้อมการผลิตเลือกแพ็คเกจประจำปีและรายเดือน)
กำหนดค่าเครือข่าย (VPC): หมายเหตุ! ฐานข้อมูลเวกเตอร์ต้องอยู่ใน VPC (เครือข่ายส่วนตัว) เดียวกันกับเซิร์ฟเวอร์คลาวด์ของคุณ (CVM) หรือการคำนวณฟังก์ชันเพื่อให้สามารถเข้าถึงได้อย่างรวดเร็วผ่านอินทราเน็ต
หลังจากสร้างเสร็จแล้วให้บันทึกอินทราเน็ต IP พอร์ต (โดยปกติคือ80) ชื่อผู้ใช้ (รูท) และคีย์ (คีย์) ของอินสแตนซ์
ขั้นตอนที่2: สภาพแวดล้อมพร้อมการติดตั้ง SDK
ติดตั้ง SDK อย่างเป็นทางการและไลบรารีอ้างอิงที่จำเป็นในสภาพแวดล้อมการพัฒนา Python ของคุณ (หรือ Tencent Cloud CVM):
Bash
Pip install tcvectordb langchain langchain-community pypdf
ขั้นตอนที่3: การเขียนโค้ด-การประมวลผลเอกสารและการจัดเก็บเวกเตอร์
สมมติว่าเรามีภายใน
Company_policy.pdf
(คู่มือพนักงาน) เราจำเป็นต้องอ่านตัดแปลงเป็นเวกเตอร์และเขียนลงใน Tencent Cloud VectorDB
ขั้นตอนที่4: ดำเนินการค้นหาและถาม-ตอบกับโมเดลขนาดใหญ่ (RAG วงปิด)
หลังจากจัดเก็บเอกสารแล้วเมื่อผู้ใช้ถามคำถามเราจะไปที่ VectorDB เพื่อดึงข้อมูลย่อหน้าข้อความที่เชื่อมโยงกันมากที่สุดและสุดท้ายป้อนให้กับโมเดลขนาดใหญ่ (เช่น DeepSeek หรือโมเดลผสม):
Def ask_knowledge_base(query_text):#1.แปลงคำถามของผู้ใช้เป็นเวกเตอร์ (ใช้โมเดล Embedding เดียวกันกับไลบรารี) # Tencent Cloud VectorDB รองรับ Embedding Pipeline ซึ่งสามารถสร้างด้วยโมเดลท้องถิ่น
Query_vector = get_embedding(query_text) # สมมติว่านี่คือฟังก์ชันเวกเตอร์ของคุณ #2.ค้นหาความคล้ายคลึงกันใน VectorDB Top-K
Res = coll.search (
Vectors =[query_vector],
Limit = 3 # ใช้ข้อความ3ย่อหน้าที่คล้ายกันมากที่สุด
& Nbs
P;)
#3.สารสกัดจากบริบทที่ดึงมา
Context_list = [doc['text _ content'] for doc in res[0]]
Context = "\ n --- \ n" .join(context_list)
#4.สร้าง Prompt ด้วยบริบท
Prompt = f "" "คุณเป็นผู้ช่วยองค์กรมืออาชีพโปรดตอบคำถามของผู้ใช้ตาม [เอกสารอ้างอิง] ที่ให้ไว้ด้านล่างหากไม่ได้ระบุไว้ในข้อมูลโปรดตอบว่า "ขออภัยไม่พบเนื้อหาที่เกี่ยวข้องในข้อมูลภายใน" [อ้างอิง]: {context} [คำถามของผู้ใช้]: {query_text} "" "#5.เรียกโมเดลขนาดใหญ่เพื่อสร้างคำตอบ
Response = call_llm(prompt) # เรียกคุณ LLM APIreturn response
# โทรทดสอบ
Answer = ask_knowledge_base("บริษัทจ่ายเงินลาประจำปีกี่วัน? ")
Print (answer)
4.คู่มือการหลีกเลี่ยงหลุมและแนวทางปฏิบัติที่ดีที่สุด
ในขั้นตอนการลงจอดจริงมี "บทเรียนเลือดและน้ำตา" หลายประการที่ควรค่าแก่ความสนใจของคุณ:
ขนาดของ Chunk มีความสำคัญมาก: การตัดมีขนาดเล็กเกินไป (เช่น50คำ) และง่ายต่อการสูญเสียข้อมูลบริบทการตัดมีขนาดใหญ่เกินไป (เช่น2,000คำ) และมีเสียงรบกวนมากเกินไปคำแนะนำ: ชิ้นละ300 ~ 500คำ overlap (ระดับการทับซ้อนกัน) ตั้งไว้ที่10% ~ 15%
การใช้ประโยชน์จากการกรองสเกลาร์: หากฐานความรู้ของคุณมีข้อมูลจากหลายแผนก (เช่น HR, Finance, Technology) คุณต้องเพิ่มฟิลด์สเกลาร์ของหมวดหมู่เมื่อสร้างดัชนีการกรองแผนกก่อนเมื่อดึงข้อมูลสามารถปรับปรุงความแม่นยำและประหยัดพลังงานในการประมวลผลได้อย่างมาก
การค้นหาแบบไฮบริด: การค้นหาเวกเตอร์เพียงอย่างเดียว (การจับคู่ความหมาย) บางครั้งไม่ไวต่อคำศัพท์ที่เป็นกรรมสิทธิ์ (เช่นรุ่นผลิตภัณฑ์ชื่อ) โหมดการค้นหาแบบผสมของ Tencent Cloud VectorDB รวมกับการค้นหาข้อความแบบเต็ม/การกรองคำหลักจะมีผลดีกว่ามาก
สรุป
ผ่าน
Tencent Cloud VectorDB + รุ่นใหญ่
เราใช้โค้ดเพียงหลายสิบบรรทัดเพื่อหลีกเลี่ยงสภาพแวดล้อมพื้นฐานที่ซับซ้อนในการสร้างและสร้างฐานความรู้ส่วนตัวขององค์กรที่มีการทำงานพร้อมกันสูงมีเวลาแฝงต่ำและมีความแม่นยำสูง
หากคุณกำลังเตรียมปรับใช้ระบบฐานความรู้ AI ของคุณเองภายในทีมคุณอาจลองใช้โดยตรงในช่วงแรกของการก่อสร้างขอแนะนำให้ทำงานที่ดีในการวางแผนทรัพยากรคอมพิวเตอร์และการจัดเก็บและเลือกการปฏิบัติตามข้อกำหนดและคุ้มค่า
การซื้อบัญชีเทนเซ็นต์คลาวด์
และช่องทางการรับประกันบริการ
ให้โครงการ AI ของคุณมีประสิทธิภาพและมั่นคง!

