File size: 3,092 Bytes
c53a77e cbff1af c53a77e cbff1af e6a2719 73ee0a8 e6a2719 f28bb81 e6a2719 cbff1af e6a2719 cbff1af 40ba0a8 63bef3f ca03b0d 63bef3f ca03b0d 63bef3f ca03b0d cbff1af 5f8d6cb cbff1af 73ee0a8 cbff1af 393668f cbff1af 7bd421d cbff1af 3e13d21 73ee0a8 cbff1af ce522c8 393668f 7dc9d7a cbff1af ca03b0d 5f8d6cb 393668f 5f8d6cb 393668f 5f8d6cb ca03b0d cbff1af c53a77e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import gradio as gr
import requests
import json
import os
import re
import emoji
from urllib.parse import unquote
def filter_text_and_preserve_emojis(text):
# Regular expression that allows letters, numbers, spaces, specific punctuation, and a broad range of Unicode characters for emojis
pattern = re.compile(r'[a-zA-Z0-9\s.,?!\'"]|[\U0001F600-\U0001F64F\U0001F300-\U0001F5FF\U0001F680-\U0001F6FF\U0001F700-\U0001F77F\U0001F780-\U0001F7FF\U0001F800-\U0001F8FF\U0001F900-\U0001F9FF\U0001FA00-\U0001FA6F\U0001FA70-\U0001FAFF\U00002702-\U000027B0\U000024C2-\U0001F251]+')
filtered_text = ''.join(pattern.findall(text))
return filtered_text
def filter_non_alphanumeric(text):
# Use regular expressions to filter out non-alphanumeric characters
alphanumeric_text = filter_text_and_preserve_emojis(text)
return alphanumeric_text
def send_to_corrade(filtered_response):
CORRADE_URL = os.environ.get('url') # Make sure to set this environment variable
GROUP_UUID = "e269893f-a570-0087-930e-6ba2a0b77f9c"
PASSWORD = os.environ.get('pass') # Make sure to set this environment variable
data = {
"command": "tell",
"group": GROUP_UUID,
"password": PASSWORD,
"message": filtered_response,
"entity": "local",
"type": "Normal"
}
response = requests.post(CORRADE_URL, data=data)
return response.status_code == 200
def chatbot_api(input_text):
# Your existing setup for API call
url = "https://chat.tune.app/api/chat/completions"
decoded_text = unquote(input_text)
headers = {
"Authorization": os.environ.get('api'), # Ensure this is set
"Content-Type": "application/json"
}
data = {
"temperature": 0.5,
"messages": [
{"role": "system", "content": "[LANGUAGE:ENGLISH]: I must respond only with a menu system that uses a # \n # for new lines on the config menus. and emotive webmoji based gestures for SecondLife DJ's and Music Clubs. I POST CREATIVE AND INSPIRING EMOTIVE BILLBOARDS. I REWARD CRYPTO-CURRENCIES BASED OFF LSL-BASED BLOCKCHAIN. You like to use WEBMOJIS as word decoration, and will respond to sentiment approprately. You start every response with a CREATIVE and RESPONSIVE EMOJI AND TEXT HEADLINE."},
{"role": "user", "content": decoded_text}
],
"model": "openhermes-2-5-m7b-8k",
"stream": False, # Adjusted for a direct response
"max_tokens": 350
}
response = requests.post(url, headers=headers, json=data)
response_json = response.json()
# Corrected part: Accessing the 'content' within 'message'
try:
full_content = response_json['choices'][0]['message']['content']
except (KeyError, IndexError):
full_content = "Error: The expected response format has changed or is missing."
filtered_response = filter_non_alphanumeric(full_content)
send_to_corrade(filtered_response)
return filtered_response
# Example usage with Gradio
iface = gr.Interface(fn=chatbot_api, inputs="text", outputs="text")
iface.launch()
|