YC Idea Matcher

โครงการนี้ช่วยให้คุณส่งความคิดของคุณและรับรายการความคิดที่คล้ายกันที่ Ycombinator เคยลงทุนมาก่อน
โครงการสร้างขึ้นโดยใช้เทคโนโลยีต่อไปนี้:
- นีออน: Postgres แบบไม่มีเซิร์ฟเวอร์
- PGVECTOR: ส่วนขยาย Postgres โอเพนซอร์สสำหรับการจัดเก็บเวกเตอร์และการค้นหาความคล้ายคลึงกัน
- ไดรเวอร์ Neon Serverless
- Next.js: Fullstack Framework สำหรับ React
- vercel: แพลตฟอร์มการปรับใช้
- Openai API: สร้างเวกเตอร์ฝังตัว
- tailwindcss: Utility-First Framework Framework
- Upstash Redis: Serverless Redis สำหรับการ จำกัด อัตรา
- ZOD: การตรวจสอบสคีมา TypeScript First First
- Query React: การดึงข้อมูลและการแคชไลบรารี
- Vaul: ส่วนประกอบลิ้นชักสำหรับ React
แอปทำงานอย่างไร
คุณจะพบสคริปต์ที่เรียกว่า generate-embeddings.ts
ที่อยู่ในไดเรกทอรีรากของโครงการนี้ หลังจากเรียกใช้ npm run generate-embeddings
สคริปต์จะทำดังต่อไปนี้:
- มันสร้างสคีมาฐานข้อมูลและติดตั้งส่วนขยาย
pgvector
- มันต้องผ่าน Ycombinator API 'https://api.ycombinator.com/v0.1/companies?page=1' และได้รับทุก บริษัท
- สำหรับแต่ละ บริษัท จะสร้างการฝังตัวโดยใช้คำอธิบายยาวแล้วเก็บข้อมูล บริษัท ในฐานข้อมูล
บริษัท บางแห่งไม่มีคำอธิบายที่ยาวนานดังนั้นเราจึงจำเป็นต้องลบข้อมูลเหล่านั้นออกจากฐานข้อมูลด้วยตนเองโดยเรียกใช้ delete from companies WHERE embedding = ARRAY[]::real[];
แอพนี้เป็นแอปถัดไป JS พร้อมเส้นทาง API ที่อยู่ที่ /api/idea
เมื่อใดก็ตามที่ผู้ใช้ส่งแนวคิดสิ่งต่อไปนี้จะเกิดขึ้น:
- ความคิดถูกส่งไปยัง OpenAI API เพื่อสร้างการฝัง
- จากนั้นเราใช้ PGVector เพื่อดึงแนวคิดที่คล้ายกันมากที่สุด 3 อันดับแรก