แหล่งเอกสารทางกฎหมายที่มา: https://github.com/lawrefbook/laws
เทมเพลตโครงการ: https://github.com/supabase-community/nextjs-openai-doc-search
โครงการนี้ใช้ไฟล์ .mdx ทั้งหมดจากไดเรกทอรี pages และประมวลผลลงในบริบทที่กำหนดเองสำหรับใช้ในการแจ้งเตือนการเติมข้อความอัตโนมัติของ OpenAI
![]() ผู้ช่วยการเขียนอัจฉริยะ | ![]() สารานุกรม AI | ![]() เครื่องกำเนิดไฟฟ้า |
![]() ผู้เชี่ยวชาญด้านการแปล AI | ❤รางวัลและการสนับสนุน❤ |
ปรับใช้สตาร์ทเตอร์นี้กับ Vercel การรวม Supabase ตั้งค่าตัวแปรสภาพแวดล้อมที่ต้องการโดยอัตโนมัติและกำหนดค่าโปรไฟล์ฐานข้อมูลของคุณ คุณเพียงแค่ต้องตั้ง OPENAI_KEY และคุณพร้อมที่จะไป!
โปสเตอร์ขี้เกียจเกินไปขอบคุณ Gojun ที่ช่วยเขียนบทช่วยสอน: https://eibot3u32o.feishu.cn/docx/l46pdp3fjouvxanzpckckctno3
การสร้าง CHATGPT แบบกำหนดเองของคุณเองเกี่ยวข้องกับสี่ขั้นตอน:
pages .mdx ขั้นตอนที่ 1 และ 2 เกิดขึ้นในเวลาที่สร้างเช่นเมื่อ Vercel สร้างแอปพลิเคชัน next.js ของคุณ ในเวลานี้สคริปต์ generate-embeddings จะดำเนินการซึ่งดำเนินการต่อไปนี้:
ลำดับ
vercel ผู้เข้าร่วม
DB ผู้เข้าร่วม (PGVECTOR)
ผู้เข้าร่วม OpenAI (API)
ลูป 1. การประมวลผลล่วงหน้าฐานความรู้ vercel->> vercel: แบ่งหน้า. mdx ออกเป็นส่วนหนึ่งของลูป 2. สร้างและจัดเก็บ vercel ฝัง->> openai (api): สร้าง embed openai (API) สำหรับส่วนหน้า->> vercel: เวกเตอร์ฝัง (1536)
vercel->> db (pgvector): ฝังส่วนท้ายของส่วนหน้า
จบ
นอกเหนือจากการจัดเก็บเวกเตอร์ที่ฝังอยู่แล้วสคริปต์นี้จะสร้างการตรวจสอบสำหรับไฟล์ .mdx แต่ละไฟล์และเก็บไว้ในตารางฐานข้อมูลอื่นเพื่อให้แน่ใจว่าเวกเตอร์ฝังจะถูกสร้างใหม่เฉพาะในกรณีที่ไฟล์เปลี่ยนไป
ขั้นตอนที่ 3 และ 4 เกิดขึ้นที่รันไทม์เช่นเมื่อผู้ใช้ส่งปัญหา เมื่อสิ่งนี้เกิดขึ้นให้ดำเนินการชุดของงานต่อไปนี้:
ลำดับ
ลูกค้าผู้เข้าร่วม
ฟังก์ชั่น Edge ผู้เข้าร่วม
DB ผู้เข้าร่วม (PGVECTOR)
ผู้เข้าร่วม OpenAI (API)
ไคลเอนต์->> ฟังก์ชั่นขอบ: {Query: Lorem ispum}
วิกฤต 3. ทำฟังก์ชั่นขอบการค้นหาเวกเตอร์ความคล้ายคลึงกัน ->> openai (API): สร้าง OpenAI แบบฝังตัว (API) สำหรับการสืบค้น ->> ฟังก์ชั่นขอบ: เวกเตอร์ฝัง (1536)
ฟังก์ชั่นขอบ->> db (pgvector): เวกเตอร์การค้นหาความคล้ายคลึงกัน db (pgvector)->> ฟังก์ชั่นขอบ: เนื้อหาเอกสารที่เกี่ยวข้องสิ้นสุด
วิกฤต 4. การฉีดเนื้อหาลงในฟังก์ชั่นขอบพรอมต์->> openai (API): การร้องขอที่สมบูรณ์พร้อมคำสั่ง: การสืบค้น + เนื้อหาเอกสารที่เกี่ยวข้อง OpenAI (API)->> ไคลเอนต์: ข้อความ/เหตุการณ์สตรีม: เสร็จสิ้นการตอบสนองอัตโนมัติ
นี่คือไฟล์ที่เกี่ยวข้องที่รับผิดชอบส่วนประกอบ SearchDialog(客户端) และ vector-search(边缘函数)
การเริ่มต้นของฐานข้อมูลรวมถึงการตั้งค่าสำหรับส่วนขยาย pgvector จะถูกเก็บไว้ในโฟลเดอร์ supabase/migrations และจะถูกนำไปใช้กับอินสแตนซ์ PostgreSQL ในท้องถิ่นโดยอัตโนมัติเมื่อ supabase start ทำงาน
cp .env.example .envOPENAI_KEY ในไฟล์. .env ที่สร้างขึ้นใหม่ตรวจสอบให้แน่ใจว่ามีการติดตั้งและทำงานในพื้นที่ จากนั้นวิ่ง
npx supabase startทำงานในหน้าต่างเทอร์มินัลใหม่
pnpm dev เพียงแค่ปรับใช้สตาร์ทเตอร์นี้กับ Vercel การรวม Supabase ตั้งค่าตัวแปรสภาพแวดล้อมที่ต้องการโดยอัตโนมัติและกำหนดค่าสคีมาฐานข้อมูลของคุณ คุณเพียงแค่ต้องตั้งค่า OPENAI_KEY และเริ่มต้น!
此文件由 ChatGPT 提供翻译