- Marcin Konwiak
- Michał Konwiak
Aplikacja Knowledge Base to system do zarządzania wiedzą organizacyjną z wykorzystaniem sztucznej inteligencji. Głównym celem projektu było stworzenie narzędzia umożliwiającego pracownikom szybkie wyszukiwanie informacji z dokumentów poprzez chatbot AI.
- Logowanie przez Azure - Bezpieczna autentykacja firmowa
- Zarządzanie dokumentami - Możliwość dodawania i przechowywania plików
- Chatbot AI - Odpowiadanie na pytania na podstawie dokumentów
- Rozpoznawanie mowy - Zadawanie pytań głosowych
Projekt składa się z dwóch głównych części:
- Technologia: React z TypeScript
- Funkcje: Logowanie (Microsoft Entra), chat z AI, zarządzanie dokumentami
- Technologia: Python z FastAPI
- Baza danych: PostgreSQL (PgVector)
- Embeddings: Google Gemini do przygotowania wektorów dokumentów
- AI: Google Gemini do przetwarzania tekstu i odpowiedzi
- Funkcje: Autentykacja, przetwarzanie dokumentów, API dla chatbota, rozpoznawanie mowy
- Użytkownik loguje się przez Azure
- Dodaje dokumenty do systemu
- System przetwarza dokumenty i przygotowuje je do wyszukiwania
- Użytkownik zadaje pytania przez chat lub głosowo
- AI znajduje odpowiednie informacje w dokumentach i udziela odpowiedzi
- Frontend: React, TypeScript, Tailwind CSS, Shadcn UI
- Backend: Python, FastAPI, PostgreSQL, PgVector
- AI: Google Gemini
- Autentykacja: Microsoft Entra
- Rozpoznawanie mowy: Azure Speech Services
Tabele w bazie danych:
Users (usr) Documents
├── id ├── id
├── azure_id (UUID) ├── title
├── email ├── content
├── name ├── created_by_id (FK)
├── created_at └──vector
└── updated_at
- uv
- pnpm
- docker
Przed uruchomieniem należy utworzyć pliki .env na podstawie .env.example.
Uruchomienie backendu:
cd server
uv run run.pyUruchomienie frontendu:
cd client
pnpm install
pnpm devcd server
docker compose up -d
