HIVE / app.py.test
AEUPH's picture
Rename app.py to app.py.test
24f949b verified
Raw History Blame Contribute Delete
2.25 kB
from flask import Flask, request, jsonify
import requests
import json
import os
import re
app = Flask(__name__)
def filter_non_alphanumeric(text):
alphanumeric_text = re.sub(r'[^a-zA-Z0-9\s]', '', text)
return alphanumeric_text
def send_to_corrade(filtered_response):
CORRADE_URL = "http://216.168.124.120:8080"
GROUP_UUID = "e269893f-a570-0087-930e-6ba2a0b77f9c"
PASSWORD = "nucleus"
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 process_input_text(input_text):
url = "https://chat.tune.app/api/chat/completions"
headers = {
"Authorization": os.environ.get('api'),
"Content-Type": "application/json"
}
data = {
"temperature": 0.5,
"messages": [
{"role": "system", "content": "You are TuneChat"},
{"role": "user", "content": input_text}
],
"model": "goliath-120b-16k-gptq",
"stream": True,
"max_tokens": 1000
}
response = requests.post(url, headers=headers, json=data, stream=True)
full_content = ""
for line in response.iter_lines(decode_unicode=True):
if line:
if line == 'data: [DONE]':
break
line_content = json.loads(line[6:])
if 'choices' in line_content and len(line_content['choices']) > 0:
delta_content = line_content['choices'][0].get('delta', {}).get('content', '')
full_content += delta_content
return filter_non_alphanumeric(full_content)
@app.route('/chat', methods=['POST'])
def chat():
data = request.json
if not data or 'text' not in data:
return jsonify({'error': 'Missing text'}), 400
input_text = data['text']
filtered_response = process_input_text(input_text)
if send_to_corrade(filtered_response):
return jsonify({'response': filtered_response}), 200
else:
return jsonify({'error': 'Failed to send response to Corrade'}), 500
if __name__ == '__main__':
app.run(port=5000, debug=True)