Create app.py
Browse files
    	
        app.py
    ADDED
    
    | @@ -0,0 +1,31 @@ | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | 
|  | |
| 1 | 
            +
            from flask import Flask, request, jsonify
         | 
| 2 | 
            +
            from transformers import pipeline
         | 
| 3 | 
            +
            from langdetect import detect
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            app = Flask(__name__)
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            # load models
         | 
| 8 | 
            +
            hebrew_model = pipeline("text-generation", model="onlplab/alephbertgpt") 
         | 
| 9 | 
            +
            english_model = pipeline("text-generation", model="mistralai/Mistral-7B-Instruct")
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            @app.route("/generate", methods=["POST"])
         | 
| 12 | 
            +
            def generate():
         | 
| 13 | 
            +
                data = request.json
         | 
| 14 | 
            +
                text = data.get("text", "")
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                # detect language 
         | 
| 17 | 
            +
                language = detect(text)
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                if language == 'he':
         | 
| 20 | 
            +
                    model = hebrew_model
         | 
| 21 | 
            +
                elif language == 'en':
         | 
| 22 | 
            +
                    model = english_model
         | 
| 23 | 
            +
                else:
         | 
| 24 | 
            +
                    print("Decision Making Helper BOT currently supports Hebrew and English Languages")
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                # create an answer from the model
         | 
| 27 | 
            +
                response = model(text, max_length=100, do_sample=True)
         | 
| 28 | 
            +
                return jsonify({"response": response[0]['generated_text']})
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            if __name__ == "__main__":
         | 
| 31 | 
            +
                app.run(host="0.0.0.0", port=7860)
         |