Мой проект представляет собой приложение PDFCHAT, созданное с использованием REACTJS VITE Framework, MongoDB для хранения данных, JWT для аутентификации и авторизации пользователя, а также Node.js с Express.js для бэкэнда. Он также использует различные библиотеки и инструменты для эффективной разработки, в том числе DOTENV для управления переменными окружающей среды, Langchain и его векторный хранилище для обработки языка, Multer для загрузки файлов и Axios для выполнения запросов на бэкэнд. Проект стилизован с помощью CSS и Shadcn Framework для изящного пользовательского интерфейса.
На заднем плане я использовал node.js с Express.js для обработки запросов и MongoDB для хранения информации пользователя и управления входами в пользователя. Чтобы обеспечить безопасность, я использовал JSON Web токены для аутентификации пользователей, чтобы убедиться, что только авторизованные пользователи могут получить доступ к определенным частям проекта.
Для обработки файлов PDF я использовал инструмент под названием Multer для хранения файлов и их местоположений в базе данных. Затем я обработал загруженные PDF -файлы, разбивая их на более мелкие детали и сохраняя их в векторном магазине HNSW, предоставленном Langchain. Это путешествие расширило мои навыки и дало мне лучшее понимание возможностей, предлагаемых передовыми технологиями, такими как Langchain и Rag.
Перед запуском проекта необходимо настроить переменные среды и конфигурации:
Клонировать репозиторий : начните с клонирования этого репозитория в локальную машину.
Настройка фронта :
npm install для установки зависимостей Frontend.npm run dev , чтобы запустить Frontend.Настройка бэкэнд :
npm install для установки зависимостей..env в каталоге Бэкэнд и установите следующие переменные:PORT : номер порта на сервере будет работать. (По умолчанию 8080)username : Mongodb Atlas Connection имя пользователя.password : пароль MongoDB Atlas Connection.JWT_SECRET : секрет генерации токенов JWT.OPENAI_API_KEY : openai api -ключ.Настройка базы данных :
Начните бэкэнд :
npm start запустить бэкэнд -сервер.Доступ к приложению :
http://localhost:5173 в браузере, чтобы получить доступ к приложению.http://localhost:8080 или http://localhost:PORT в вашем терминале, чтобы получить доступ к приложению бэкэнд. Структура проекта организована в два основных каталога:
frontend : содержит весь код ReactJS для фронта с TypeScript.backend : содержит сервер node.js с использованием express.js для логики бэкэнд. Я использовал JWT (JSON Web Tokens) для аутентификации пользователей и авторизации. Когда пользователи регистрируются или входят в систему, они получают токен, который должен быть отправлен с последующими запросами на доступ к авторизованным маршрутам.
Пользовательская информация хранится в MongoDB, гибкой базе данных NOSQL. Пользовательские данные надежно хранятся и извлекаются по мере необходимости для взаимодействия с пользователем.
Я использовал Multer, промежуточное программное обеспечение для обработки загрузки файлов, позволяя пользователям загружать такие файлы, как изображения или документы. Эта функция улучшает пользовательский опыт, поддерживая мультимедийный контент.
Frontend разработан с удобным интерфейсом с использованием Tailwind CSS и Framework Shadcn. Он предлагает отзывчивый и визуально привлекательный опыт для пользователей.
Бэкэнд предоставляет различные конечные точки API для управления пользовательскими данными, аутентификацией и загрузки файлов. Эти конечные точки задокументированы в коде, и вы можете найти более подробную информацию в кодовой базе бэкэнда.