mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Feat: The Begin and IterationStart operators cannot be deleted using shortcut keys #4287 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { Edge, Node } from 'reactflow';
|
||||
import { Edge, Node } from '@xyflow/react';
|
||||
import { IReference, Message } from './chat';
|
||||
|
||||
export type DSLComponents = Record<string, IOperator>;
|
||||
@ -25,11 +25,6 @@ export interface IOperatorNode {
|
||||
params: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface IGraph {
|
||||
nodes: Node[];
|
||||
edges: Edge[];
|
||||
}
|
||||
|
||||
export declare interface IFlow {
|
||||
avatar?: null | string;
|
||||
canvas_type: null;
|
||||
@ -56,3 +51,119 @@ export interface IFlowTemplate {
|
||||
update_date: string;
|
||||
update_time: number;
|
||||
}
|
||||
|
||||
export type ICategorizeItemResult = Record<
|
||||
string,
|
||||
Omit<ICategorizeItem, 'name'>
|
||||
>;
|
||||
|
||||
export interface IGenerateForm {
|
||||
max_tokens?: number;
|
||||
temperature?: number;
|
||||
top_p?: number;
|
||||
presence_penalty?: number;
|
||||
frequency_penalty?: number;
|
||||
cite?: boolean;
|
||||
prompt: number;
|
||||
llm_id: string;
|
||||
parameters: { key: string; component_id: string };
|
||||
}
|
||||
export interface ICategorizeItem {
|
||||
name: string;
|
||||
description?: string;
|
||||
examples?: string;
|
||||
to?: string;
|
||||
index: number;
|
||||
}
|
||||
|
||||
export interface ICategorizeForm extends IGenerateForm {
|
||||
category_description: ICategorizeItemResult;
|
||||
}
|
||||
|
||||
export interface IRelevantForm extends IGenerateForm {
|
||||
yes: string;
|
||||
no: string;
|
||||
}
|
||||
|
||||
export interface ISwitchCondition {
|
||||
items: ISwitchItem[];
|
||||
logical_operator: string;
|
||||
to: string;
|
||||
}
|
||||
|
||||
export interface ISwitchItem {
|
||||
cpn_id: string;
|
||||
operator: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export interface ISwitchForm {
|
||||
conditions: ISwitchCondition[];
|
||||
end_cpn_id: string;
|
||||
no: string;
|
||||
}
|
||||
|
||||
export interface IBeginForm {
|
||||
prologue?: string;
|
||||
}
|
||||
|
||||
export interface IRetrievalForm {
|
||||
similarity_threshold?: number;
|
||||
keywords_similarity_weight?: number;
|
||||
top_n?: number;
|
||||
top_k?: number;
|
||||
rerank_id?: string;
|
||||
empty_response?: string;
|
||||
kb_ids: string[];
|
||||
}
|
||||
|
||||
export type BaseNodeData<TForm extends any> = {
|
||||
label: string; // operator type
|
||||
name: string; // operator name
|
||||
color?: string;
|
||||
form?: TForm;
|
||||
};
|
||||
|
||||
export type BaseNode<T = any> = Node<BaseNodeData<T>>;
|
||||
|
||||
export type IBeginNode = BaseNode<IBeginForm>;
|
||||
export type IRetrievalNode = BaseNode<IRetrievalForm>;
|
||||
export type IGenerateNode = BaseNode<IGenerateForm>;
|
||||
export type ICategorizeNode = BaseNode<ICategorizeForm>;
|
||||
export type ISwitchNode = BaseNode<ISwitchForm>;
|
||||
export type IRagNode = BaseNode;
|
||||
export type IRelevantNode = BaseNode;
|
||||
export type ILogicNode = BaseNode;
|
||||
export type INoteNode = BaseNode;
|
||||
export type IMessageNode = BaseNode;
|
||||
export type IRewriteNode = BaseNode;
|
||||
export type IInvokeNode = BaseNode;
|
||||
export type ITemplateNode = BaseNode;
|
||||
export type IEmailNode = BaseNode;
|
||||
export type IIterationNode = BaseNode;
|
||||
export type IIterationStartNode = BaseNode;
|
||||
export type IKeywordNode = BaseNode;
|
||||
|
||||
export type RAGFlowNodeType =
|
||||
| IBeginNode
|
||||
| IRetrievalNode
|
||||
| IGenerateNode
|
||||
| ICategorizeNode
|
||||
| ISwitchNode
|
||||
| IRagNode
|
||||
| IRelevantNode
|
||||
| ILogicNode
|
||||
| INoteNode
|
||||
| IMessageNode
|
||||
| IRewriteNode
|
||||
| IInvokeNode
|
||||
| ITemplateNode
|
||||
| IEmailNode
|
||||
| IIterationNode
|
||||
| IIterationStartNode
|
||||
| IKeywordNode;
|
||||
|
||||
export interface IGraph {
|
||||
nodes: RAGFlowNodeType[];
|
||||
edges: Edge[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user