1. Learn
  2. /
  3. Courses
  4. /
  5. Vector Databases สำหรับ Embeddings ด้วย Pinecone

Connected

Exercise

ฟังก์ชันตอบคำถามแบบ RAG

ใกล้เสร็จแล้ว! ขั้นตอนสุดท้ายของ RAG workflow คือการนำเอกสารที่ดึงมาได้มาผนวกเข้ากับโมเดลตอบคำถาม

ฟังก์ชัน prompt_with_context_builder() ถูกกำหนดไว้ให้แล้ว ฟังก์ชันนี้รับเอกสารที่ดึงมาจาก Pinecone index แล้วนำไปสร้าง prompt ที่โมเดลตอบคำถามสามารถนำไปใช้งานได้:

def prompt_with_context_builder(query, docs):
    delim = '\n\n---\n\n'
    prompt_start = 'Answer the question based on the context below.\n\nContext:\n'
    prompt_end = f'\n\nQuestion: {query}\nAnswer:'

    prompt = prompt_start + delim.join(docs) + prompt_end
    return prompt

จากนั้นจะได้นำฟังก์ชัน question_answering() ไปใช้งาน ซึ่งจะส่งข้อมูล context และแหล่งอ้างอิงเพิ่มเติมให้กับโมเดลภาษา gpt-4o-mini ของ OpenAI เพื่อช่วยให้ตอบคำถามได้แม่นยำยิ่งขึ้น

Instructions

100 XP
  • เริ่มต้น Pinecone client ด้วย API key ของคุณ (OpenAI client พร้อมใช้งานในชื่อ client)
  • ดึงเอกสารที่มีความคล้ายคลึงกับข้อความ query มากที่สุด 3 รายการจาก namespace 'youtube_rag_dataset'
  • สร้างคำตอบจาก prompt และ sys_prompt ที่กำหนดให้ โดยใช้โมเดล 'gpt-4o-mini' ของ OpenAI ซึ่งระบุผ่านอาร์กิวเมนต์ chat_model