mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-06-04 11:14:10 +08:00
fix: provider_response_latency type error (#45)
This commit is contained in:
parent
92fb4ab4c1
commit
d680fca996
@ -45,7 +45,7 @@ message_detail_fields = {
|
|||||||
'message_tokens': fields.Integer,
|
'message_tokens': fields.Integer,
|
||||||
'answer': fields.String,
|
'answer': fields.String,
|
||||||
'answer_tokens': fields.Integer,
|
'answer_tokens': fields.Integer,
|
||||||
'provider_response_latency': fields.Integer,
|
'provider_response_latency': fields.Float,
|
||||||
'from_source': fields.String,
|
'from_source': fields.String,
|
||||||
'from_end_user_id': fields.String,
|
'from_end_user_id': fields.String,
|
||||||
'from_account_id': fields.String,
|
'from_account_id': fields.String,
|
||||||
|
@ -26,46 +26,46 @@ from services.errors.conversation import ConversationNotExistsError
|
|||||||
from services.errors.message import MessageNotExistsError
|
from services.errors.message import MessageNotExistsError
|
||||||
from services.message_service import MessageService
|
from services.message_service import MessageService
|
||||||
|
|
||||||
|
account_fields = {
|
||||||
|
'id': fields.String,
|
||||||
|
'name': fields.String,
|
||||||
|
'email': fields.String
|
||||||
|
}
|
||||||
|
|
||||||
class ChatMessageApi(Resource):
|
feedback_fields = {
|
||||||
account_fields = {
|
'rating': fields.String,
|
||||||
'id': fields.String,
|
'content': fields.String,
|
||||||
'name': fields.String,
|
'from_source': fields.String,
|
||||||
'email': fields.String
|
'from_end_user_id': fields.String,
|
||||||
}
|
'from_account': fields.Nested(account_fields, allow_null=True),
|
||||||
|
}
|
||||||
|
|
||||||
feedback_fields = {
|
annotation_fields = {
|
||||||
'rating': fields.String,
|
'content': fields.String,
|
||||||
'content': fields.String,
|
'account': fields.Nested(account_fields, allow_null=True),
|
||||||
'from_source': fields.String,
|
'created_at': TimestampField
|
||||||
'from_end_user_id': fields.String,
|
}
|
||||||
'from_account': fields.Nested(account_fields, allow_null=True),
|
|
||||||
}
|
|
||||||
|
|
||||||
annotation_fields = {
|
message_detail_fields = {
|
||||||
'content': fields.String,
|
'id': fields.String,
|
||||||
'account': fields.Nested(account_fields, allow_null=True),
|
'conversation_id': fields.String,
|
||||||
'created_at': TimestampField
|
'inputs': fields.Raw,
|
||||||
}
|
'query': fields.String,
|
||||||
|
'message': fields.Raw,
|
||||||
|
'message_tokens': fields.Integer,
|
||||||
|
'answer': fields.String,
|
||||||
|
'answer_tokens': fields.Integer,
|
||||||
|
'provider_response_latency': fields.Float,
|
||||||
|
'from_source': fields.String,
|
||||||
|
'from_end_user_id': fields.String,
|
||||||
|
'from_account_id': fields.String,
|
||||||
|
'feedbacks': fields.List(fields.Nested(feedback_fields)),
|
||||||
|
'annotation': fields.Nested(annotation_fields, allow_null=True),
|
||||||
|
'created_at': TimestampField
|
||||||
|
}
|
||||||
|
|
||||||
message_detail_fields = {
|
|
||||||
'id': fields.String,
|
|
||||||
'conversation_id': fields.String,
|
|
||||||
'inputs': fields.Raw,
|
|
||||||
'query': fields.String,
|
|
||||||
'message': fields.Raw,
|
|
||||||
'message_tokens': fields.Integer,
|
|
||||||
'answer': fields.String,
|
|
||||||
'answer_tokens': fields.Integer,
|
|
||||||
'provider_response_latency': fields.Integer,
|
|
||||||
'from_source': fields.String,
|
|
||||||
'from_end_user_id': fields.String,
|
|
||||||
'from_account_id': fields.String,
|
|
||||||
'feedbacks': fields.List(fields.Nested(feedback_fields)),
|
|
||||||
'annotation': fields.Nested(annotation_fields, allow_null=True),
|
|
||||||
'created_at': TimestampField
|
|
||||||
}
|
|
||||||
|
|
||||||
|
class ChatMessageListApi(Resource):
|
||||||
message_infinite_scroll_pagination_fields = {
|
message_infinite_scroll_pagination_fields = {
|
||||||
'limit': fields.Integer,
|
'limit': fields.Integer,
|
||||||
'has_more': fields.Boolean,
|
'has_more': fields.Boolean,
|
||||||
@ -253,7 +253,8 @@ class MessageMoreLikeThisApi(Resource):
|
|||||||
message_id = str(message_id)
|
message_id = str(message_id)
|
||||||
|
|
||||||
parser = reqparse.RequestParser()
|
parser = reqparse.RequestParser()
|
||||||
parser.add_argument('response_mode', type=str, required=True, choices=['blocking', 'streaming'], location='args')
|
parser.add_argument('response_mode', type=str, required=True, choices=['blocking', 'streaming'],
|
||||||
|
location='args')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
streaming = args['response_mode'] == 'streaming'
|
streaming = args['response_mode'] == 'streaming'
|
||||||
@ -301,7 +302,8 @@ def compact_response(response: Union[dict | Generator]) -> Response:
|
|||||||
except QuotaExceededError:
|
except QuotaExceededError:
|
||||||
yield "data: " + json.dumps(api.handle_error(ProviderQuotaExceededError()).get_json()) + "\n\n"
|
yield "data: " + json.dumps(api.handle_error(ProviderQuotaExceededError()).get_json()) + "\n\n"
|
||||||
except ModelCurrentlyNotSupportError:
|
except ModelCurrentlyNotSupportError:
|
||||||
yield "data: " + json.dumps(api.handle_error(ProviderModelCurrentlyNotSupportError()).get_json()) + "\n\n"
|
yield "data: " + json.dumps(
|
||||||
|
api.handle_error(ProviderModelCurrentlyNotSupportError()).get_json()) + "\n\n"
|
||||||
except (LLMBadRequestError, LLMAPIConnectionError, LLMAPIUnavailableError,
|
except (LLMBadRequestError, LLMAPIConnectionError, LLMAPIUnavailableError,
|
||||||
LLMRateLimitError, LLMAuthorizationError) as e:
|
LLMRateLimitError, LLMAuthorizationError) as e:
|
||||||
yield "data: " + json.dumps(api.handle_error(CompletionRequestError(str(e))).get_json()) + "\n\n"
|
yield "data: " + json.dumps(api.handle_error(CompletionRequestError(str(e))).get_json()) + "\n\n"
|
||||||
@ -353,9 +355,33 @@ class MessageSuggestedQuestionApi(Resource):
|
|||||||
return {'data': questions}
|
return {'data': questions}
|
||||||
|
|
||||||
|
|
||||||
|
class MessageApi(Resource):
|
||||||
|
@setup_required
|
||||||
|
@login_required
|
||||||
|
@account_initialization_required
|
||||||
|
@marshal_with(message_detail_fields)
|
||||||
|
def get(self, app_id, message_id):
|
||||||
|
app_id = str(app_id)
|
||||||
|
message_id = str(message_id)
|
||||||
|
|
||||||
|
# get app info
|
||||||
|
app_model = _get_app(app_id, 'chat')
|
||||||
|
|
||||||
|
message = db.session.query(Message).filter(
|
||||||
|
Message.id == message_id,
|
||||||
|
Message.app_id == app_model.id
|
||||||
|
).first()
|
||||||
|
|
||||||
|
if not message:
|
||||||
|
raise NotFound("Message Not Exists.")
|
||||||
|
|
||||||
|
return message
|
||||||
|
|
||||||
|
|
||||||
api.add_resource(MessageMoreLikeThisApi, '/apps/<uuid:app_id>/completion-messages/<uuid:message_id>/more-like-this')
|
api.add_resource(MessageMoreLikeThisApi, '/apps/<uuid:app_id>/completion-messages/<uuid:message_id>/more-like-this')
|
||||||
api.add_resource(MessageSuggestedQuestionApi, '/apps/<uuid:app_id>/chat-messages/<uuid:message_id>/suggested-questions')
|
api.add_resource(MessageSuggestedQuestionApi, '/apps/<uuid:app_id>/chat-messages/<uuid:message_id>/suggested-questions')
|
||||||
api.add_resource(ChatMessageApi, '/apps/<uuid:app_id>/chat-messages', endpoint='chat_messages')
|
api.add_resource(ChatMessageListApi, '/apps/<uuid:app_id>/chat-messages', endpoint='console_chat_messages')
|
||||||
api.add_resource(MessageFeedbackApi, '/apps/<uuid:app_id>/feedbacks')
|
api.add_resource(MessageFeedbackApi, '/apps/<uuid:app_id>/feedbacks')
|
||||||
api.add_resource(MessageAnnotationApi, '/apps/<uuid:app_id>/annotations')
|
api.add_resource(MessageAnnotationApi, '/apps/<uuid:app_id>/annotations')
|
||||||
api.add_resource(MessageAnnotationCountApi, '/apps/<uuid:app_id>/annotations/count')
|
api.add_resource(MessageAnnotationCountApi, '/apps/<uuid:app_id>/annotations/count')
|
||||||
|
api.add_resource(MessageApi, '/apps/<uuid:app_id>/messages/<uuid:message_id>', endpoint='console_message')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user