返回提交历史
Modified
g4f/gui/server/backend.py
+29
-8
XFEstudio/gpt4free
add proxy support
6fd2fa97
代码差异
1 个文件
+29
-8
@@ -1,4 +1,5 @@
1
1
import g4f
2
import json
2
3
3
4
from flask import request
4
5
from .internet import search
@@ -43,6 +44,15 @@ class Backend_Api:
43
44
}
44
45
45
46
def _conversation(self):
47
config = None
48
proxy = None
49
try:
50
config = json.load(open("config.json","r",encoding="utf-8"))
51
proxy = config["proxy"]
52
53
except Exception:
54
pass
55
46
56
try:
47
57
jailbreak = request.json['jailbreak']
48
58
internet_access = request.json['meta']['content']['internet_access']
@@ -54,14 +64,25 @@ class Backend_Api:
54
64
messages = special_instructions[jailbreak] + conversation + search(internet_access, prompt) + [prompt]
55
65
56
66
def stream():
57
yield from g4f.ChatCompletion.create(
58
model=model,
59
provider=get_provider(provider),
60
messages=messages,
61
stream=True,
62
) if provider else g4f.ChatCompletion.create(
63
model=model, messages=messages, stream=True
64
)
67
if proxy != None:
68
yield from g4f.ChatCompletion.create(
69
model=model,
70
provider=get_provider(provider),
71
messages=messages,
72
stream=True,
73
proxy=proxy
74
) if provider else g4f.ChatCompletion.create(
75
model=model, messages=messages, stream=True, proxy=proxy
76
)
77
else:
78
yield from g4f.ChatCompletion.create(
79
model=model,
80
provider=get_provider(provider),
81
messages=messages,
82
stream=True,
83
) if provider else g4f.ChatCompletion.create(
84
model=model, messages=messages, stream=True
85
)
65
86
66
87
return self.app.response_class(stream(), mimetype='text/event-stream')
67
88