Ronaldodev commited on
Commit
6807c19
·
1 Parent(s): bbeb1f0

convert to flask api

Browse files
Files changed (2) hide show
  1. app.py +26 -14
  2. requirements.txt +2 -0
app.py CHANGED
@@ -1,21 +1,33 @@
1
- import gradio as gr
2
  from gradio_client import Client
3
 
 
 
4
  client = Client("Qwen/Qwen1.5-72B-Chat")
 
 
5
  system_prompt = "Tu es un assistant juridique spécialisé dans le droit du travail au Bénin. Donne des réponses claires, précises et utiles."
6
 
7
- def assistant(question):
8
- response = client.predict(
9
- question,
10
- [], # pas d'historique
11
- system_prompt,
12
- api_name="/model_chat"
13
- )
14
- return response[1][-1][1] # dernière réponse texte
15
 
16
- demo = gr.Interface(fn=assistant,
17
- inputs=gr.Textbox(label="Question"),
18
- outputs=gr.Textbox(label="Réponse"),
19
- allow_flagging="never")
 
 
 
 
 
 
 
20
 
21
- demo.launch()
 
 
1
+ from flask import Flask, request, jsonify
2
  from gradio_client import Client
3
 
4
+ # Initialisation
5
+ app = Flask(__name__)
6
  client = Client("Qwen/Qwen1.5-72B-Chat")
7
+
8
+ # Prompt système
9
  system_prompt = "Tu es un assistant juridique spécialisé dans le droit du travail au Bénin. Donne des réponses claires, précises et utiles."
10
 
11
+ @app.route("/ask", methods=["POST"])
12
+ def ask_question():
13
+ data = request.get_json()
14
+
15
+ if not data or "question" not in data:
16
+ return jsonify({"error": "Champ 'question' manquant"}), 400
17
+
18
+ question = data["question"]
19
 
20
+ try:
21
+ response = client.predict(
22
+ question,
23
+ [], # pas d'historique
24
+ system_prompt,
25
+ api_name="/model_chat"
26
+ )
27
+ reponse_finale = response[1][-1][1]
28
+ return jsonify({"reponse": reponse_finale})
29
+ except Exception as e:
30
+ return jsonify({"error": str(e)}), 500
31
 
32
+ if __name__ == "__main__":
33
+ app.run(host="0.0.0.0", port=7860)
requirements.txt CHANGED
@@ -1,2 +1,4 @@
1
  gradio
2
  gradio_client
 
 
 
1
  gradio
2
  gradio_client
3
+ request
4
+ flask