Spaces:
Paused
Paused
| 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 = "/static-proxy?url=https%3A%2F%2Fapi-inference.huggingface.co%2Fmodels%2FSalesforce%2Fcodegen-16B-multi%26quot%3B%3C%2Fspan%3E%3C!----%3E%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr id="L13"> | 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) |