XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/gpt4free

g4f/models.py g4f/Provider/MagickPen.py

43b3c231
kqlio67 <kqlio67@users.noreply.github.com>
提交于

代码差异

2 个文件 +31 -11
Modified g4f/Provider/MagickPen.py +30 -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}")
Modified g4f/models.py +1 -0
@@ -82,6 +82,7 @@ default = Model(
82 82 Bixin123,
83 83 Binjie,
84 84 Free2GPT,
85 MagickPen,
85 86 ])
86 87 )
87 88