Skip to content

syskamac85/Insurance_RAG-system

Repository files navigation

AgentPro - Insurance Management System

System zarządzania ubezpieczeniami dla agentów i klientów.

📋 Opis Projektu

AgentPro to kompleksowy system do zarządzania procesem ubezpieczeniowym, który umożliwia:

  • Zarządzanie formularzami ubezpieczeniowymi
  • Tworzenie i śledzenie ofert ubezpieczeniowych
  • Zarządzanie dokumentami (OWU, polisy, załączniki)
  • Przypisywanie dokumentów do użytkowników
  • 🤖 System RAG z Claude Sonnet 4.5 - Inteligentne odpowiadanie na pytania
  • System ról i uprawnień
  • Panel administracyjny
  • API REST

🚀 Technologie

  • Backend: Django 5.1.1
  • API: Django REST Framework 3.15.2
  • Baza danych: PostgreSQL (psycopg2-binary)
  • Uwierzytelnianie: JWT (djangorestframework-simplejwt)
  • Zadania asynchroniczne: Celery 5.4.0
  • Cache/Broker: Redis 5.0.8
  • Pliki: Django Storages (AWS S3 support)
  • Import/Export: django-import-export
  • Audyt: django-auditlog
  • Dokumentacja API: drf-yasg
  • 🤖 RAG System:
    • Claude Sonnet 4.5 (Anthropic)
    • LangChain 0.2.16
    • ChromaDB 0.5.5
    • Sentence Transformers

📦 Instalacja

Wymagania

  • Python 3.12+
  • PostgreSQL
  • Redis
  • Virtual environment

Kroki instalacji

  1. Klonowanie repozytorium
git clone <repository-url>
cd AgentPro
  1. Utworzenie środowiska wirtualnego
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# lub
venv\Scripts\activate  # Windows
  1. Instalacja zależności
pip install -r requirements.txt
  1. Konfiguracja zmiennych środowiskowych
cp .env.template .env
# Edytuj plik .env i ustaw odpowiednie wartości
  1. Migracje bazy danych
python manage.py makemigrations
python manage.py migrate
  1. Utworzenie superużytkownika
python manage.py createsuperuser
  1. Uruchomienie serwera deweloperskiego
python manage.py runserver

🏗️ Struktura Projektu

AgentPro/
├── agentpro/           # Główna konfiguracja projektu
│   ├── settings.py     # Ustawienia Django
│   ├── urls.py         # Główne URLe
│   └── celery.py       # Konfiguracja Celery
├── users/              # Aplikacja użytkowników
│   ├── models.py       # Model User z rolami
│   ├── views.py        # Widoki użytkowników
│   └── serializers.py  # Serializery API
├── forms/              # Aplikacja formularzy i dokumentów
│   ├── models.py       # Modele: InsuranceForm, Document, etc.
│   ├── views.py        # Widoki formularzy
│   ├── admin.py        # Konfiguracja panelu admin
│   └── api_views.py    # Widoki API
├── offers/             # Aplikacja ofert
├── core/               # Wspólne komponenty
├── utils/              # Narzędzia pomocnicze
└── requirements.txt    # Zależności projektu

🔑 Kluczowe Funkcjonalności

1. Zarządzanie Użytkownikami

  • System ról (Admin, Agent, Klient)
  • Uwierzytelnianie JWT
  • Profile użytkowników

2. Formularze Ubezpieczeniowe

  • Tworzenie i edycja formularzy
  • Różne typy ubezpieczeń (życie, zdrowie, auto, dom, podróże, firma)
  • Statusy formularzy (szkic, wysłany, w analizie, zatwierdzony, odrzucony)
  • Przypisywanie do agentów

3. Dokumenty

  • Przechowywanie dokumentów (OWU, polisy, załączniki)
  • Przypisywanie dokumentów do użytkowników
  • Wersjonowanie dokumentów
  • Kontrola dostępu (publiczne/prywatne)
  • Zatwierdzanie dokumentów
  • Przetwarzanie dla systemu RAG

4. System RAG (Retrieval-Augmented Generation) 🤖

  • Claude Sonnet 4.5 - Zaawansowany model AI od Anthropic
  • Inteligentne odpowiadanie na pytania o dokumenty ubezpieczeniowe
  • Wyszukiwanie semantyczne - ChromaDB + Sentence Transformers
  • Interfejs chat - Nowoczesny UI do konwersacji z AI
  • API endpoints - Integracja z zewnętrznymi systemami
  • Asynchroniczne przetwarzanie - Celery tasks
  • Wyświetlanie źródeł - Transparentność odpowiedzi
  • Wskaźnik pewności - Ocena jakości odpowiedzi

5. Oferty Ubezpieczeniowe

  • Generowanie ofert z formularzy
  • Kalkulacja składek
  • Zarządzanie statusami ofert
  • Dokumenty OWU powiązane z ofertami

6. Panel Administracyjny

  • Zarządzanie wszystkimi encjami
  • Import/Export danych
  • Akcje masowe
  • Filtry i wyszukiwanie

📚 Dokumentacja

System RAG z Claude Sonnet 4.5 🤖

Przypisywanie Dokumentów do Użytkowników

Szczegółowa dokumentacja dostępna w pliku: DOCUMENT_ASSIGNMENT_README.md

API Endpoints

  • /api/users/ - Zarządzanie użytkownikami
  • /api/forms/ - Formularze ubezpieczeniowe
  • /api/documents/ - Dokumenty
  • /api/offers/ - Oferty
  • /api/forms/rag/ask/ - RAG: Zadawanie pytań (POST)
  • /api/forms/rag/statistics/ - RAG: Statystyki systemu (GET)
  • /api/docs/ - Dokumentacja Swagger

🔧 Konfiguracja

Zmienne środowiskowe (.env)

# Django
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

# Database
DB_NAME=agentpro
DB_USER=postgres
DB_PASSWORD=your-password
DB_HOST=localhost
DB_PORT=5432

# Redis
REDIS_URL=redis://localhost:6379/0

# AWS S3 (opcjonalnie)
AWS_ACCESS_KEY_ID=your-key
AWS_SECRET_ACCESS_KEY=your-secret
AWS_STORAGE_BUCKET_NAME=your-bucket

# RAG System - Anthropic Claude
ANTHROPIC_API_KEY=your-anthropic-api-key
CLAUDE_MODEL=claude-sonnet-4-20250514
RAG_CHUNK_SIZE=1000
RAG_CHUNK_OVERLAP=200

Celery

Uruchomienie workera Celery:

celery -A agentpro worker -l info

Uruchomienie Celery Beat (zadania cykliczne):

celery -A agentpro beat -l info

🧪 Testowanie

# Uruchomienie testów
python manage.py test

# Z coverage
pytest --cov=. --cov-report=html

📝 Migracje

# Utworzenie nowych migracji
python manage.py makemigrations

# Zastosowanie migracji
python manage.py migrate

# Cofnięcie migracji
python manage.py migrate <app_name> <migration_name>

🔐 Bezpieczeństwo

  • Uwierzytelnianie JWT
  • Kontrola dostępu oparta na rolach
  • Audyt zmian (django-auditlog)
  • Walidacja danych wejściowych
  • CORS headers
  • Bezpieczne przechowywanie haseł (Django's password hashers)

📊 Monitoring i Logi

  • Django Debug Toolbar (tylko w trybie deweloperskim)
  • Logi aplikacji w katalogu logs/
  • Audyt zmian w bazie danych

🚢 Deployment

Produkcja

  1. Ustaw DEBUG=False w .env
  2. Skonfiguruj ALLOWED_HOSTS
  3. Użyj Gunicorn jako serwera WSGI
  4. Skonfiguruj Nginx jako reverse proxy
  5. Użyj PostgreSQL jako bazy danych
  6. Skonfiguruj Redis dla Celery i cache
# Uruchomienie z Gunicorn
gunicorn agentpro.wsgi:application --bind 0.0.0.0:8000

🤝 Współpraca

  1. Fork projektu
  2. Utwórz branch dla nowej funkcjonalności (git checkout -b feature/AmazingFeature)
  3. Commit zmian (git commit -m 'Add some AmazingFeature')
  4. Push do brancha (git push origin feature/AmazingFeature)
  5. Otwórz Pull Request

📜 Licencja

Ten projekt jest własnością prywatną.

👥 Autorzy

  • Zespół AgentPro

📞 Kontakt

W razie pytań lub problemów, skontaktuj się z zespołem deweloperskim.

🔄 Historia Zmian

v1.0.0 (2025-10-15)

  • Inicjalna wersja projektu
  • System zarządzania użytkownikami
  • Formularze ubezpieczeniowe
  • System dokumentów z przypisywaniem do użytkowników
  • Panel administracyjny
  • API REST
  • Integracja z Celery

About

Opis: Kompleksowy system zarządzania ubezpieczeniami dla agentów i klientów. Umożliwia tworzenie i obsługę formularzy ubezpieczeniowych, generowanie ofert, zarządzanie dokumentami, przypisywanie ich do użytkowników oraz integrację z inteligentnym systemem RAG (Claude Sonnet 4.5) do automatycznego odpowiadania na pytania o polisy i OWU.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors