mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-10-05 16:26:57 +08:00
Update model list
This commit is contained in:
@@ -4,6 +4,7 @@ import json
|
|||||||
import flask
|
import flask
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
import base64
|
||||||
import logging
|
import logging
|
||||||
import asyncio
|
import asyncio
|
||||||
import shutil
|
import shutil
|
||||||
@@ -107,6 +108,12 @@ class Backend_Api(Api):
|
|||||||
|
|
||||||
@app.route('/backend-api/v2/public-key', methods=['GET'])
|
@app.route('/backend-api/v2/public-key', methods=['GET'])
|
||||||
def get_public_key():
|
def get_public_key():
|
||||||
|
if not has_crypto:
|
||||||
|
return jsonify({"error": {"message": "Crypto support is not available"}}), 501
|
||||||
|
if time.time() - int(base64.b64decode(request.cookies.get("fingerprint", "MA==")).decode()) > 60:
|
||||||
|
# If the fingerprint is older than 60 seconds, generate a new one
|
||||||
|
resp = jsonify({"error": {"message": "Please refresh the page"}})
|
||||||
|
return resp
|
||||||
# Send the public key to the client for encryption
|
# Send the public key to the client for encryption
|
||||||
return jsonify({
|
return jsonify({
|
||||||
"public_key": public_key_pem.decode(),
|
"public_key": public_key_pem.decode(),
|
||||||
@@ -270,10 +277,6 @@ class Backend_Api(Api):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.routes = {
|
self.routes = {
|
||||||
'/backend-api/v2/version': {
|
|
||||||
'function': self.get_version,
|
|
||||||
'methods': ['GET']
|
|
||||||
},
|
|
||||||
'/backend-api/v2/synthesize/<provider>': {
|
'/backend-api/v2/synthesize/<provider>': {
|
||||||
'function': self.handle_synthesize,
|
'function': self.handle_synthesize,
|
||||||
'methods': ['GET']
|
'methods': ['GET']
|
||||||
@@ -292,6 +295,12 @@ class Backend_Api(Api):
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@app.route('/backend-api/v2/version', methods=['GET'])
|
||||||
|
def version():
|
||||||
|
resp = jsonify(self.get_version())
|
||||||
|
resp.set_cookie('fingerprint', base64.b64encode(str(int(time.time())).encode()).decode(), max_age=60, httponly=True, secure=True)
|
||||||
|
return resp
|
||||||
|
|
||||||
@app.route('/backend-api/v2/create', methods=['GET'])
|
@app.route('/backend-api/v2/create', methods=['GET'])
|
||||||
def create():
|
def create():
|
||||||
try:
|
try:
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -13,13 +13,14 @@ from ..Provider import Copilot, Cloudflare, Gemini, GeminiPro, Grok, DeepSeekAPI
|
|||||||
from ..Provider import Microsoft_Phi_4_Multimodal, DeepInfraChat, Blackbox, OIVSCodeSer0501, OIVSCodeSer2, TeachAnything, OperaAria, Startnest
|
from ..Provider import Microsoft_Phi_4_Multimodal, DeepInfraChat, Blackbox, OIVSCodeSer0501, OIVSCodeSer2, TeachAnything, OperaAria, Startnest
|
||||||
from ..Provider import WeWordle, Yqcloud, Chatai, ImageLabs, LegacyLMArena, LMArenaBeta, Free2GPT
|
from ..Provider import WeWordle, Yqcloud, Chatai, ImageLabs, LegacyLMArena, LMArenaBeta, Free2GPT
|
||||||
from ..Provider import EdgeTTS, gTTS, MarkItDown, OpenAIFM
|
from ..Provider import EdgeTTS, gTTS, MarkItDown, OpenAIFM
|
||||||
from ..Provider import HarProvider, HuggingFace, HuggingFaceMedia, Azure
|
from ..Provider import HarProvider, HuggingFace, HuggingFaceMedia, Azure, Qwen, EasyChat, GLM
|
||||||
from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
|
from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
|
||||||
from .. import Provider
|
from .. import Provider
|
||||||
from .. import models
|
from .. import models
|
||||||
from .. import debug
|
from .. import debug
|
||||||
from .any_model_map import audio_models, image_models, vision_models, video_models, model_map, models_count, parents, model_aliases
|
from .any_model_map import audio_models, image_models, vision_models, video_models, model_map, models_count, parents, model_aliases
|
||||||
|
|
||||||
|
# Add all model aliases to the model map
|
||||||
PROVIERS_LIST_1 = [
|
PROVIERS_LIST_1 = [
|
||||||
CopilotAccount, OpenaiChat, Cloudflare, PerplexityLabs, Gemini, Grok, DeepSeekAPI, Blackbox, OpenAIFM,
|
CopilotAccount, OpenaiChat, Cloudflare, PerplexityLabs, Gemini, Grok, DeepSeekAPI, Blackbox, OpenAIFM,
|
||||||
OIVSCodeSer2, OIVSCodeSer0501, TeachAnything, WeWordle, Yqcloud, Chatai, Free2GPT, ImageLabs,
|
OIVSCodeSer2, OIVSCodeSer0501, TeachAnything, WeWordle, Yqcloud, Chatai, Free2GPT, ImageLabs,
|
||||||
@@ -28,10 +29,12 @@ PROVIERS_LIST_1 = [
|
|||||||
HuggingSpace, HuggingFace, HuggingFaceMedia, GeminiPro, PuterJS, OperaAria, Startnest
|
HuggingSpace, HuggingFace, HuggingFaceMedia, GeminiPro, PuterJS, OperaAria, Startnest
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Add all existing models to the model map
|
||||||
PROVIERS_LIST_2 = [
|
PROVIERS_LIST_2 = [
|
||||||
OpenaiChat, Copilot, CopilotAccount, PollinationsAI, PerplexityLabs, Gemini, Grok, Azure
|
OpenaiChat, Copilot, CopilotAccount, PollinationsAI, PerplexityLabs, Gemini, Grok, Azure, Qwen, EasyChat, GLM
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Add all models to the model map
|
||||||
PROVIERS_LIST_3 = [
|
PROVIERS_LIST_3 = [
|
||||||
HarProvider, LambdaChat, DeepInfraChat, HuggingFace, HuggingFaceMedia, LegacyLMArena, LMArenaBeta,
|
HarProvider, LambdaChat, DeepInfraChat, HuggingFace, HuggingFaceMedia, LegacyLMArena, LMArenaBeta,
|
||||||
PuterJS, Cloudflare, HuggingSpace
|
PuterJS, Cloudflare, HuggingSpace
|
||||||
|
Reference in New Issue
Block a user