Rechtsdokument Quelle: https://github.com/lawrefbook/laws
Projektvorlage: https://github.com/supabase-community/nextjs-openai-doc-search
Dieses Projekt nimmt alle .mdx -Dateien aus dem pages auf und verarbeitet sie in einen benutzerdefinierten Kontext für die Verwendung in OpenAI -Text -Autokapostufen.
![]() Smart Writing Assistant | ![]() Ai Enzyklopädie | ![]() Eingabeaufforderung Generator |
![]() AI -Übersetzungsexperte | ❤️ Belohnung und Sponsoring ❤️ |
Stellen Sie diesen Starter in Vercel ein. Die Supabase -Integration legt automatisch die erforderlichen Umgebungsvariablen fest und konfiguriert Ihr Datenbankprofil. Sie müssen nur OPENAI_KEY einstellen und Sie sind bereit zu gehen!
Das Poster ist zu faul, dank Gojun für das Schreiben des Tutorials: https://eibot3u32o.feishu.cn/docx/l46pdp3fjoupuvxanzpckkKKCTNO3
Das Erstellen eines eigenen benutzerdefinierten Chatgpts umfasst vier Schritte:
pages .mdx Die Schritte 1 und 2 erfolgen zum Bauzeit, z. Zu diesem Zeitpunkt wird das Skript generate-embeddings ausgeführt, das die folgenden Aufgaben ausführt:
sequenzieren
Teilnehmer Vercel
Teilnehmer DB (PGVector)
Teilnehmer OpenAI (API)
Schleife 1. Vorverarbeitungswissensbasis Rezel->> Vercel: Teilen Sie die .mdx-Seite in die Teileschleife 2. Erstellen und speichern Sie eingebettetes Vercel->> OpenAI (API): Erstellen Sie einbetten OpenAI (API) für den Seitenpart->> Vercel: Einbettenvektor (1536) (1536).
Vercel->> DB (PGVector): Einbettenende des Seitenparts
Ende
Neben dem Speichern der Einbettungsvektoren generiert dieses Skript auch eine Prüfsumme für jede .mdx -Datei und speichert sie in einer anderen Datenbanktabelle, um sicherzustellen, dass die Einbettungsvektoren nur dann regeneriert werden, wenn sich die Datei ändert.
Die Schritte 3 und 4 erfolgen zur Laufzeit, d. H. Wenn der Benutzer das Problem einreicht. Führen Sie in diesem Fall die folgenden Aufgabenserien aus:
sequenzieren
Teilnehmerkunde
Teilnehmerkante -Funktion
Teilnehmer DB (PGVector)
Teilnehmer OpenAI (API)
Client->> Kantenfunktion: {Abfrage: lorem ispum}
Kritisch 3. Function Vector -Ähnlichkeitssuche durchführen ->> OpenAI (API): Erstellen Sie eine eingebettete OpenAI (API) für eine Abfrage ->> Kantenfunktion: Einbettungsvektor (1536)
Kantenfunktion->> DB (PGVector): Vektorähnlichkeitssuche DB (PGVector)->> Kantenfunktion: Verwandter Dokumentinhalt inhaltend End
Kritisch 4. Inhalt Inhalt in die Eingabeaufforderung Kantenfunktion einlegen->> OpenAI (API): Vollständige Anforderung Eingabeaufforderung: Abfrage + Verwandte Dokumentinhalte OpenAI (API)->> Client: Text/Ereignisstream: Automatische Fertigstellung des Antwortendes
Dies ist die relevante Datei, die für SearchDialog(客户端) Komponente und vector-search(边缘函数) verantwortlich ist.
Die Initialisierung der Datenbank, einschließlich der Einstellungen für pgvector -Erweiterung, wird im Ordner supabase/migrations gespeichert und automatisch auf die lokale PostgreSQL -Instanz angewendet, wenn supabase start ausgeführt wird.
cp .env.example .envOPENAI_KEY in der neu erstellten .env -Datei.Stellen Sie sicher, dass Docker installiert ist und lokal ausgeführt wird. Dann rennen
npx supabase startIn einem neuen Terminalfenster laufen
pnpm dev Stellen Sie diesen Starter einfach in Vercel ein. Die Supabase -Integration legt automatisch die erforderlichen Umgebungsvariablen fest und konfiguriert Ihr Datenbankschema. Sie müssen nur OPENAI_KEY einstellen und loslegen!
此文件由 ChatGPT 提供翻译