daren/apps/rlhf/urls.py
2025-06-09 18:33:03 +08:00

60 lines
3.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import (
ConversationViewSet, MessageViewSet, FeedbackViewSet,
FeedbackTagViewSet, DetailedFeedbackViewSet, ConversationSubmissionViewSet,
ConversationEvaluationViewSet, SystemConfigViewSet
)
router = DefaultRouter()
router.register(r'conversations', ConversationViewSet)
router.register(r'messages', MessageViewSet)
router.register(r'feedback', FeedbackViewSet)
router.register(r'feedback-tags', FeedbackTagViewSet)
router.register(r'detailed-feedback', DetailedFeedbackViewSet)
router.register(r'submissions', ConversationSubmissionViewSet)
router.register(r'evaluations', ConversationEvaluationViewSet)
router.register(r'system-config', SystemConfigViewSet)
urlpatterns = [
path('', include(router.urls)),
# 对话相关API端点
path('conversation/<str:pk>/messages/', ConversationViewSet.as_view({'get': 'messages'}), name='conversation-messages'),
path('conversation/<str:pk>/message/', ConversationViewSet.as_view({'post': 'message'}), name='send-message'),
path('conversation/<str:pk>/submit/', ConversationViewSet.as_view({'post': 'submit'}), name='submit-conversation'),
path('conversation/<str:pk>/resume/', ConversationViewSet.as_view({'post': 'resume'}), name='resume-conversation'),
# 仪表盘和统计分析API端点
path('dashboard/', ConversationViewSet.as_view({'get': 'dashboard'}), name='dashboard'),
# 提交评审API端点
path('submission/<str:pk>/review/', ConversationSubmissionViewSet.as_view({'post': 'review'}), name='review-submission'),
# 系统配置和模型管理API端点
path('models/', SystemConfigViewSet.as_view({'get': 'models'}), name='models-lst'),
path('model/', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='current-model'),
# 数据导出和命令执行API端点
path('export-feedback/', SystemConfigViewSet.as_view({'post': 'export_feedback'}), name='export-feedback'),
path('run-command/', SystemConfigViewSet.as_view({'post': 'run_command'}), name='run-command'),
# 将原app.py中的API路径映射到相应ViewSet方法方便前端迁移
path('api/conversation/new', ConversationViewSet.as_view({'post': 'create'}), name='new-conversation'),
path('api/conversation/<str:pk>/messages', ConversationViewSet.as_view({'get': 'messages'}), name='api-conversation-messages'),
path('api/conversation/<str:pk>/message', ConversationViewSet.as_view({'post': 'message'}), name='api-send-message'),
path('api/conversation/<str:pk>/submit', ConversationViewSet.as_view({'post': 'submit'}), name='api-submit-conversation'),
path('api/conversation/<str:pk>/resume', ConversationViewSet.as_view({'post': 'resume'}), name='api-resume-conversation'),
path('api/conversation/<str:pk>/evaluation', ConversationEvaluationViewSet.as_view({
'get': 'retrieve',
'post': 'create',
'put': 'update',
'patch': 'partial_update'
}), name='api-conversation-evaluation'),
path('api/feedback', FeedbackViewSet.as_view({'post': 'create'}), name='api-create-feedback'),
path('api/feedback/detailed', DetailedFeedbackViewSet.as_view({'post': 'create'}), name='api-create-detailed-feedback'),
path('api/feedback/tags', FeedbackTagViewSet.as_view({'get': 'list'}), name='api-feedback-tags'),
path('api/annotations/dashboard', ConversationViewSet.as_view({'get': 'dashboard'}), name='api-annotations-dashboard'),
path('api/models', SystemConfigViewSet.as_view({'get': 'models'}), name='api-models-list'),
path('api/model', SystemConfigViewSet.as_view({'get': 'model', 'post': 'model'}), name='api-current-model'),
]