返回提交历史
Modified
g4f/Provider/MagickPen.py
+30
-11
Modified
g4f/models.py
+1
-0
XFEstudio/gpt4free
g4f/models.py g4f/Provider/MagickPen.py
43b3c231
代码差异
2 个文件
+31
-11
@@ -12,15 +12,19 @@ from .helper import format_prompt
12
12
13
13
class MagickPen(AsyncGeneratorProvider, ProviderModelMixin):
14
14
url = "https://magickpen.com"
15
api_endpoint = "https://api.magickpen.com/chat/free"
15
api_endpoint_free = "https://api.magickpen.com/chat/free"
16
api_endpoint_ask = "https://api.magickpen.com/ask"
16
17
working = True
17
18
supports_gpt_4 = True
18
19
supports_stream = False
19
20
20
default_model = 'gpt-4o-mini'
21
models = ['gpt-4o-mini']
21
default_model = 'free'
22
models = ['free', 'ask']
22
23
23
model_aliases = {}
24
model_aliases = {
25
"gpt-4o-mini": "free",
26
"gpt-4o-mini": "ask",
27
}
24
28
25
29
@classmethod
26
30
def get_model(cls, model: str) -> str:
@@ -102,10 +106,25 @@ class MagickPen(AsyncGeneratorProvider, ProviderModelMixin):
102
106
}
103
107
104
108
async with ClientSession(headers=headers) as session:
105
data = {
106
"history": [{"role": "user", "content": format_prompt(messages)}]
107
}
108
async with session.post(cls.api_endpoint, json=data, proxy=proxy) as response:
109
response.raise_for_status()
110
result = await response.text()
111
yield result
109
if model == 'free':
110
data = {
111
"history": [{"role": "user", "content": format_prompt(messages)}]
112
}
113
async with session.post(cls.api_endpoint_free, json=data, proxy=proxy) as response:
114
response.raise_for_status()
115
result = await response.text()
116
yield result
117
118
elif model == 'ask':
119
data = {
120
"query": format_prompt(messages),
121
"plan": "Pay as you go"
122
}
123
async with session.post(cls.api_endpoint_ask, json=data, proxy=proxy) as response:
124
response.raise_for_status()
125
async for chunk in response.content:
126
if chunk:
127
yield chunk.decode()
128
129
else:
130
raise ValueError(f"Unknown model: {model}")
@@ -82,6 +82,7 @@ default = Model(
82
82
Bixin123,
83
83
Binjie,
84
84
Free2GPT,
85
MagickPen,
85
86
])
86
87
)
87
88