Fuente del documento legal: https://github.com/lawrefbook/laws
Plantilla del proyecto: https://github.com/supabase-community/nextjs-openai-doc-search
Este proyecto toma todos los archivos .mdx del directorio pages y los procesa en un contexto personalizado para su uso en el texto de OpenAI, las indicaciones de autocompletación.
![]() Asistente de escritura inteligente | ![]() AI Enciclopedia | ![]() Generador de aviso |
![]() Experto de traducción de IA | ❤️ Recompensa y patrocinio ❤️ |
Implemente este iniciador en Vercel. La integración de Supabase establece automáticamente las variables de entorno requeridas y configura el perfil de su base de datos. ¡Solo necesitas configurar OPENAI_KEY y estás listo para comenzar!
El póster es demasiado vago, gracias a GoJun por ayudar a escribir el tutorial: https://eibot3u32o.feishu.cn/docx/l46pdp3fjoupuvxanzpckctno3
Construir su propio chatgpt personalizado implica cuatro pasos:
pages .mdx Los pasos 1 y 2 ocurren en la hora de compilación, como cuando Vercel construye su aplicación Next.js. En este momento, se ejecuta el script generate-embeddings , que realiza las siguientes tareas:
secuencediagram
VERCEL PARTICIPANTE
DB participante (PGVector)
Participante Openai (API)
bucle 1. Preprocesamiento de la base de conocimiento Vercel->> VERCEL: Divida la página .mdx en Parts Loop 2. Cree y almacene VERCEL->> OpenAI (API): Crear incrustación OpenAI (API) para la parte de la página->> VECEL: Vector de incrustación (1536)
VERCEL->> DB (PGVECTOR): INSCRIVE FIN DE LA PÁGINA DE LA PÁGINA
fin
Además de almacenar los vectores de incrustación, este script genera una suma de verificación para cada archivo .mdx y lo almacena en otra tabla de base de datos para garantizar que los vectores de incrustación se regeneran solo si el archivo cambia.
Los pasos 3 y 4 ocurren en tiempo de ejecución, es decir, cuando el usuario envía el problema. Cuando esto sucede, realice la siguiente serie de tareas:
secuencediagram
cliente participante
función de borde del participante
DB participante (PGVector)
Participante Openai (API)
Cliente->> función de borde: {consulta: lorem ispum}
Critical 3. Realice la función del borde de búsqueda de similitud vectorial ->> OpenAI (API): cree un OpenAI incorporado (API) para una consulta ->> Función de borde: Vector de incrustación (1536)
Función de borde->> DB (PGVector): Vector Simility Search DB (PGVector)->> Función de borde: Fin de contenido de documento relacionado
Critical 4. Inyectar contenido en la función de borde de inmediato->> OpenAI (API): Solicitud completa Solicitud: Consulta + Contenido de documento relacionado OpenAI (API)->> Cliente: Texto/Event-Stream: finalización automática de la respuesta final
Este es el archivo relevante responsable SearchDialog(客户端) y vector-search(边缘函数) .
La inicialización de la base de datos, incluida la configuración de pgvector , se almacena en supabase/migrations y se aplica automáticamente a la instancia local de Postgresql cuando se ejecuta supabase start .
cp .env.example .envOPENAI_KEY en el archivo .env recién creado.Asegúrese de que Docker esté instalado y funcionando localmente. Luego corre
npx supabase startEjecutar en una nueva ventana de terminal
pnpm dev Simplemente despliegue este iniciador en Vercel. La integración de Supabase establece automáticamente las variables de entorno requeridas y configura el esquema de su base de datos. ¡Solo necesitas configurar OPENAI_KEY y comenzar!
此文件由 ChatGPT 提供翻译