File size: 1,133 Bytes
14cd2f6
5f777da
 
14cd2f6
5f777da
14cd2f6
 
5f777da
 
14cd2f6
5f777da
 
14cd2f6
5f777da
 
 
08606b0
5f777da
 
 
 
5bf1b3e
5f777da
5bf1b3e
5f777da
 
14cd2f6
5f777da
 
14cd2f6
5f777da
 
14cd2f6
5f777da
 
 
 
 
14cd2f6
5f777da
 
14cd2f6
5f777da
745d3f1
5f777da
109eac8
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
import os
from g4f.client import Client
from flask import Flask, jsonify, request
from dotenv import load_dotenv
from flask_cors import CORS

load_dotenv()
app = Flask(__name__)
client = Client()

port = 7860
CORS(app)

@app.route('/', methods=['GET'])
def getMain():
    return 'g4f-proxy is running'

@app.route('/', methods=['POST'])
def postG4F():
    if not request.is_json:
        return jsonify({"error": "Request must be JSON"}), 400

    data = request.get_json()

    # Required attributes
    required_fields = ["system", "user"]

    # Check for missing fields
    missing_fields = [field for field in required_fields if field not in data]

    if missing_fields:
        return jsonify({"error": f"Missing fields: {', '.join(missing_fields)}"}), 400

    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": data['system']},
            {"role": "user", "content": data['user']}
        ],
        web_search=False
    )
    
    return response.choices[0].message.content

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=7860)