mirror of
https://github.com/wassname/Open-Assistant.git
synced 2026-06-27 16:10:30 +08:00
14fa08e2e7
* add query_incomplete_rankings() * Add SQL queries for TreeManager task selection * first working version of TreeManager.next_task() * remove old generate_task(), add mandatory_labels to text_labels task * Add ConversationMessage list to Ranking tasks * add more sophisticated sql queries to find extendible trees * add TreeManager.query_extendible_parents() * fix task validation, seed data insertion (reviewed) * provide user for task selection in text-frontend * enter 'growing' state * enter 'aborted_low_grade' state * enter 'ranking' state * check tree 'growing' state upon relpy insertion * exclude user from labeling their own messages (added DEBUG_ALLOW_SELF_LABELING setting) * add DEBUG_ALLOW_SELF_LABELING to docker-compose.yaml * fix ranking submission * add query_tree_ranking_results() * add ranked_message_ids to RankingReactionPayload * fix reply_messages instead of prompt_messages * incorment 'ranking_count' of ranked replies * added logic to check_condition_for_scoring_state * changes to msg_tree_state_machine * pre-commit changes * enter 'ready_for_scoring' state * re-add HF embedding call (lost during merge) * use prepare_conversation() helper for seed-data creation * Partially add user specified task selection Co-authored-by: Daniel Hug <danielpatrickhug@gmail.com>
82 lines
2.3 KiB
Python
82 lines
2.3 KiB
Python
from enum import IntEnum
|
|
from http import HTTPStatus
|
|
|
|
|
|
class OasstErrorCode(IntEnum):
|
|
"""
|
|
Error codes of the Open-Assistant backend API.
|
|
|
|
Ranges:
|
|
0-1000: general errors
|
|
1000-2000: tasks endpoint
|
|
2000-3000: prompt_repository, task_repository, user_repository
|
|
3000-4000: external resources
|
|
"""
|
|
|
|
# 0-1000: general errors
|
|
GENERIC_ERROR = 0
|
|
DATABASE_URI_NOT_SET = 1
|
|
API_CLIENT_NOT_AUTHORIZED = 2
|
|
TOO_MANY_REQUESTS = 429
|
|
|
|
SERVER_ERROR0 = 500
|
|
SERVER_ERROR1 = 501
|
|
|
|
# 1000-2000: tasks endpoint
|
|
TASK_INVALID_REQUEST_TYPE = 1000
|
|
TASK_ACK_FAILED = 1001
|
|
TASK_NACK_FAILED = 1002
|
|
TASK_INVALID_RESPONSE_TYPE = 1003
|
|
TASK_INTERACTION_REQUEST_FAILED = 1004
|
|
TASK_GENERATION_FAILED = 1005
|
|
TASK_REQUESTED_TYPE_NOT_AVAILABLE = 1006
|
|
|
|
# 2000-3000: prompt_repository
|
|
INVALID_FRONTEND_MESSAGE_ID = 2000
|
|
MESSAGE_NOT_FOUND = 2001
|
|
RATING_OUT_OF_RANGE = 2002
|
|
INVALID_RANKING_VALUE = 2003
|
|
INVALID_TASK_TYPE = 2004
|
|
USER_NOT_SPECIFIED = 2005
|
|
NO_MESSAGE_TREE_FOUND = 2006
|
|
NO_REPLIES_FOUND = 2007
|
|
INVALID_MESSAGE = 2008
|
|
BROKEN_CONVERSATION = 2009
|
|
TREE_NOT_IN_GROWING_STATE = 2010
|
|
CORRUPT_RANKING_RESULT = 2011
|
|
|
|
TEXT_LABELS_WRONG_MESSAGE_ID = 2050
|
|
TEXT_LABELS_INVALID_LABEL = 2051
|
|
TEXT_LABELS_MANDATORY_LABEL_MISSING = 2052
|
|
|
|
TASK_NOT_FOUND = 2100
|
|
TASK_EXPIRED = 2101
|
|
TASK_PAYLOAD_TYPE_MISMATCH = 2102
|
|
TASK_ALREADY_UPDATED = 2103
|
|
TASK_NOT_ACK = 2104
|
|
TASK_ALREADY_DONE = 2105
|
|
TASK_NOT_COLLECTIVE = 2106
|
|
TASK_NOT_ASSIGNED_TO_USER = 2106
|
|
USER_NOT_FOUND = 2200
|
|
|
|
# 3000-4000: external resources
|
|
HUGGINGFACE_API_ERROR = 3001
|
|
|
|
|
|
class OasstError(Exception):
|
|
"""Base class for Open-Assistant exceptions."""
|
|
|
|
message: str
|
|
error_code: int
|
|
http_status_code: HTTPStatus
|
|
|
|
def __init__(self, message: str, error_code: OasstErrorCode, http_status_code: HTTPStatus = HTTPStatus.BAD_REQUEST):
|
|
super().__init__(message, error_code, http_status_code) # make excetpion picklable (fill args member)
|
|
self.message = message
|
|
self.error_code = error_code
|
|
self.http_status_code = http_status_code
|
|
|
|
def __repr__(self) -> str:
|
|
class_name = self.__class__.__name__
|
|
return f'{class_name}(message="{self.message}", error_code={self.error_code}, http_status_code={self.http_status_code})'
|