YC Idea Matcher

Mit diesem Projekt können Sie Ihre Idee einreichen und eine Liste ähnlicher Ideen erhalten, in die Ycombinator zuvor investiert hat.
Das Projekt wird mit den folgenden Technologien erstellt:
- Neon: Serverlose Postgres
- PGVector: Open-Source Postgres-Erweiterung für die Speicherung von Vektor und Ähnlichkeitssuche
- Neon -serverloser Treiber
- Weiter.js: FullStack -Framework für React
- Vercel: Bereitstellungsplattform
- OpenAI -API: Erzeugen von Vektor -Einbettungen
- Rückenwindcss: Utility-First CSS-Framework
- Upstash Redis: Serverless Redis für die Ratenbegrenzung
- ZOD: Typscript-First-Schema-Validierung
- React -Abfrage: Daten zum Abnehmen und Caching -Bibliothek
- Vaul: Schubladenkomponente für React.
Wie die App funktioniert
Sie finden ein Skript namens generate-embeddings.ts
im Stammverzeichnis dieses Projekts. Nach dem Ausführen npm run generate-embeddings
. Das Skript führt Folgendes aus:
- Es erstellt das Datenbankschema und installiert die
pgvector
-Erweiterung - Es geht durch die ycombinator -API 'https://api.ycombinator.com/v0.1/companies?page=1' und erhält alle Unternehmen
- Für jedes Unternehmen generiert es Einbettungen unter Verwendung der langen Beschreibung und speichert dann die Unternehmensdaten in der Datenbank.
Einige Unternehmen haben keine lange Beschreibung, daher mussten wir diese manuell aus der Datenbank entfernen, indem wir delete from companies WHERE embedding = ARRAY[]::real[];
Die App selbst ist eine Next.js -App mit einer API -Route an /api/idea
. Immer wenn ein Benutzer eine Idee einreicht, kommt es zu Folgendes:
- Die Idee wird an die OpenAI -API gesendet, um eine Einbettung zu generieren
- Wir verwenden dann PGVector, um die 3 besten ähnlichen Ideen abzurufen