Files
ragflow/web/src/interfaces/database/chat.ts
balibabu 9d0fed601d Feat: Displays the embedded page of the chat module #3221 (#9532)
### What problem does this PR solve?

Feat: Displays the embedded page of the chat module #3221
Feat: Let the agen operator support the selection of tts model #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
2025-08-18 18:02:13 +08:00

181 lines
3.3 KiB
TypeScript

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;
}
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;
}