ใช้ GPT-4 API ใหม่เพื่อสร้าง chatgpt chatbot สำหรับไฟล์ PDF ขนาดใหญ่หลายไฟล์
Tech Stack ที่ใช้ ได้แก่ Langchain, Pinecone, TypeScript, Openai และ Next.js. Langchain เป็นเฟรมเวิร์กที่ทำให้แอพ AI/LLM ที่ปรับขนาดได้ง่ายขึ้นและ chatbots Pinecone เป็นเวกเตอร์สโตร์สำหรับการจัดเก็บ embeddings และ PDF ของคุณในข้อความเพื่อดึงเอกสารที่คล้ายกันในภายหลัง
วิดีโอการสอน
เข้าร่วม Discord หากคุณมีคำถาม
คู่มือภาพของ repo และการสอนนี้อยู่ในโฟลเดอร์ visual guide
หากคุณพบข้อผิดพลาดโปรดตรวจสอบส่วนการแก้ไขปัญหาเพิ่มเติมในหน้านี้
Prelude: โปรดตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดโหนดในระบบของคุณแล้วและเวอร์ชันคือ 18 หรือมากกว่า
git clone [github https url]
วิ่งครั้งแรก npm install yarn -g เพื่อติดตั้งเส้นด้ายทั่วโลก (ถ้าคุณยังไม่ได้)
จากนั้นเรียกใช้:
yarn install
หลังจากการติดตั้งตอนนี้คุณควรเห็นโฟลเดอร์ node_modules
.env ของคุณ.env.example ไปยัง .env ไฟล์ .env ของคุณควรมีลักษณะเช่นนี้: OPENAI_API_KEY=
PINECONE_API_KEY=
PINECONE_ENVIRONMENT=
PINECONE_INDEX_NAME=
.env ของคุณ ในโฟลเดอร์ config ให้แทนที่ PINECONE_NAME_SPACE ด้วย namespace ที่คุณต้องการจัดเก็บ embeddings ของคุณบน pinecone เมื่อคุณเรียกใช้ npm run ingest เนมสเปซนี้จะถูกใช้ในภายหลังสำหรับการสืบค้นและการดึงข้อมูล
ใน utils/makechain.ts เชนเปลี่ยน QA_PROMPT สำหรับ usecase ของคุณเอง เปลี่ยน modelName ใน new OpenAI เป็น gpt-4 หากคุณสามารถเข้าถึง gpt-4 API โปรดตรวจสอบภายนอก repo นี้ว่าคุณสามารถเข้าถึง gpt-4 API มิฉะนั้นแอปพลิเคชันจะไม่ทำงาน
repo นี้สามารถโหลดไฟล์ PDF หลายไฟล์
ภายในโฟลเดอร์ docs เพิ่มไฟล์หรือโฟลเดอร์ PDF ของคุณที่มีไฟล์ PDF
เรียกใช้ yarn run ingest ใน 'กลืนเข้าไป' และฝังเอกสารของคุณ หากคุณพบข้อผิดพลาดแก้ไขปัญหาด้านล่าง
ตรวจสอบแดชบอร์ด Pinecone เพื่อตรวจสอบเนมสเปซและเวกเตอร์ของคุณ
เมื่อคุณตรวจสอบว่าการฝังและเนื้อหาได้รับการเพิ่มลงใน pinecone ของคุณเรียบร้อยแล้วคุณสามารถเรียกใช้แอพ npm run dev เพื่อเปิดตัวสภาพแวดล้อมในท้องถิ่นแล้วพิมพ์คำถามในอินเทอร์เฟซแชท
โดยทั่วไปจับตาดูส่วน issues และ discussions ของ repo นี้สำหรับการแก้ปัญหา
ข้อผิดพลาดทั่วไป
node -vConsole.log ตัวแปร env และตรวจสอบให้แน่ใจว่าได้รับการเปิดเผย.env ที่มีคีย์ API (และทำงาน) ที่ถูกต้องของคุณ (และใช้งานได้)modelName ใน OpenAI ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึง API สำหรับรุ่นที่เหมาะสมenv ท้องถิ่นจากโครงการจะถูกเขียนทับโดยตัวแปร Systems envprocess.env หากยังมีปัญหาอยู่ข้อผิดพลาด Pinecone
environment Pinecone Dashboard และ index ตรงกับไฟล์ในไฟล์ pinecone.ts และ .env1536ส่วนหน้าของ repo นี้ได้รับแรงบันดาลใจจาก langchain-chat-nextjs