-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.py
More file actions
67 lines (53 loc) · 1.92 KB
/
app.py
File metadata and controls
67 lines (53 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import os
from flask import Flask, render_template, request, jsonify
from flask_cors import CORS
from rag_pipeline import respond_with_sources, document_store
app = Flask(__name__)
CORS(app)
GUEST_IMAGES = {
1: {"name": "Kaan Bıçakçı", "image": "kaan_bicakci.jpg"},
2: {"name": "Bilge Yücel", "image": "bilge_yucel.jpg"},
3: {"name": "Alara Dirik", "image": "alara_dirik.jpg"},
4: {"name": "Olgun Aydın", "image": "olgun_aydin.jpg"},
5: {"name": "Eren Akbaba", "image": "eren_akbaba.jpg"},
6: {"name": "Taner Sekmen", "image": "taner_sekmen.jpg"},
7: {"name": "Murat Şahin", "image": "murat_sahin.jpg"},
8: {"name": "Göker Güner", "image": "goker_guner.jpg"},
}
@app.route("/")
def index():
return render_template("index.html")
@app.route("/api/chat", methods=["POST"])
def chat():
data = request.json
query = data.get("query", "")
if not query.strip():
return jsonify({"error": "Empty query"}), 400
response, sources = respond_with_sources(query, top_k=5)
sources_with_images = []
for src in sources:
ep = src["episode"]
guest_info = GUEST_IMAGES.get(ep, {"name": src["guest"], "image": "default.jpg"})
sources_with_images.append({
"episode": ep,
"guest": src["guest"],
"image": guest_info["image"],
"score": src["score"]
})
return jsonify({
"response": response,
"sources": sources_with_images
})
@app.route("/api/status")
def status():
doc_count = document_store.count_documents()
return jsonify({
"status": "ok",
"documents": doc_count,
"guests": list(GUEST_IMAGES.values())
})
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
print(f"Documents loaded: {document_store.count_documents()}")
print(f"Starting server on port {port}")
app.run(host="0.0.0.0", port=port, debug=False)