diff --git a/frontend/src/views/compare/CompareChatView.vue b/frontend/src/views/compare/CompareChatView.vue new file mode 100644 index 0000000..d94176e --- /dev/null +++ b/frontend/src/views/compare/CompareChatView.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/frontend/src/views/compare/CompareResultView.vue b/frontend/src/views/compare/CompareResultView.vue new file mode 100644 index 0000000..e3cfd3f --- /dev/null +++ b/frontend/src/views/compare/CompareResultView.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/frontend/src/views/data-process/DataProcessCreateView.vue b/frontend/src/views/data-process/DataProcessCreateView.vue new file mode 100644 index 0000000..e2bf19c --- /dev/null +++ b/frontend/src/views/data-process/DataProcessCreateView.vue @@ -0,0 +1,762 @@ + + + + + diff --git a/frontend/src/views/data-process/DataProcessListView.vue b/frontend/src/views/data-process/DataProcessListView.vue new file mode 100644 index 0000000..b525a51 --- /dev/null +++ b/frontend/src/views/data-process/DataProcessListView.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/frontend/src/views/data-process/create/GenerationStep.vue b/frontend/src/views/data-process/create/GenerationStep.vue new file mode 100644 index 0000000..a11ac3f --- /dev/null +++ b/frontend/src/views/data-process/create/GenerationStep.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/frontend/src/views/data-process/create/PreviewCompareStep.vue b/frontend/src/views/data-process/create/PreviewCompareStep.vue new file mode 100644 index 0000000..1e318ed --- /dev/null +++ b/frontend/src/views/data-process/create/PreviewCompareStep.vue @@ -0,0 +1,585 @@ + + + + + diff --git a/frontend/src/views/data-process/create/ResultEditorStep.vue b/frontend/src/views/data-process/create/ResultEditorStep.vue new file mode 100644 index 0000000..77ddc86 --- /dev/null +++ b/frontend/src/views/data-process/create/ResultEditorStep.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/frontend/src/views/data-process/create/TaskSetupStep.vue b/frontend/src/views/data-process/create/TaskSetupStep.vue new file mode 100644 index 0000000..10c13d7 --- /dev/null +++ b/frontend/src/views/data-process/create/TaskSetupStep.vue @@ -0,0 +1,469 @@ + + + + + diff --git a/frontend/src/views/data-process/create/previewModel.ts b/frontend/src/views/data-process/create/previewModel.ts new file mode 100644 index 0000000..84fe516 --- /dev/null +++ b/frontend/src/views/data-process/create/previewModel.ts @@ -0,0 +1,89 @@ +import type { PreviewItem, ProcessType, ResultItem, SourceLine } from './types' + +export const DEFAULT_SOURCE_TEXT = [ + '问:如何看待当前的通货膨胀风险?', + '答:当前通胀水平总体可控,但仍需关注能源价格与供给扰动。', + '问:美联储下一次议息会议何时召开?', + '答:会议时间以美联储官方日历为准,市场会重点关注利率路径指引。', + '问:人民币汇率未来走势如何?', + '答:人民币汇率取决于中美利差、经济基本面与政策预期。', + '问:银行理财产品收益率为何持续走低?', + '答:主要与市场利率下行、资产端收益下降以及风险偏好变化有关。', + '问:什么是复利?', + '答:复利是指在计算利息时,将上一期利息加入本金,再计算下一期利息。', + '问:如何评估股票的投资价值?', + '答:评估股票投资价值可以从以下几个方面进行:', + '1. 公司基本面:分析公司的财务状况、盈利能力、成长性等。', + '2. 行业前景:考察公司所处行业的发展趋势和竞争格局。', + '3. 估值水平:通过市盈率、市净率等指标判断估值是否合理。', + '4. 财务健康:关注公司的负债情况、现金流状况等。', + '5. 管理团队:评估管理层的能力和过往业绩。', + '此外,还需要关注宏观经济环境、政策变化等因素对股票市场的影响。', + '问:债券和股票的主要区别是什么?', + '答:债券收益相对稳定但上行有限,股票波动更大且承担更高风险。', + '问:什么是市盈率?', + '答:市盈率是股票价格与每股收益的比值,常用于衡量估值水平。', + '问:如何进行资产配置?', + '答:应根据投资目标、风险承受能力和市场环境合理分配资产。', +].join('\n') + +export function sourceLines(sourceText: string): SourceLine[] { + const rawLines = sourceText.split('\n') + let cursor = 0 + + return rawLines.map((content, index) => { + const start = cursor + const end = start + content.length + cursor = end + (index < rawLines.length - 1 ? 1 : 0) + return { number: index + 1, content, start, end } + }) +} + +export function buildPreviewItems(sourceText: string, processType: ProcessType, sourceFileId = 'default-source'): PreviewItem[] { + const meaningfulLines = sourceLines(sourceText).filter((line) => line.content.trim()) + const groupSize = processType === 'structured' ? 1 : 3 + const items: PreviewItem[] = [] + + for (let index = 0; index < meaningfulLines.length; index += groupSize) { + const group = meaningfulLines.slice(index, index + groupSize) + if (!group.length) continue + + const sourceStart = group[0].start + const sourceEnd = group[group.length - 1].end + const content = sourceText.slice(sourceStart, sourceEnd) + + items.push({ + id: `preview-${sourceFileId}-${items.length + 1}`, + sourceFileId, + originalContent: content, + editedContent: content, + sourceStart, + sourceEnd, + sourceStartLine: group[0].number, + sourceEndLine: group[group.length - 1].number, + tokenCount: Math.max(1, Math.ceil(content.length / 2)), + status: 'original', + }) + } + + return items +} + +export function createResults(items: PreviewItem[]): ResultItem[] { + return items.slice(0, 12).map((item, index) => { + const [firstLine = '', ...rest] = item.editedContent.split('\n') + const output = rest.join('\n').trim() || item.editedContent.trim() + const instruction = firstLine.replace(/^问[::]\s*/, '').trim() || `数据条目 ${index + 1}` + + return { + id: `result-${index + 1}`, + instruction, + input: '', + output, + originalInstruction: instruction, + originalInput: '', + originalOutput: output, + status: 'valid', + } + }) +} diff --git a/frontend/src/views/data-process/create/types.ts b/frontend/src/views/data-process/create/types.ts new file mode 100644 index 0000000..5723c58 --- /dev/null +++ b/frontend/src/views/data-process/create/types.ts @@ -0,0 +1,41 @@ +export type ProcessType = 'structured' | 'unstructured' + +export type StepId = 'create' | 'preview' | 'generate' | 'results' + +export interface SourceLine { + number: number + content: string + start: number + end: number +} + +export interface PreviewItem { + id: string + sourceFileId: string + originalContent: string + editedContent: string + sourceStart: number | null + sourceEnd: number | null + sourceStartLine: number | null + sourceEndLine: number | null + tokenCount: number + status: 'original' | 'modified' | 'manual' | 'invalid' +} + +export interface GenerationState { + status: 'idle' | 'running' | 'success' | 'failed' + progress: number + message: string +} + +export interface ResultItem { + id: string + instruction: string + input: string + output: string + originalInstruction: string + originalInput: string + originalOutput: string + status: 'valid' | 'modified' | 'invalid' + error?: string +} diff --git a/frontend/src/views/dataset/DatasetCreateView.vue b/frontend/src/views/dataset/DatasetCreateView.vue new file mode 100644 index 0000000..88f63e4 --- /dev/null +++ b/frontend/src/views/dataset/DatasetCreateView.vue @@ -0,0 +1,335 @@ + + + + + diff --git a/frontend/src/views/dataset/DatasetListView.vue b/frontend/src/views/dataset/DatasetListView.vue new file mode 100644 index 0000000..a87cecd --- /dev/null +++ b/frontend/src/views/dataset/DatasetListView.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/frontend/src/views/dataset/DatasetPreviewView.vue b/frontend/src/views/dataset/DatasetPreviewView.vue new file mode 100644 index 0000000..a96f6b2 --- /dev/null +++ b/frontend/src/views/dataset/DatasetPreviewView.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/frontend/src/views/eval/DimensionCreateView.vue b/frontend/src/views/eval/DimensionCreateView.vue new file mode 100644 index 0000000..dbfd5a1 --- /dev/null +++ b/frontend/src/views/eval/DimensionCreateView.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/frontend/src/views/eval/EvalCreateView.vue b/frontend/src/views/eval/EvalCreateView.vue new file mode 100644 index 0000000..1359c9d --- /dev/null +++ b/frontend/src/views/eval/EvalCreateView.vue @@ -0,0 +1,177 @@ + + + diff --git a/frontend/src/views/eval/EvalView.vue b/frontend/src/views/eval/EvalView.vue new file mode 100644 index 0000000..a57e8d0 --- /dev/null +++ b/frontend/src/views/eval/EvalView.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/frontend/src/views/fine-tune/FineTuneCreateView.vue b/frontend/src/views/fine-tune/FineTuneCreateView.vue new file mode 100644 index 0000000..e7fd8f2 --- /dev/null +++ b/frontend/src/views/fine-tune/FineTuneCreateView.vue @@ -0,0 +1,733 @@ + + + + + diff --git a/frontend/src/views/fine-tune/FineTuneListView.vue b/frontend/src/views/fine-tune/FineTuneListView.vue new file mode 100644 index 0000000..44df5ed --- /dev/null +++ b/frontend/src/views/fine-tune/FineTuneListView.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/frontend/src/views/inference/InferenceChatView.vue b/frontend/src/views/inference/InferenceChatView.vue new file mode 100644 index 0000000..1be69a5 --- /dev/null +++ b/frontend/src/views/inference/InferenceChatView.vue @@ -0,0 +1,695 @@ + + +