RAG_SPACE / app.py
NimrodDev's picture
cmc
f56ceca
from flask import Flask, request, jsonify
from rag import get_retriever, get_qa_chain # ✅ import helper functions from rag.py
app = Flask(__name__)
# Initialize global retriever and QA chain once at startup
retriever = get_retriever()
qa_chain = get_qa_chain()
@app.route("/webhook", methods=["POST"])
def webhook():
data = request.get_json()
question = data.get("question")
phone = data.get("phone")
if not question:
return jsonify({"error": "Missing question"}), 400
# Retrieve documents from FAISS/Supabase
retrieved_docs = retriever.get_relevant_documents(question)
if not retrieved_docs:
return jsonify({
"answer": "I couldn’t find relevant info on that yet.",
"docs": 0
})
# Generate an answer using the QA chain
answer = qa_chain.invoke({
"question": question,
"context": retrieved_docs
})
return jsonify({"answer": answer, "docs": len(retrieved_docs)})
@app.route("/", methods=["GET"])
def index():
return jsonify({"status": "running", "message": "Lamaki RAG backend active!"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)