
Masuk : Mulailah dengan masuk dari halaman arahan. Setelah masuk, Anda akan melihat tombol Let's Start . Klik tombol ini untuk memulai.
Buat proyek : Setelah mengklik Let's Start , Anda dapat membuat proyek. Berikan judul, deskripsi, dan unggah file PDF. PDF akan diunggah ke ember cloud (seperti S3) dan disimpan di PostgreSQL.
Pemrosesan PDF : Pada backend, file PDF diproses untuk menghasilkan embeddings vektor konten. Embeddings ini kemudian disimpan untuk digunakan di masa depan.
Pemrosesan Asinkron : Seluruh pemrosesan ditangani secara tidak sinkron menggunakan BullMQ, memastikan bahwa itu efisien dan tidak memblokir operasi lain, memungkinkan Anda untuk melanjutkan tanpa menunggu antarmuka obrolan siap.
Pemantauan Dasbor : Anda dapat melihat semua proyek Anda di dasbor frontend. Setiap proyek akan menampilkan status: 'membuat', 'gagal', atau 'dibuat'. Ini memungkinkan Anda untuk melacak kemajuan dan mengetahui kapan proyek Anda siap. Jika ada masalah, Anda akan dapat melihat status dan mengambil tindakan yang sesuai.
Antarmuka obrolan : Setelah proyek siap, Anda dapat membukanya untuk mengakses antarmuka obrolan yang ramah pengguna. Di sini, Anda dapat mengajukan pertanyaan dan menerima jawaban yang relevan berdasarkan konten PDF Anda.
cd client
pnpm i
cd server
yarn cd client
pnpm run dev
cd server
yarn start:devdocker compose upCatatan: Kami menggunakan tindakan server dan server NestJS. Kadang -kadang, Docker mungkin melakukan kesalahan. Jika Anda menghadapi masalah, silakan angkat masalah.
.env di direktori 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 di direktori 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 secara optimal menggunakan Express (Node.js), mencapai kinerja dan skalabilitas yang tidak mudah dicapai dengan pengaturan konvensional.
server/src/app.module.ts : providers: [
{
provide : APP_GUARD ,
useClass : ClerkAuthGuard ,
}
]A. Gunakan perintah prisma:
npx prisma studio
npx prisma migrate dev --name initB. S3
Bucket policy - EditTempel ini tetapi pastikan - Edit Blok Akses Publik - Nonaktifkan
2.1 S3 Policy ( 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. Konfigurasi CORS:
Cross -Origin Resource Sharing (CORS) - Edit
[
{
"AllowedHeaders" : [ " * " ],
"AllowedMethods" : [ " PUT " , " POST " , " DELETE " , " GET " ],
"AllowedOrigins" : [ " * " ],
"ExposeHeaders" : []
}
]