| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | # -*- coding:utf-8 -*-import jsonfrom flask import requestfrom flask_restful import Resourcefrom flask_login import login_required, current_userfrom controllers.console import apifrom controllers.console.app import _get_appfrom controllers.console.setup import setup_requiredfrom controllers.console.wraps import account_initialization_requiredfrom events.app_event import app_model_config_was_updatedfrom extensions.ext_database import dbfrom models.model import AppModelConfigfrom services.app_model_config_service import AppModelConfigServiceclass ModelConfigResource(Resource):    @setup_required    @login_required    @account_initialization_required    def post(self, app_id):        """Modify app model config"""        app_id = str(app_id)        app_model = _get_app(app_id)        # validate config        model_configuration = AppModelConfigService.validate_configuration(            account=current_user,            config=request.json,            mode=app_model.mode        )        new_app_model_config = AppModelConfig(            app_id=app_model.id,            provider="",            model_id="",            configs={},            opening_statement=model_configuration['opening_statement'],            suggested_questions=json.dumps(model_configuration['suggested_questions']),            suggested_questions_after_answer=json.dumps(model_configuration['suggested_questions_after_answer']),            more_like_this=json.dumps(model_configuration['more_like_this']),            model=json.dumps(model_configuration['model']),            user_input_form=json.dumps(model_configuration['user_input_form']),            pre_prompt=model_configuration['pre_prompt'],            agent_mode=json.dumps(model_configuration['agent_mode']),        )        db.session.add(new_app_model_config)        db.session.flush()        app_model.app_model_config_id = new_app_model_config.id        db.session.commit()        app_model_config_was_updated.send(            app_model,            app_model_config=new_app_model_config        )        return {'result': 'success'}api.add_resource(ModelConfigResource, '/apps/<uuid:app_id>/model-config')
 |