Spaces:
Running
Running
| from flask import Flask, jsonify, render_template, request, send_file | |
| from slack_sdk import WebClient | |
| from slack_sdk.errors import SlackApiError | |
| import os | |
| from slack_bolt import App | |
| import flask | |
| import requests | |
| import json | |
| app = flask.Flask(__name__, template_folder="static") | |
| #API_URL = "http://34.122.217.42/complete_batch" | |
| API_URL = "https://api-inference.huggingface.co/models/Salesforce/codegen-16B-multi" | |
| API_TOKEN = os.environ["API_TOKEN"] | |
| headers = {"Authorization": f"Bearer {API_TOKEN}"} | |
| def text_generate(prompt): | |
| #Prints to debug the code | |
| print(f"*****Inside text_generate - Prompt is :{prompt}") | |
| data ={"inputs":prompt, | |
| "max_length":1024, | |
| "top_p": 0.9, | |
| "temp": 0.75} | |
| try: | |
| response = requests.post(API_URL, headers=headers, json=data) | |
| print(response.json()) | |
| if response.status_code == 200: | |
| data_str=response.json() | |
| print(data_str) | |
| responsecodeblock=data_str[0]['generated_text'] | |
| print(responsecodeblock) | |
| slack_msg="Supplied Prompt was :"+data["inputs"]+"\n\n" | |
| slack_msg = slack_msg+"Response received was : \n\n" | |
| ''' | |
| for i in range(4): | |
| slack_msg = slack_msg+data_str["completions"][i]["completion"]+"\n\n" | |
| slack_msg = slack_msg+data_str["completions"][i]["log_prob"]+"\n\n" | |
| ''' | |
| slack_msg=slack_msg+responsecodeblock | |
| else: | |
| slack_msg="Failed to send JSON message to URL" | |
| except requests.exceptions.Timeout: | |
| slack_msg="Failed to send JSON message to URL due to timeout error" | |
| pass | |
| return slack_msg | |
| def index(): | |
| return 'Hello' | |
| def handle_event(): | |
| # Handle the event here | |
| event=request.json['type'] | |
| print("Event Is:"+event) | |
| if event=='url_verification': | |
| # Respond to the challenge request with a 200 OK HTTP status code | |
| # and the value of the challenge parameter in the response body | |
| challenge = request.json['challenge'] | |
| return ( | |
| challenge | |
| ) | |
| if event=='event_callback': | |
| API_KEY=os.environ.get('SLACK_APP_TOKEN') | |
| SLACK_CHANNEL=os.environ.get('SLACK_APP_CHANNEL') | |
| # Set up the Slack client | |
| YOUR_BOT_TOKEN=API_KEY | |
| client = WebClient(token=YOUR_BOT_TOKEN) | |
| channel= SLACK_CHANNEL | |
| conversation = request.json['event'] ['text'] | |
| print(conversation) | |
| response=text_generate(conversation[15:]) | |
| # Post the response back to the Slack channel | |
| try: | |
| client.chat_postMessage( | |
| channel=channel, | |
| text=response | |
| ) | |
| except SlackApiError as e: | |
| print("Error") | |
| return response | |
| if __name__ == "__main__": | |
| app.run(host="0.0.0.0", port=7860) |