Spaces:
Runtime error
Runtime error
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-350M-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) |