返回提交历史
Modified
g4f/gui/server/api.py
+13
-0
Modified
g4f/gui/server/backend_api.py
+4
-3
XFEstudio/gpt4free
Add gel all models
196946b7
代码差异
2 个文件
+17
-3
@@ -105,6 +105,19 @@ class Api:
105
105
"login_url": getattr(provider, "login_url", None),
106
106
} for provider in Provider.__providers__ if provider.working and safe_get_models(provider)]
107
107
108
def get_all_models(self) -> dict[str, list]:
109
def safe_get_provider_models(provider: ProviderModelMixin) -> list[str]:
110
try:
111
return list(provider.get_models())
112
except Exception as e:
113
debug.error("{provider.__name__} get_models error:", e)
114
return []
115
return {
116
provider.__name__: safe_get_provider_models(provider)
117
for provider in Provider.__providers__
118
if provider.working and hasattr(provider, "get_models")
119
}
120
108
121
@staticmethod
109
122
def get_version() -> dict:
110
123
current_version = None
@@ -12,6 +12,7 @@ import random
12
12
import datetime
13
13
from hashlib import sha256
14
14
from urllib.parse import quote_plus
15
from functools import lru_cache
15
16
from flask import Flask, Response, redirect, request, jsonify, send_from_directory
16
17
from werkzeug.exceptions import NotFound
17
18
from typing import Generator
@@ -123,9 +124,9 @@ class Backend_Api(Api):
123
124
})
124
125
125
126
@app.route('/backend-api/v2/models', methods=['GET'])
126
def jsonify_models(**kwargs):
127
response = get_demo_models() if app.demo else self.get_models(**kwargs)
128
return jsonify(response)
127
@lru_cache(maxsize=1)
128
def jsonify_models():
129
return jsonify(self.get_all_models())
129
130
130
131
@app.route('/backend-api/v2/models/<provider>', methods=['GET'])
131
132
def jsonify_provider_models(**kwargs):