from flask import Flask, request, jsonify from chat import generate_response, tokenizer import requests app = Flask(__name__) def get_public_ip(): try: response = requests.get("https://api.ipify.org?format=json") response.raise_for_status() data = response.json() return data["ip"] except requests.exceptions.RequestException as e: print("Error:", e) return None @app.route('/openai/v1/chat/completions', methods=['POST']) def chat_completions(): data = request.get_json() message = data['messages'][0]['content'] history = data.get('history', []) response = generate_response(message, history) public_ip = get_public_ip() return jsonify({ 'id': 'chat_completion_id', 'object': 'chat.completion', 'created': 1234567890, 'model': 'Samanthav3-MIXTRALDOLPHIN-LORA', 'choices': [ { 'index': 0, 'message': { 'role': 'assistant', 'content': response }, 'finish_reason': 'stop' } ], 'usage': { 'prompt_tokens': len(tokenizer.encode(message)), 'completion_tokens': len(tokenizer.encode(response)), 'total_tokens': len(tokenizer.encode(message)) + len(tokenizer.encode(response)) }, 'public_ip': public_ip }) if __name__ == '__main__': app.run(host="0.0.0.0", port=7860)