|
|
from flask import Blueprint, jsonify, request
|
|
|
|
|
|
setting_bp = Blueprint('setting', __name__)
|
|
|
|
|
|
@setting_bp.route('/setting', methods=['GET'])
|
|
|
def get_settings():
|
|
|
"""Get current settings and models"""
|
|
|
from config import API_SETTINGS, DEFAULT_MAIN_MODEL, DEFAULT_SUB_MODEL, MAX_THREAD_NUM, MAX_NOVEL_SUMMARY_LENGTH
|
|
|
|
|
|
|
|
|
models = {provider: config['available_models'] for provider, config in API_SETTINGS.items() if 'available_models' in config}
|
|
|
|
|
|
|
|
|
settings = {
|
|
|
'models': models,
|
|
|
'MAIN_MODEL': DEFAULT_MAIN_MODEL,
|
|
|
'SUB_MODEL': DEFAULT_SUB_MODEL,
|
|
|
'MAX_THREAD_NUM': MAX_THREAD_NUM,
|
|
|
'MAX_NOVEL_SUMMARY_LENGTH': MAX_NOVEL_SUMMARY_LENGTH,
|
|
|
}
|
|
|
return jsonify(settings)
|
|
|
|
|
|
@setting_bp.route('/test_model', methods=['POST'])
|
|
|
def test_model():
|
|
|
"""Test if a model configuration works"""
|
|
|
try:
|
|
|
data = request.get_json()
|
|
|
provider_model = data.get('provider_model')
|
|
|
|
|
|
from backend_utils import get_model_config_from_provider_model
|
|
|
model_config = get_model_config_from_provider_model(provider_model)
|
|
|
|
|
|
from llm_api import test_stream_chat
|
|
|
response = None
|
|
|
for msg in test_stream_chat(model_config):
|
|
|
response = msg
|
|
|
|
|
|
return jsonify({
|
|
|
'success': True,
|
|
|
'response': response
|
|
|
})
|
|
|
except Exception as e:
|
|
|
return jsonify({
|
|
|
'success': False,
|
|
|
'error': str(e)
|
|
|
}), 500
|
|
|
|