visuddhinanda 7 months ago
parent
commit
961d42e3e5
1 changed files with 0 additions and 392 deletions
  1. 0 392
      dashboard-v4/dashboard/src/hooks/mockChatData.ts

+ 0 - 392
dashboard-v4/dashboard/src/hooks/mockChatData.ts

@@ -1,392 +0,0 @@
-import {
-  MessageNode,
-  ChatState,
-  SessionInfo,
-  VersionInfo,
-} from "../types/chat";
-
-// 模拟的消息数据 - 包含完整的对话场景
-export const mockMessages: MessageNode[] = [
-  // System 消息 (根节点)
-  {
-    id: 1,
-    uid: "msg-system-001",
-    chat_id: "chat-001",
-    session_id: "system-session",
-    role: "system",
-    content:
-      "你是一个巴利语专家和佛教术语解释助手。当用户询问佛教术语时,你可以调用 searchTerm 函数来查询详细信息。",
-    is_active: true,
-    created_at: "2025-01-15T10:00:00Z",
-    updated_at: "2025-01-15T10:00:00Z",
-  },
-
-  // 第一轮对话 - 用户询问佛教术语
-  {
-    id: 2,
-    uid: "msg-user-001",
-    chat_id: "chat-001",
-    parent_id: "msg-system-001",
-    session_id: "session-001",
-    role: "user",
-    content: "什么是 dhamma?请详细解释一下。",
-    is_active: true,
-    created_at: "2025-01-15T10:01:00Z",
-    updated_at: "2025-01-15T10:01:00Z",
-  },
-
-  // AI 回答 - 带 Function Call
-  {
-    id: 3,
-    uid: "msg-assistant-001",
-    chat_id: "chat-001",
-    parent_id: "msg-user-001",
-    session_id: "session-001",
-    role: "assistant",
-    model_id: "gpt-4",
-    tool_calls: [
-      {
-        id: "call_dhamma_001",
-        function: "searchTerm",
-        arguments: { term: "dhamma" },
-      },
-    ],
-    is_active: true,
-    metadata: {
-      generation_params: {
-        temperature: 0.7,
-        max_tokens: 2048,
-      },
-    },
-    created_at: "2025-01-15T10:01:30Z",
-    updated_at: "2025-01-15T10:01:30Z",
-  },
-
-  // Tool 调用结果
-  {
-    id: 4,
-    uid: "msg-tool-001",
-    chat_id: "chat-001",
-    parent_id: "msg-assistant-001",
-    session_id: "session-001",
-    role: "tool",
-    content:
-      '{"term":"dhamma","definition":"法;教法;正义;真理","etymology":"来自梵语dharma","category":"佛教基本概念","explanation":"Dhamma是佛教中最核心的概念之一,指佛陀的教导、宇宙的法则以及存在的真理。"}',
-    tool_call_id: "call_dhamma_001",
-    is_active: true,
-    created_at: "2025-01-15T10:01:35Z",
-    updated_at: "2025-01-15T10:01:35Z",
-  },
-
-  // AI 最终回答
-  {
-    id: 5,
-    uid: "msg-assistant-002",
-    chat_id: "chat-001",
-    parent_id: "msg-tool-001",
-    session_id: "session-001",
-    role: "assistant",
-    content:
-      'Dhamma(法)是佛教中最重要的概念之一。根据巴利语词典,Dhamma有以下几层含义:\n\n1. **佛陀的教导**:指佛陀所传授的教法和智慧\n2. **宇宙法则**:指支配宇宙运行的自然规律\n3. **正义与真理**:指正确的行为准则和道德标准\n\nDhamma来自梵语"dharma",在不同语境下可以指代教法、法则、正义、真理等。对于佛教修行者来说,学习和实践Dhamma是走向解脱的根本途径。',
-    model_id: "gpt-4",
-    is_active: true,
-    metadata: {
-      generation_params: {
-        temperature: 0.7,
-        max_tokens: 2048,
-      },
-      token_usage: {
-        prompt_tokens: 180,
-        completion_tokens: 220,
-        total_tokens: 400,
-      },
-      performance: {
-        response_time_ms: 1500,
-        first_token_time_ms: 600,
-      },
-    },
-    created_at: "2025-01-15T10:01:45Z",
-    updated_at: "2025-01-15T10:01:45Z",
-  },
-
-  // 第二轮对话 - 用户追问
-  {
-    id: 6,
-    uid: "msg-user-002",
-    chat_id: "chat-001",
-    parent_id: "msg-assistant-002",
-    session_id: "session-002",
-    role: "user",
-    content: "那 karma 和 dhamma 有什么关系呢?",
-    is_active: true,
-    created_at: "2025-01-15T10:02:00Z",
-    updated_at: "2025-01-15T10:02:00Z",
-  },
-
-  // AI 第二次回答(第一个版本)
-  {
-    id: 7,
-    uid: "msg-assistant-003",
-    chat_id: "chat-001",
-    parent_id: "msg-user-002",
-    session_id: "session-002",
-    role: "assistant",
-    content:
-      "Karma(业)和 Dhamma(法)是密切相关的佛教概念:\n\n**Karma(业力法则)**是 Dhamma 的重要组成部分。Karma 描述了行为与后果之间的因果关系,而这个因果法则本身就是宇宙运行的 Dhamma 之一。\n\n简单来说:\n- Dhamma 是更大的框架,包含了所有佛教教义和宇宙法则\n- Karma 是 Dhamma 中的具体法则之一,专门解释行为的因果关系\n\n通过理解 Karma,我们能更好地实践 Dhamma;通过实践 Dhamma,我们能更好地净化 Karma。",
-    model_id: "gpt-4",
-    is_active: true,
-    metadata: {
-      generation_params: {
-        temperature: 0.7,
-        max_tokens: 2048,
-      },
-      token_usage: {
-        prompt_tokens: 420,
-        completion_tokens: 150,
-        total_tokens: 570,
-      },
-    },
-    created_at: "2025-01-15T10:02:15Z",
-    updated_at: "2025-01-15T10:02:15Z",
-  },
-
-  // 第二个版本的AI回答(用户点了刷新)
-  {
-    id: 8,
-    uid: "msg-assistant-004",
-    chat_id: "chat-001",
-    parent_id: "msg-user-002",
-    session_id: "session-002",
-    role: "assistant",
-    content:
-      "Karma 和 Dhamma 的关系可以这样理解:\n\n1. **包含关系**:Karma 是 Dhamma 的一部分。Dhamma 是整个佛教教法体系,而 Karma 是其中的核心法则\n\n2. **实践关系**:\n   - 学习 Dhamma → 了解 Karma 的运作原理\n   - 正确理解 Karma → 能够更好地实践 Dhamma\n\n3. **目标一致**:两者都指向同一目标 - 通过正确的认知和行为获得解脱\n\n可以说,Karma 是 Dhamma 在日常生活中的具体体现,而 Dhamma 为理解 Karma 提供了更深层的智慧框架。",
-    model_id: "claude-3-sonnet",
-    is_active: false, // 这是第二个版本,当前不激活
-    metadata: {
-      generation_params: {
-        temperature: 0.8,
-        max_tokens: 2048,
-      },
-      token_usage: {
-        prompt_tokens: 420,
-        completion_tokens: 180,
-        total_tokens: 600,
-      },
-    },
-    created_at: "2025-01-15T10:03:00Z",
-    updated_at: "2025-01-15T10:03:00Z",
-  },
-
-  // 第三轮对话 - 用户编辑了第一个问题
-  {
-    id: 9,
-    uid: "msg-user-003",
-    chat_id: "chat-001",
-    parent_id: "msg-system-001", // 回到系统消息后
-    session_id: "session-003",
-    role: "user",
-    content: "请解释一下佛教中的 nirvana 概念,它与 dhamma 有什么关系?", // 用户编辑了第一个问题
-    is_active: false, // 用户当前查看的是第一条线路,这条是备选线路
-    created_at: "2025-01-15T10:04:00Z",
-    updated_at: "2025-01-15T10:04:00Z",
-  },
-
-  {
-    id: 10,
-    uid: "msg-assistant-005",
-    chat_id: "chat-001",
-    parent_id: "msg-user-003",
-    session_id: "session-003",
-    role: "assistant",
-    content:
-      'Nirvana(涅槃)是佛教修行的最终目标,与 Dhamma 有着密不可分的关系:\n\n**Nirvana 的含义**:\n- 字面意思是"熄灭",指贪嗔痴等烦恼的彻底熄灭\n- 是痛苦和轮回的终结,达到究竟的解脱状态\n\n**与 Dhamma 的关系**:\n1. **Dhamma 是道路**:佛陀的教法为我们指明了通向 Nirvana 的道路\n2. **Nirvana 是目标**:修行 Dhamma 的最终目的就是证得 Nirvana\n3. **相互验证**:真正的 Dhamma 必然能导向 Nirvana;真正的 Nirvana 必然符合 Dhamma\n\n可以说,没有 Dhamma 就无法理解和达到 Nirvana,而 Nirvana 是 Dhamma 价值的最终体现。',
-    model_id: "gpt-4",
-    is_active: false,
-    metadata: {
-      generation_params: {
-        temperature: 0.7,
-      },
-      token_usage: {
-        prompt_tokens: 150,
-        completion_tokens: 200,
-        total_tokens: 350,
-      },
-    },
-    created_at: "2025-01-15T10:04:20Z",
-    updated_at: "2025-01-15T10:04:20Z",
-  },
-];
-
-// 模拟版本信息
-export const mockVersions: VersionInfo[] = [
-  {
-    version_index: 0,
-    model_id: "gpt-4",
-    model_name: "GPT-4",
-    created_at: "2025-01-15T10:02:15Z",
-    message_count: 1,
-    token_usage: 570,
-  },
-  {
-    version_index: 1,
-    model_id: "claude-3-sonnet",
-    model_name: "Claude 3 Sonnet",
-    created_at: "2025-01-15T10:03:00Z",
-    message_count: 1,
-    token_usage: 600,
-  },
-];
-
-// 模拟会话组信息
-export const mockSessionGroups: SessionInfo[] = [
-  {
-    session_id: "session-001",
-    messages: [
-      mockMessages[1], // user message
-      mockMessages[2], // assistant with tool calls
-      mockMessages[3], // tool result
-      mockMessages[4], // final assistant response
-    ],
-    versions: [
-      {
-        version_index: 0,
-        model_id: "gpt-4",
-        created_at: "2025-01-15T10:01:45Z",
-        message_count: 3,
-        token_usage: 400,
-      },
-    ],
-    current_version: 0,
-    user_message: mockMessages[1],
-    ai_messages: [mockMessages[2], mockMessages[3], mockMessages[4]],
-  },
-  {
-    session_id: "session-002",
-    messages: [
-      mockMessages[5], // user message
-      mockMessages[6], // assistant response (active version)
-    ],
-    versions: mockVersions,
-    current_version: 0,
-    user_message: mockMessages[5],
-    ai_messages: [mockMessages[6]],
-  },
-];
-
-// 模拟完整的聊天状态
-export const mockChatState: ChatState = {
-  chat_id: "chat-001",
-  title: "佛教术语学习对话",
-  raw_messages: mockMessages,
-  active_path: [
-    mockMessages[0], // system
-    mockMessages[1], // user 1
-    mockMessages[2], // assistant 1 (with tool calls)
-    mockMessages[3], // tool result
-    mockMessages[4], // assistant final
-    mockMessages[5], // user 2
-    mockMessages[6], // assistant 2 (active version)
-  ],
-  session_groups: mockSessionGroups,
-  pending_messages: [],
-  is_loading: false,
-  current_model: "gpt-4",
-  streaming_message: undefined,
-  streaming_session_id: undefined,
-};
-
-// 模拟带有待发送消息的状态
-export const mockChatStateWithPending: ChatState = {
-  ...mockChatState,
-  pending_messages: [
-    {
-      temp_id: "temp_123456",
-      session_id: "session_temp_001",
-      messages: [
-        {
-          id: 0,
-          uid: "temp_user_123456",
-          temp_id: "temp_123456",
-          chat_id: "chat-001",
-          parent_id: "msg-assistant-002",
-          session_id: "session_temp_001",
-          role: "user",
-          content: "佛教中的八正道具体是什么?",
-          is_active: true,
-          save_status: "pending",
-          created_at: new Date().toISOString(),
-          updated_at: new Date().toISOString(),
-        },
-      ],
-      retry_count: 0,
-      created_at: new Date().toISOString(),
-    },
-  ],
-  is_loading: true,
-};
-
-// 模拟失败状态的数据
-export const mockChatStateWithError: ChatState = {
-  ...mockChatState,
-  pending_messages: [
-    {
-      temp_id: "temp_failed_001",
-      session_id: "session_failed_001",
-      messages: [
-        {
-          id: 0,
-          uid: "temp_user_failed",
-          temp_id: "temp_failed_001",
-          chat_id: "chat-001",
-          parent_id: "msg-assistant-002",
-          session_id: "session_failed_001",
-          role: "user",
-          content: "什么是禅宗?",
-          is_active: true,
-          save_status: "failed",
-          created_at: new Date().toISOString(),
-          updated_at: new Date().toISOString(),
-        },
-      ],
-      retry_count: 2,
-      error: "API调用失败,请重试",
-      created_at: new Date().toISOString(),
-    },
-  ],
-  error: "API调用失败,请重试",
-};
-
-// 工具函数:根据 session_id 过滤消息
-export function getMessagesBySession(sessionId: string): MessageNode[] {
-  return mockMessages.filter(
-    (msg) => msg.session_id === sessionId && msg.is_active
-  );
-}
-
-// 工具函数:获取激活路径
-export function getActivePath(): MessageNode[] {
-  return mockMessages.filter((msg) => msg.is_active);
-}
-
-// 工具函数:模拟API响应格式
-export function createMockApiResponse<T>(data: T) {
-  return {
-    ok: true,
-    message: "success",
-    data,
-  };
-}
-
-// 导出所有mock数据
-const mock = {
-  messages: mockMessages,
-  sessions: mockSessionGroups,
-  chatState: mockChatState,
-  chatStateWithPending: mockChatStateWithPending,
-  chatStateWithError: mockChatStateWithError,
-  versions: mockVersions,
-  getMessagesBySession,
-  getActivePath,
-  createMockApiResponse,
-};
-export default mock;