Technisch ontwerp vergunningzoeker met Druppie SDK
This commit is contained in:
parent
7ccfa36b15
commit
c220626acc
|
|
@ -0,0 +1,63 @@
|
|||
# Technisch Ontwerp: Vergunningzoeker
|
||||
|
||||
## Stack
|
||||
- Backend: Python Flask (project template)
|
||||
- Frontend: React met Vite
|
||||
- Database: PostgreSQL
|
||||
- AI: Druppie platform modules via SDK
|
||||
|
||||
## Druppie Modules
|
||||
De app gebruikt de Druppie SDK (`druppie_sdk`) om platformmodules aan te roepen.
|
||||
Geen directe API-keys of externe provider-calls in de app.
|
||||
|
||||
| Module | Tool | Gebruik |
|
||||
|--------|------|---------|
|
||||
| vision | ocr | Tekst extraheren uit gescande vergunningdocumenten (PDF/afbeelding) |
|
||||
| llm | chat | Classificatie van vergunningtype op basis van geëxtraheerde tekst |
|
||||
|
||||
Gebruik:
|
||||
```python
|
||||
from druppie_sdk import DruppieClient
|
||||
druppie = DruppieClient()
|
||||
|
||||
# OCR op geüpload document
|
||||
ocr_result = druppie.call("vision", "ocr", {"image_source": image_url})
|
||||
extracted_text = ocr_result["text"]
|
||||
|
||||
# Classificatie van vergunningtype
|
||||
classify_result = druppie.call("llm", "chat", {
|
||||
"prompt": f"Classificeer dit vergunningdocument...\n\n{extracted_text}",
|
||||
"system": "Je bent een specialist in watervergunningen."
|
||||
})
|
||||
```
|
||||
|
||||
## Componenten
|
||||
- UploadHandler: verwerkt document uploads, slaat op in DB
|
||||
- OCRProcessor: roept druppie vision/ocr aan voor tekstextractie
|
||||
- Classifier: roept druppie llm/chat aan voor classificatie
|
||||
- PermitStore: PostgreSQL repository voor vergunningmetadata
|
||||
- SearchHandler: zoekt in opgeslagen metadata
|
||||
|
||||
## Datamodel
|
||||
```
|
||||
Permit:
|
||||
id: UUID (PK)
|
||||
permit_number: String
|
||||
applicant_name: String
|
||||
permit_type: String (geclassificeerd door LLM)
|
||||
extracted_text: Text (OCR output)
|
||||
source_file: String (bestandsnaam)
|
||||
upload_date: DateTime
|
||||
created_at: DateTime
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
- POST /api/permits/upload — upload document, start OCR + classificatie
|
||||
- GET /api/permits — lijst van alle vergunningen met metadata
|
||||
- GET /api/permits/:id — details van een vergunning
|
||||
- GET /api/permits/search?q=term — zoek in metadata
|
||||
|
||||
## Belangrijk
|
||||
- GEEN hardcoded API keys in de app
|
||||
- GEEN openai package — gebruik druppie_sdk
|
||||
- DRUPPIE_URL wordt automatisch geïnjecteerd bij deploy
|
||||
Loading…
Reference in New Issue