Bejoman/LLM_Evaluation_Demo
0
๐ค RAG Chatbot + LLM-as-a-Judge Evaluation
Streamlit chatbot demo yang menggunakan Vertex AI RAG Engine untuk menjawab pertanyaan, kemudian secara otomatis mengevaluasi respons menggunakan LLM-as-a-Judge.
๐ Struktur File
โโโ Dockerfile # Container config untuk HF Spaces
โโโ README.md # File ini (metadata HF Spaces)
โโโ requirements.txt # Python dependencies
โโโ start.sh # Startup script (reconstruct credentials)
โโโ chatbot_demo.py # Streamlit UI
โโโ llm_engine.py # Vertex AI RAG + Judge engine
โโโ rate_limiter.py # Pembatasan chat per hari (IP-based)
โโโ .gitignore # Exclude credential files๐ก๏ธ Keamanan
- Semua kredensial dibaca dari HF Secrets (environment variables)
service-account.jsondi-reconstruct di runtime ke/tmp/(tidak persisted).gitignoremencegah file sensitif ter-commit
๐ฆ Rate Limiting
- Setiap pengguna dibatasi maksimal 15 chat per hari
- Pembatasan berdasarkan IP address (diambil dari header
X-Forwarded-For) - Counter disimpan di
/tmp/rate_limits.jsondan di-reset otomatis setiap hari - Indikator sisa chat ditampilkan di sidebar (hijau โ kuning โ merah)
- Chat input otomatis di-disable ketika limit tercapai
