GitHub Actions commited on
Commit ·
280001e
1
Parent(s): 9f67dd7
Deploy from GitHub (d1eab9b)
Browse files- .gitattributes +1 -1
- pyproject.toml +1 -1
- rag/feedback.py +17 -13
- static/index.html +1 -1
- uv.lock +1 -1
.gitattributes
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
|
|
| 1 |
data/*.json filter=lfs diff=lfs merge=lfs -text
|
| 2 |
data/*.db filter=lfs diff=lfs merge=lfs -text
|
| 3 |
-
data/*.faiss filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 1 |
+
data/*.faiss filter=lfs diff=lfs merge=lfs -text
|
| 2 |
data/*.json filter=lfs diff=lfs merge=lfs -text
|
| 3 |
data/*.db filter=lfs diff=lfs merge=lfs -text
|
|
|
pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
[project]
|
| 2 |
name = "rag-bible"
|
| 3 |
-
version = "1.2.
|
| 4 |
description = "French Bible RAG system with FAISS + cross-encoder reranking"
|
| 5 |
requires-python = ">=3.12"
|
| 6 |
dependencies = [
|
|
|
|
| 1 |
[project]
|
| 2 |
name = "rag-bible"
|
| 3 |
+
version = "1.2.5"
|
| 4 |
description = "French Bible RAG system with FAISS + cross-encoder reranking"
|
| 5 |
requires-python = ">=3.12"
|
| 6 |
dependencies = [
|
rag/feedback.py
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
import json
|
| 4 |
import logging
|
| 5 |
import threading
|
|
|
|
| 6 |
from datetime import UTC, datetime
|
| 7 |
from pathlib import Path
|
| 8 |
|
|
@@ -11,7 +12,8 @@ logger = logging.getLogger(__name__)
|
|
| 11 |
_lock = threading.Lock()
|
| 12 |
_scheduler: threading.Timer | None = None
|
| 13 |
_count = 0
|
| 14 |
-
|
|
|
|
| 15 |
|
| 16 |
|
| 17 |
def record_feedback(
|
|
@@ -63,22 +65,24 @@ def record_feedback(
|
|
| 63 |
if _seen.get(dedup_key) == feedback:
|
| 64 |
return
|
| 65 |
_seen[dedup_key] = feedback
|
|
|
|
|
|
|
|
|
|
| 66 |
elif feedback.startswith("cancel_"):
|
| 67 |
_seen.pop(dedup_key, None)
|
| 68 |
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
|
| 81 |
-
with _lock:
|
| 82 |
buffer_path.parent.mkdir(parents=True, exist_ok=True)
|
| 83 |
with open(buffer_path, "a", encoding="utf-8") as f:
|
| 84 |
f.write(json.dumps(record, ensure_ascii=False) + "\n")
|
|
|
|
| 3 |
import json
|
| 4 |
import logging
|
| 5 |
import threading
|
| 6 |
+
from collections import OrderedDict
|
| 7 |
from datetime import UTC, datetime
|
| 8 |
from pathlib import Path
|
| 9 |
|
|
|
|
| 12 |
_lock = threading.Lock()
|
| 13 |
_scheduler: threading.Timer | None = None
|
| 14 |
_count = 0
|
| 15 |
+
_SEEN_MAX_SIZE = 10_000
|
| 16 |
+
_seen: OrderedDict[tuple[str, ...], str] = OrderedDict()
|
| 17 |
|
| 18 |
|
| 19 |
def record_feedback(
|
|
|
|
| 65 |
if _seen.get(dedup_key) == feedback:
|
| 66 |
return
|
| 67 |
_seen[dedup_key] = feedback
|
| 68 |
+
_seen.move_to_end(dedup_key)
|
| 69 |
+
if len(_seen) > _SEEN_MAX_SIZE:
|
| 70 |
+
_seen.popitem(last=False)
|
| 71 |
elif feedback.startswith("cancel_"):
|
| 72 |
_seen.pop(dedup_key, None)
|
| 73 |
|
| 74 |
+
record = {
|
| 75 |
+
"query": query,
|
| 76 |
+
"book_title": book_title,
|
| 77 |
+
"chapter": chapter,
|
| 78 |
+
"verse": verse,
|
| 79 |
+
"score": score,
|
| 80 |
+
"feedback": feedback,
|
| 81 |
+
"source": source,
|
| 82 |
+
"session_id": session_id,
|
| 83 |
+
"timestamp": datetime.now(UTC).isoformat(),
|
| 84 |
+
}
|
| 85 |
|
|
|
|
| 86 |
buffer_path.parent.mkdir(parents=True, exist_ok=True)
|
| 87 |
with open(buffer_path, "a", encoding="utf-8") as f:
|
| 88 |
f.write(json.dumps(record, ensure_ascii=False) + "\n")
|
static/index.html
CHANGED
|
@@ -65,7 +65,7 @@
|
|
| 65 |
<h2 class="sidebar-title">Historique</h2>
|
| 66 |
<div class="history-list"></div>
|
| 67 |
<p class="history-empty">Vos recherches apparaîtront ici</p>
|
| 68 |
-
<p class="sidebar-version">v1.2.
|
| 69 |
</aside>
|
| 70 |
|
| 71 |
<div class="hero-section">
|
|
|
|
| 65 |
<h2 class="sidebar-title">Historique</h2>
|
| 66 |
<div class="history-list"></div>
|
| 67 |
<p class="history-empty">Vos recherches apparaîtront ici</p>
|
| 68 |
+
<p class="sidebar-version">v1.2.5</p>
|
| 69 |
</aside>
|
| 70 |
|
| 71 |
<div class="hero-section">
|
uv.lock
CHANGED
|
@@ -1168,7 +1168,7 @@ wheels = [
|
|
| 1168 |
|
| 1169 |
[[package]]
|
| 1170 |
name = "rag-bible"
|
| 1171 |
-
version = "1.2.
|
| 1172 |
source = { virtual = "." }
|
| 1173 |
dependencies = [
|
| 1174 |
{ name = "faiss-cpu" },
|
|
|
|
| 1168 |
|
| 1169 |
[[package]]
|
| 1170 |
name = "rag-bible"
|
| 1171 |
+
version = "1.2.5"
|
| 1172 |
source = { virtual = "." }
|
| 1173 |
dependencies = [
|
| 1174 |
{ name = "faiss-cpu" },
|