@plastichub/osr-ai-tools
Version:
CLI and library for LLM tools
23 lines (22 loc) • 962 B
text/typescript
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
}