UNPKG

@plastichub/osr-ai-tools

Version:

CLI and library for LLM tools

23 lines (22 loc) 962 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 { //OpenAI onMessage: (message: ChatCompletionMessageParam) => void onToolCall: (tool: ChatCompletionMessage.FunctionCall) => void, onFunctionCallResult: (content: string) => void, onChatCompletion: (completion: ChatCompletion) => void, onContent: (content:string) => void, // internal onTool: (category: string, name: string, args: any, result?: any) => void onToolBefore: onToolBefore onToolAfter: onToolAfter } export interface IKBotTask extends IKBotOptions { client: OpenAI collector: ICollector }