feat: add new interfaces, services, and utilities for API integration
refactor: reorganize type definitions and improve type safety build: add lodash and @types/lodash as dependencies chore: update tsconfig and vite config for path aliases style: improve code organization and add documentation comments fix: correct type usage in LanguageSwitcher component perf: implement snackbar provider for global notifications test: add new test interfaces and utility functions ci: update pnpm-lock.yaml with new dependencies
This commit is contained in:
182
src/interfaces/database/chat.ts
Normal file
182
src/interfaces/database/chat.ts
Normal file
@@ -0,0 +1,182 @@
|
||||
import { MessageType } from '@/constants/chat';
|
||||
|
||||
export interface PromptConfig {
|
||||
empty_response: string;
|
||||
parameters: Parameter[];
|
||||
prologue: string;
|
||||
system: string;
|
||||
tts?: boolean;
|
||||
quote: boolean;
|
||||
keyword: boolean;
|
||||
refine_multiturn: boolean;
|
||||
use_kg: boolean;
|
||||
reasoning?: boolean;
|
||||
cross_languages?: Array<string>;
|
||||
}
|
||||
|
||||
export interface Parameter {
|
||||
key: string;
|
||||
optional: boolean;
|
||||
}
|
||||
|
||||
export interface LlmSetting {
|
||||
Creative: Variable;
|
||||
Custom: Variable;
|
||||
Evenly: Variable;
|
||||
Precise: Variable;
|
||||
}
|
||||
|
||||
export interface Variable {
|
||||
frequency_penalty?: number;
|
||||
max_tokens?: number;
|
||||
presence_penalty?: number;
|
||||
temperature?: number;
|
||||
top_p?: number;
|
||||
llm_id?: string;
|
||||
}
|
||||
|
||||
export interface IDialog {
|
||||
create_date: string;
|
||||
create_time: number;
|
||||
description: string;
|
||||
icon: string;
|
||||
id: string;
|
||||
dialog_id: string;
|
||||
kb_ids: string[];
|
||||
kb_names: string[];
|
||||
language: string;
|
||||
llm_id: string;
|
||||
llm_setting: Variable;
|
||||
llm_setting_type: string;
|
||||
name: string;
|
||||
prompt_config: PromptConfig;
|
||||
prompt_type: string;
|
||||
status: string;
|
||||
tenant_id: string;
|
||||
update_date: string;
|
||||
update_time: number;
|
||||
vector_similarity_weight: number;
|
||||
similarity_threshold: number;
|
||||
top_k: number;
|
||||
top_n: number;
|
||||
meta_data_filter: MetaDataFilter;
|
||||
}
|
||||
|
||||
interface MetaDataFilter {
|
||||
manual: Manual[];
|
||||
method: string;
|
||||
}
|
||||
|
||||
interface Manual {
|
||||
key: string;
|
||||
op: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface IConversation {
|
||||
create_date: string;
|
||||
create_time: number;
|
||||
dialog_id: string;
|
||||
id: string;
|
||||
avatar: string;
|
||||
message: Message[];
|
||||
reference: IReference[];
|
||||
name: string;
|
||||
update_date: string;
|
||||
update_time: number;
|
||||
is_new: true;
|
||||
}
|
||||
|
||||
export interface Message {
|
||||
content: string;
|
||||
role: MessageType;
|
||||
doc_ids?: string[];
|
||||
prompt?: string;
|
||||
id?: string;
|
||||
audio_binary?: string;
|
||||
data?: any;
|
||||
files?: File[];
|
||||
chatBoxId?: string;
|
||||
}
|
||||
|
||||
export interface IReferenceChunk {
|
||||
id: string;
|
||||
content: null;
|
||||
document_id: string;
|
||||
document_name: string;
|
||||
dataset_id: string;
|
||||
image_id: string;
|
||||
similarity: number;
|
||||
vector_similarity: number;
|
||||
term_similarity: number;
|
||||
positions: number[];
|
||||
doc_type?: string;
|
||||
}
|
||||
|
||||
export interface IReference {
|
||||
chunks: IReferenceChunk[];
|
||||
doc_aggs: Docagg[];
|
||||
total: number;
|
||||
}
|
||||
|
||||
export interface IReferenceObject {
|
||||
chunks: Record<string, IReferenceChunk>;
|
||||
doc_aggs: Record<string, Docagg>;
|
||||
}
|
||||
|
||||
export interface IAnswer {
|
||||
answer: string;
|
||||
reference?: IReference;
|
||||
conversationId?: string;
|
||||
prompt?: string;
|
||||
id?: string;
|
||||
audio_binary?: string;
|
||||
data?: any;
|
||||
chatBoxId?: string;
|
||||
}
|
||||
|
||||
export interface Docagg {
|
||||
count: number;
|
||||
doc_id: string;
|
||||
doc_name: string;
|
||||
url?: string;
|
||||
}
|
||||
|
||||
// interface Chunk {
|
||||
// chunk_id: string;
|
||||
// content_ltks: string;
|
||||
// content_with_weight: string;
|
||||
// doc_id: string;
|
||||
// docnm_kwd: string;
|
||||
// img_id: string;
|
||||
// important_kwd: any[];
|
||||
// kb_id: string;
|
||||
// similarity: number;
|
||||
// term_similarity: number;
|
||||
// vector_similarity: number;
|
||||
// }
|
||||
|
||||
export interface IToken {
|
||||
create_date: string;
|
||||
create_time: number;
|
||||
tenant_id: string;
|
||||
token: string;
|
||||
update_date?: any;
|
||||
update_time?: any;
|
||||
beta: string;
|
||||
}
|
||||
|
||||
export interface IStats {
|
||||
pv: [string, number][];
|
||||
uv: [string, number][];
|
||||
speed: [string, number][];
|
||||
tokens: [string, number][];
|
||||
round: [string, number][];
|
||||
thumb_up: [string, number][];
|
||||
}
|
||||
|
||||
export interface IExternalChatInfo {
|
||||
avatar?: string;
|
||||
title: string;
|
||||
prologue?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user