moved to server
Update readme.md Signed-off-by: rasmus <rsbendtsen@gmail.com> Update readme.md Update Dockerfile Update Dockerfile
This commit is contained in:
58
readme.md
Normal file
58
readme.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# [madplaner.rasmusbendtsen.dk](https://madplaner.rasmusbendtsen.dk)
|
||||
## Introkduktion
|
||||
Min kæreste og jeg var trætte af altid at spise spagetti kødsovs eller boller i karry.
|
||||
|
||||
Vi forsøgte os med forskellige måltidskasserne, men sad hurtigt tilbage med en følelse af, at det aldrig rigtig var pengene værd. Især fordi vi primært anvendte som at måde at slippe for, altid at skulle tænke over "hvad skal spise de næste par og hvilke vare skal vi købe". Selve det at handle ind og madlavningen, er ikke et problem. Det handlede mest om planlægningen. Hvis det er eneste formål, så er måltidskasser en dyr løsning.
|
||||
|
||||
Jeg anvendte ChatGPT til hurtigt at generer en indkøbsliste til fire retter. Det fungeret overraskende godt. Min kæreste sagde så, "Skal jeg så printe det ud, inden jeg går ud og handler"
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
Derfor lavet jeg denne løsning i stedet.
|
||||
|
||||
Den fungere ved at brugeren udfylder nogle inputfelter, som flettes ind i systempromten til en LLM. Svaret fra sprogmodellen sættes så pænt og let tilgængeligt op.
|
||||
|
||||
## Start din egen instans
|
||||
|
||||
```bash
|
||||
mkdir madplaner; \
|
||||
cd madplaner; \
|
||||
mkdir instance; \
|
||||
wget https://git.rasmusbendtsen.dk/rasmus/madplaner/raw/branch/main/compose.yml; \
|
||||
#Opret .env fil eller rediger direkte i compose fil og derefter
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Docker compose
|
||||
```yaml
|
||||
services:
|
||||
web:
|
||||
image: git.rasmusbendtsen.dk/rasmus/madplaner:latest
|
||||
container_name: madplaner
|
||||
restart: always
|
||||
ports:
|
||||
- "${HOST_PORT:-80}:5000"
|
||||
volumes:
|
||||
# sqlite DB lives here
|
||||
- ./instance:/app/instance
|
||||
environment:
|
||||
- FLASK_ENV=production
|
||||
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
||||
- OPENROUTER_MODEL= ${OPENROUTER_MODEL}
|
||||
- SECRET_KEY=${SECRET_KEY}
|
||||
# Anvendes hvis der skal vises link til klidekode på forsiden
|
||||
- SOURCECODE_LINK=${SOURCECODE_LINK}
|
||||
```
|
||||
## Backend
|
||||
Backenden er lavet med Flask og SQlite. Sprogmodellen kaldes gennem Open-Router. Der bør tilføjes server side validering af inputfelterne for at forhindre prompt injection.
|
||||
|
||||
Servicen kører fra en ældre kontor pc i min lejlighed i Valby. Den er gjort tilgængelig gennem en omvendt proxy på den billigeste VPS jeg kunne finde, ved brug af [Pangolin](https://github.com/fosrl/pangolin)
|
||||
## Frontend
|
||||
Frontenden er lavet med tailwindcss. Jeg har forsøgt at begrænse anvendelsen af javascript. Layout og UI er 100% vibecoded.
|
||||
## Tilpasning
|
||||
Ved at redigere i dashboard.html og system_prompt.txt. Kan løsningen justeres til andre formål. Eksempelvis
|
||||
- Lav en træningsplan til mig
|
||||
- Anbefal nogle film og tv-serier
|
||||
- Hvilken X vil være bedst at købe, udfra mine behov
|
||||
Reference in New Issue
Block a user