@lobehub/chat 1.15.6 → 1.15.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +6 -6
  3. package/README.zh-CN.md +6 -6
  4. package/docs/self-hosting/server-database/docker-compose.mdx +2 -2
  5. package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +2 -2
  6. package/locales/ar/knowledgeBase.json +1 -0
  7. package/locales/ar/ragEval.json +91 -0
  8. package/locales/bg-BG/knowledgeBase.json +1 -0
  9. package/locales/bg-BG/ragEval.json +91 -0
  10. package/locales/de-DE/knowledgeBase.json +1 -0
  11. package/locales/de-DE/ragEval.json +91 -0
  12. package/locales/en-US/knowledgeBase.json +1 -0
  13. package/locales/en-US/ragEval.json +91 -0
  14. package/locales/es-ES/knowledgeBase.json +1 -0
  15. package/locales/es-ES/ragEval.json +91 -0
  16. package/locales/fr-FR/knowledgeBase.json +1 -0
  17. package/locales/fr-FR/ragEval.json +91 -0
  18. package/locales/it-IT/knowledgeBase.json +1 -0
  19. package/locales/it-IT/ragEval.json +91 -0
  20. package/locales/ja-JP/knowledgeBase.json +1 -0
  21. package/locales/ja-JP/ragEval.json +91 -0
  22. package/locales/ko-KR/knowledgeBase.json +1 -0
  23. package/locales/ko-KR/ragEval.json +91 -0
  24. package/locales/nl-NL/knowledgeBase.json +1 -0
  25. package/locales/nl-NL/ragEval.json +91 -0
  26. package/locales/pl-PL/knowledgeBase.json +1 -0
  27. package/locales/pl-PL/ragEval.json +91 -0
  28. package/locales/pt-BR/knowledgeBase.json +1 -0
  29. package/locales/pt-BR/ragEval.json +91 -0
  30. package/locales/ru-RU/knowledgeBase.json +1 -0
  31. package/locales/ru-RU/ragEval.json +91 -0
  32. package/locales/tr-TR/knowledgeBase.json +1 -0
  33. package/locales/tr-TR/ragEval.json +91 -0
  34. package/locales/vi-VN/knowledgeBase.json +1 -0
  35. package/locales/vi-VN/ragEval.json +91 -0
  36. package/locales/zh-CN/knowledgeBase.json +1 -0
  37. package/locales/zh-CN/ragEval.json +91 -0
  38. package/locales/zh-TW/knowledgeBase.json +1 -0
  39. package/locales/zh-TW/ragEval.json +91 -0
  40. package/package.json +2 -1
  41. package/src/app/(main)/repos/[id]/@menu/Head/index.tsx +4 -13
  42. package/src/app/(main)/repos/[id]/@menu/Menu/index.tsx +30 -21
  43. package/src/app/(main)/repos/[id]/@menu/default.tsx +8 -2
  44. package/src/app/(main)/repos/[id]/evals/components/Container.tsx +25 -0
  45. package/src/app/(main)/repos/[id]/evals/components/Tabs.tsx +35 -0
  46. package/src/app/(main)/repos/[id]/evals/dataset/CreateDataset/CreateForm.tsx +72 -0
  47. package/src/app/(main)/repos/[id]/evals/dataset/CreateDataset/index.tsx +37 -0
  48. package/src/app/(main)/repos/[id]/evals/dataset/DatasetDetail/index.tsx +126 -0
  49. package/src/app/(main)/repos/[id]/evals/dataset/DatasetList/Item.tsx +59 -0
  50. package/src/app/(main)/repos/[id]/evals/dataset/DatasetList/index.tsx +32 -0
  51. package/src/app/(main)/repos/[id]/evals/dataset/EmptyGuide/index.tsx +33 -0
  52. package/src/app/(main)/repos/[id]/evals/dataset/page.tsx +47 -0
  53. package/src/app/(main)/repos/[id]/evals/evaluation/CreateEvaluation/CreateForm.tsx +93 -0
  54. package/src/app/(main)/repos/[id]/evals/evaluation/CreateEvaluation/index.tsx +28 -0
  55. package/src/app/(main)/repos/[id]/evals/evaluation/CreateEvaluation/useModal.tsx +39 -0
  56. package/src/app/(main)/repos/[id]/evals/evaluation/EmptyGuide/index.tsx +25 -0
  57. package/src/app/(main)/repos/[id]/evals/evaluation/EvaluationList/index.tsx +209 -0
  58. package/src/app/(main)/repos/[id]/evals/evaluation/page.tsx +32 -0
  59. package/src/app/(main)/repos/[id]/evals/layout.tsx +22 -0
  60. package/src/app/(main)/repos/[id]/evals/page.tsx +9 -0
  61. package/src/app/(main)/repos/[id]/evals/type.ts +5 -0
  62. package/src/app/(main)/repos/[id]/not-found.tsx +3 -0
  63. package/src/app/(main)/settings/llm/components/ProviderConfig/index.tsx +2 -2
  64. package/src/components/FileIcon/index.tsx +2 -2
  65. package/src/config/featureFlags/schema.ts +3 -1
  66. package/src/database/server/migrations/0008_add_rag_evals.sql +120 -0
  67. package/src/database/server/migrations/meta/0008_snapshot.json +3463 -0
  68. package/src/database/server/migrations/meta/_journal.json +7 -0
  69. package/src/database/server/models/file.ts +11 -2
  70. package/src/database/server/models/ragEval/dataset.ts +59 -0
  71. package/src/database/server/models/ragEval/datasetRecord.ts +87 -0
  72. package/src/database/server/models/ragEval/evaluation.ts +96 -0
  73. package/src/database/server/models/ragEval/evaluationRecord.ts +64 -0
  74. package/src/database/server/models/ragEval/index.ts +4 -0
  75. package/src/database/server/schemas/lobechat/asyncTask.ts +24 -0
  76. package/src/database/server/schemas/lobechat/file.ts +2 -18
  77. package/src/database/server/schemas/lobechat/index.ts +2 -0
  78. package/src/database/server/schemas/lobechat/ragEvals.ts +105 -0
  79. package/src/database/server/schemas/lobechat/relations.ts +2 -1
  80. package/src/libs/agent-runtime/types/chat.ts +3 -0
  81. package/src/libs/agent-runtime/utils/openaiCompatibleFactory/index.ts +3 -1
  82. package/src/libs/langchain/loaders/index.ts +1 -1
  83. package/src/locales/default/index.ts +2 -0
  84. package/src/locales/default/knowledgeBase.ts +1 -0
  85. package/src/locales/default/ragEval.ts +93 -0
  86. package/src/server/modules/S3/index.ts +11 -0
  87. package/src/server/routers/async/index.ts +2 -0
  88. package/src/server/routers/async/ragEval.ts +138 -0
  89. package/src/server/routers/lambda/index.ts +2 -1
  90. package/src/server/routers/lambda/ragEval.ts +296 -0
  91. package/src/services/ragEval.ts +67 -0
  92. package/src/services/upload.ts +11 -4
  93. package/src/store/file/slices/upload/action.ts +8 -6
  94. package/src/store/knowledgeBase/initialState.ts +3 -1
  95. package/src/store/knowledgeBase/slices/ragEval/actions/dataset.ts +88 -0
  96. package/src/store/knowledgeBase/slices/ragEval/actions/evaluation.ts +62 -0
  97. package/src/store/knowledgeBase/slices/ragEval/actions/index.ts +20 -0
  98. package/src/store/knowledgeBase/slices/ragEval/index.ts +2 -0
  99. package/src/store/knowledgeBase/slices/ragEval/initialState.ts +7 -0
  100. package/src/store/knowledgeBase/store.ts +9 -3
  101. package/src/store/serverConfig/selectors.test.ts +1 -0
  102. package/src/types/eval/dataset.ts +47 -0
  103. package/src/types/eval/evaluation.ts +53 -0
  104. package/src/types/eval/index.ts +3 -0
  105. package/src/types/eval/ragas.ts +9 -0
@@ -0,0 +1,120 @@
1
+ CREATE TABLE IF NOT EXISTS "rag_eval_dataset_records" (
2
+ "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "rag_eval_dataset_records_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
3
+ "dataset_id" integer NOT NULL,
4
+ "ideal" text,
5
+ "question" text,
6
+ "reference_files" text[],
7
+ "metadata" jsonb,
8
+ "user_id" text,
9
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
10
+ );
11
+ --> statement-breakpoint
12
+ CREATE TABLE IF NOT EXISTS "rag_eval_datasets" (
13
+ "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "rag_eval_datasets_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 30000 CACHE 1),
14
+ "description" text,
15
+ "name" text NOT NULL,
16
+ "knowledge_base_id" text,
17
+ "user_id" text,
18
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
19
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
20
+ );
21
+ --> statement-breakpoint
22
+ CREATE TABLE IF NOT EXISTS "rag_eval_evaluations" (
23
+ "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "rag_eval_evaluations_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
24
+ "name" text NOT NULL,
25
+ "description" text,
26
+ "eval_records_url" text,
27
+ "status" text,
28
+ "error" jsonb,
29
+ "dataset_id" integer NOT NULL,
30
+ "knowledge_base_id" text,
31
+ "language_model" text,
32
+ "embedding_model" text,
33
+ "user_id" text,
34
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
35
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
36
+ );
37
+ --> statement-breakpoint
38
+ CREATE TABLE IF NOT EXISTS "rag_eval_evaluation_records" (
39
+ "id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "rag_eval_evaluation_records_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
40
+ "question" text NOT NULL,
41
+ "answer" text,
42
+ "context" text[],
43
+ "ideal" text,
44
+ "status" text,
45
+ "error" jsonb,
46
+ "language_model" text,
47
+ "embedding_model" text,
48
+ "question_embedding_id" uuid,
49
+ "duration" integer,
50
+ "dataset_record_id" integer NOT NULL,
51
+ "evaluation_id" integer NOT NULL,
52
+ "user_id" text,
53
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
54
+ );
55
+ --> statement-breakpoint
56
+ DO $$ BEGIN
57
+ ALTER TABLE "rag_eval_dataset_records" ADD CONSTRAINT "rag_eval_dataset_records_dataset_id_rag_eval_datasets_id_fk" FOREIGN KEY ("dataset_id") REFERENCES "public"."rag_eval_datasets"("id") ON DELETE cascade ON UPDATE no action;
58
+ EXCEPTION
59
+ WHEN duplicate_object THEN null;
60
+ END $$;
61
+ --> statement-breakpoint
62
+ DO $$ BEGIN
63
+ ALTER TABLE "rag_eval_dataset_records" ADD CONSTRAINT "rag_eval_dataset_records_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;
64
+ EXCEPTION
65
+ WHEN duplicate_object THEN null;
66
+ END $$;
67
+ --> statement-breakpoint
68
+ DO $$ BEGIN
69
+ ALTER TABLE "rag_eval_datasets" ADD CONSTRAINT "rag_eval_datasets_knowledge_base_id_knowledge_bases_id_fk" FOREIGN KEY ("knowledge_base_id") REFERENCES "public"."knowledge_bases"("id") ON DELETE cascade ON UPDATE no action;
70
+ EXCEPTION
71
+ WHEN duplicate_object THEN null;
72
+ END $$;
73
+ --> statement-breakpoint
74
+ DO $$ BEGIN
75
+ ALTER TABLE "rag_eval_datasets" ADD CONSTRAINT "rag_eval_datasets_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;
76
+ EXCEPTION
77
+ WHEN duplicate_object THEN null;
78
+ END $$;
79
+ --> statement-breakpoint
80
+ DO $$ BEGIN
81
+ ALTER TABLE "rag_eval_evaluations" ADD CONSTRAINT "rag_eval_evaluations_dataset_id_rag_eval_datasets_id_fk" FOREIGN KEY ("dataset_id") REFERENCES "public"."rag_eval_datasets"("id") ON DELETE cascade ON UPDATE no action;
82
+ EXCEPTION
83
+ WHEN duplicate_object THEN null;
84
+ END $$;
85
+ --> statement-breakpoint
86
+ DO $$ BEGIN
87
+ ALTER TABLE "rag_eval_evaluations" ADD CONSTRAINT "rag_eval_evaluations_knowledge_base_id_knowledge_bases_id_fk" FOREIGN KEY ("knowledge_base_id") REFERENCES "public"."knowledge_bases"("id") ON DELETE cascade ON UPDATE no action;
88
+ EXCEPTION
89
+ WHEN duplicate_object THEN null;
90
+ END $$;
91
+ --> statement-breakpoint
92
+ DO $$ BEGIN
93
+ ALTER TABLE "rag_eval_evaluations" ADD CONSTRAINT "rag_eval_evaluations_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;
94
+ EXCEPTION
95
+ WHEN duplicate_object THEN null;
96
+ END $$;
97
+ --> statement-breakpoint
98
+ DO $$ BEGIN
99
+ ALTER TABLE "rag_eval_evaluation_records" ADD CONSTRAINT "rag_eval_evaluation_records_question_embedding_id_embeddings_id_fk" FOREIGN KEY ("question_embedding_id") REFERENCES "public"."embeddings"("id") ON DELETE set null ON UPDATE no action;
100
+ EXCEPTION
101
+ WHEN duplicate_object THEN null;
102
+ END $$;
103
+ --> statement-breakpoint
104
+ DO $$ BEGIN
105
+ ALTER TABLE "rag_eval_evaluation_records" ADD CONSTRAINT "rag_eval_evaluation_records_dataset_record_id_rag_eval_dataset_records_id_fk" FOREIGN KEY ("dataset_record_id") REFERENCES "public"."rag_eval_dataset_records"("id") ON DELETE cascade ON UPDATE no action;
106
+ EXCEPTION
107
+ WHEN duplicate_object THEN null;
108
+ END $$;
109
+ --> statement-breakpoint
110
+ DO $$ BEGIN
111
+ ALTER TABLE "rag_eval_evaluation_records" ADD CONSTRAINT "rag_eval_evaluation_records_evaluation_id_rag_eval_evaluations_id_fk" FOREIGN KEY ("evaluation_id") REFERENCES "public"."rag_eval_evaluations"("id") ON DELETE cascade ON UPDATE no action;
112
+ EXCEPTION
113
+ WHEN duplicate_object THEN null;
114
+ END $$;
115
+ --> statement-breakpoint
116
+ DO $$ BEGIN
117
+ ALTER TABLE "rag_eval_evaluation_records" ADD CONSTRAINT "rag_eval_evaluation_records_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;
118
+ EXCEPTION
119
+ WHEN duplicate_object THEN null;
120
+ END $$;