UNPKG

@plastichub/osr-ai-tools

Version:

CLI and library for LLM tools

20 lines (19 loc) 941 B
import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources'; import { IKBotOptions } from './types_kbot'; import OpenAI from 'openai'; export type onToolBefore = (category: string, name: string, args: any) => Promise<any>; export type onToolAfter = (category: string, name: string, args: any, result?: any) => Promise<any>; export interface ICollector { onMessage: (message: ChatCompletionMessageParam) => void; onToolCall: (tool: ChatCompletionMessage.FunctionCall) => void; onFunctionCallResult: (content: string) => void; onChatCompletion: (completion: ChatCompletion) => void; onContent: (content: string) => void; onTool: (category: string, name: string, args: any, result?: any) => void; onToolBefore: onToolBefore; onToolAfter: onToolAfter; } export interface IKBotTask extends IKBotOptions { client: OpenAI; collector: ICollector; }