
Connectez-vous : commencez par vous connecter à partir de la page de destination. Une fois signé, vous verrez un bouton Let's Start . Cliquez sur ce bouton pour commencer.
Créer un projet : Après avoir cliqué Let's Start , vous pouvez créer un projet. Fournissez un titre, description et téléchargez un fichier PDF. Le PDF sera téléchargé sur un seau de nuage (tel que S3) et stocké dans PostgreSQL.
Traitement PDF : Sur le backend, le fichier PDF est traité pour générer des incorporations vectorielles du contenu. Ces intérêts sont ensuite stockés pour une utilisation future.
Traitement asynchrone : l'ensemble du traitement est géré de manière asynchrone à l'aide de BullMQ, garantissant qu'il est efficace et ne bloque pas d'autres opérations, vous permettant de procéder sans attendre l'interface de chat pour être prête.
Surveillance du tableau de bord : vous pouvez afficher tous vos projets sur le tableau de bord Frontend. Chaque projet affichera un statut: «création», «échoué» ou «créé». Cela vous permet de suivre les progrès et de savoir quand votre projet est prêt. Si des problèmes se produisent, vous pourrez voir le statut et prendre les mesures appropriées.
Interface de chat : une fois qu'un projet est prêt, vous pouvez l'ouvrir pour accéder à une interface de chat conviviale. Ici, vous pouvez poser des questions et recevoir des réponses pertinentes en fonction du contenu de votre PDF.
cd client
pnpm i
cd server
yarn cd client
pnpm run dev
cd server
yarn start:devdocker compose upRemarque: Nous utilisons les actions du serveur et un serveur NESTJS. Parfois, Docker peut lancer une erreur. Si vous rencontrez un problème, veuillez soulever un problème.
.env dans le répertoire server ( server/.env ): # Server port
PORT = 3333
DATABASE_URL = " postgresql://neondb_owner:********/neondb?sslmode=require "
# S3
AWS_ACCESS_KEY_ID = A********P**T********VN
AWS_SECRET_ACCESS_KEY = M********U9J********aYr4********Yostzb
AWS_S3_REGION = us-east-1
AWS_S3_BUCKET_NAME = ********
# Rate Limit
UPLOAD_RATE_TTL = 60
UPLOAD_RATE_LIMIT = 3
# Pinecone
PINECONE_API_KEY = e1******-56**-43**-8f**-f**7**3**2**
# OpenAI
OPENAI_API_KEY = sk-p******j-f******og******Nr0P******FJt******JiBl******EvExEK
# Clerk
CLERK_SECRET_KEY = sk_t******rL5******BkF******7******2hF******aL
# Redis
REDIS_HOST = " redis-*****tysub*****1-8*****.a.aivencloud.com "
REDIS_PORT = *****
REDIS_USERNAME = " ***** "
REDIS_PASSWORD = " AVNS_*****Mi*****S*****a ".env.local dans le répertoire client ( client/.env.local ): NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = pk_test_******reWx******M******su******b3******uZG******A
CLERK_SECRET_KEY = sk_test_SI******B******Kw******Qgdx7V******9aL
NEXT_PUBLIC_CLERK_SIGN_IN_URL = /sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL = /sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL = /
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL = /
NEXT_PUBLIC_CLERK_AFTER_SIGN_OUT_URL = /
# OpenAI
OPENAI_API_KEY = sk-p******j-f******og******Nr0P******FJt******JiBl******EvExEKNESTJS utilise de manière optimale Express (Node.js), réalisant les performances et l'évolutivité qui ne sont pas facilement atteintes avec une configuration conventionnelle.
server/src/app.module.ts : providers: [
{
provide : APP_GUARD ,
useClass : ClerkAuthGuard ,
}
]un. Utilisez les commandes PRISMA:
npx prisma studio
npx prisma migrate dev --name initné S3
Bucket policy - EditCollez ceci mais assurez-vous - modifier le bloc d'accès public - Désactiver
2.1 Politique S3 ( arn:aws:s3:::<bucket-name> ):
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " PublicReadGetObject " ,
"Effect" : " Allow " ,
"Principal" : " * " ,
"Action" : " s3:GetObject " ,
"Resource" : " arn:aws:s3:::<bucket-name>/* "
}
]
}2.2. Configuration CORS:
Partage de ressources croisées (CORS) - Modifier
[
{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [ " PUT " , " POST " , " DELETE " , " GET " ],
"AllowedOrigins" : [ " * " ],
"ExposeHeaders" : []
}
]