Spaces:
Configuration error
Configuration error
| /** | |
| * Types | |
| */ | |
| export type NodeParamsType = 'options' | 'string' | 'number' | 'boolean' | 'password' | 'json' | 'code' | 'date' | 'file' | 'folder' | |
| export type CommonType = string | number | boolean | undefined | null | |
| export type MessageType = 'apiMessage' | 'userMessage' | |
| /** | |
| * Others | |
| */ | |
| export interface ICommonObject { | |
| [key: string]: any | CommonType | ICommonObject | CommonType[] | ICommonObject[] | |
| } | |
| export interface IAttachment { | |
| content: string | |
| contentType: string | |
| size?: number | |
| filename?: string | |
| } | |
| export interface INodeOptionsValue { | |
| label: string | |
| name: string | |
| description?: string | |
| } | |
| export interface INodeOutputsValue { | |
| label: string | |
| name: string | |
| baseClasses: string[] | |
| description?: string | |
| } | |
| export interface INodeParams { | |
| label: string | |
| name: string | |
| type: NodeParamsType | string | |
| default?: CommonType | ICommonObject | ICommonObject[] | |
| description?: string | |
| options?: Array<INodeOptionsValue> | |
| optional?: boolean | INodeDisplay | |
| rows?: number | |
| list?: boolean | |
| acceptVariable?: boolean | |
| placeholder?: string | |
| fileType?: string | |
| additionalParams?: boolean | |
| } | |
| export interface INodeExecutionData { | |
| [key: string]: CommonType | CommonType[] | ICommonObject | ICommonObject[] | |
| } | |
| export interface INodeDisplay { | |
| [key: string]: string[] | string | |
| } | |
| export interface INodeProperties { | |
| label: string | |
| name: string | |
| type: string | |
| icon: string | |
| category: string | |
| baseClasses: string[] | |
| description?: string | |
| filePath?: string | |
| } | |
| export interface INode extends INodeProperties { | |
| inputs?: INodeParams[] | |
| output?: INodeOutputsValue[] | |
| init?(nodeData: INodeData, input: string, options?: ICommonObject): Promise<any> | |
| run?(nodeData: INodeData, input: string, options?: ICommonObject): Promise<string | ICommonObject> | |
| } | |
| export interface INodeData extends INodeProperties { | |
| id: string | |
| inputs?: ICommonObject | |
| outputs?: ICommonObject | |
| instance?: any | |
| } | |
| export interface IMessage { | |
| message: string | |
| type: MessageType | |
| } | |
| /** | |
| * Classes | |
| */ | |
| import { PromptTemplate as LangchainPromptTemplate, PromptTemplateInput } from 'langchain/prompts' | |
| import { VectorStore } from 'langchain/vectorstores/base' | |
| export class PromptTemplate extends LangchainPromptTemplate { | |
| promptValues: ICommonObject | |
| constructor(input: PromptTemplateInput) { | |
| super(input) | |
| } | |
| } | |
| export interface PromptRetrieverInput { | |
| name: string | |
| description: string | |
| systemMessage: string | |
| } | |
| const fixedTemplate = `Here is a question: | |
| {input} | |
| ` | |
| export class PromptRetriever { | |
| name: string | |
| description: string | |
| systemMessage: string | |
| constructor(fields: PromptRetrieverInput) { | |
| this.name = fields.name | |
| this.description = fields.description | |
| this.systemMessage = `${fields.systemMessage}\n${fixedTemplate}` | |
| } | |
| } | |
| export interface VectorStoreRetrieverInput { | |
| name: string | |
| description: string | |
| vectorStore: VectorStore | |
| } | |
| export class VectorStoreRetriever { | |
| name: string | |
| description: string | |
| vectorStore: VectorStore | |
| constructor(fields: VectorStoreRetrieverInput) { | |
| this.name = fields.name | |
| this.description = fields.description | |
| this.vectorStore = fields.vectorStore | |
| } | |
| } | |