parameter.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding:utf-8 -*-
  2. from flask_restful import marshal_with, fields
  3. from controllers.console import api
  4. from controllers.console.universal_chat.wraps import UniversalChatResource
  5. from core.llm.llm_builder import LLMBuilder
  6. from models.provider import ProviderName
  7. from models.model import App
  8. class UniversalChatParameterApi(UniversalChatResource):
  9. """Resource for app variables."""
  10. parameters_fields = {
  11. 'opening_statement': fields.String,
  12. 'suggested_questions': fields.Raw,
  13. 'suggested_questions_after_answer': fields.Raw,
  14. 'speech_to_text': fields.Raw,
  15. }
  16. @marshal_with(parameters_fields)
  17. def get(self, universal_app: App):
  18. """Retrieve app parameters."""
  19. app_model = universal_app
  20. app_model_config = app_model.app_model_config
  21. provider_name = LLMBuilder.get_default_provider(universal_app.tenant_id, 'whisper-1')
  22. return {
  23. 'opening_statement': app_model_config.opening_statement,
  24. 'suggested_questions': app_model_config.suggested_questions_list,
  25. 'suggested_questions_after_answer': app_model_config.suggested_questions_after_answer_dict,
  26. 'speech_to_text': app_model_config.speech_to_text_dict if provider_name == ProviderName.OPENAI.value else { 'enabled': False },
  27. }
  28. api.add_resource(UniversalChatParameterApi, '/universal-chat/parameters')