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 os
|
||||
import time
|
||||
import base64
|
||||
import logging
|
||||
import asyncio
|
||||
import shutil
|
||||
@@ -107,6 +108,12 @@ class Backend_Api(Api):
|
||||
|
||||
@app.route('/backend-api/v2/public-key', methods=['GET'])
|
||||
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
|
||||
return jsonify({
|
||||
"public_key": public_key_pem.decode(),
|
||||
@@ -270,10 +277,6 @@ class Backend_Api(Api):
|
||||
)
|
||||
|
||||
self.routes = {
|
||||
'/backend-api/v2/version': {
|
||||
'function': self.get_version,
|
||||
'methods': ['GET']
|
||||
},
|
||||
'/backend-api/v2/synthesize/<provider>': {
|
||||
'function': self.handle_synthesize,
|
||||
'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'])
|
||||
def create():
|
||||
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 WeWordle, Yqcloud, Chatai, ImageLabs, LegacyLMArena, LMArenaBeta, Free2GPT
|
||||
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 .. import Provider
|
||||
from .. import models
|
||||
from .. import debug
|
||||
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 = [
|
||||
CopilotAccount, OpenaiChat, Cloudflare, PerplexityLabs, Gemini, Grok, DeepSeekAPI, Blackbox, OpenAIFM,
|
||||
OIVSCodeSer2, OIVSCodeSer0501, TeachAnything, WeWordle, Yqcloud, Chatai, Free2GPT, ImageLabs,
|
||||
@@ -28,10 +29,12 @@ PROVIERS_LIST_1 = [
|
||||
HuggingSpace, HuggingFace, HuggingFaceMedia, GeminiPro, PuterJS, OperaAria, Startnest
|
||||
]
|
||||
|
||||
# Add all existing models to the model map
|
||||
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 = [
|
||||
HarProvider, LambdaChat, DeepInfraChat, HuggingFace, HuggingFaceMedia, LegacyLMArena, LMArenaBeta,
|
||||
PuterJS, Cloudflare, HuggingSpace
|
||||
|
Reference in New Issue
Block a user