UNPKG

daggerai

Version:

A simple and powerful Typescript based agent framework to help businesses thrive in the AI Agent revolution.

31 lines (26 loc) 838 B
import OpenAI from 'openai' import { SQUAD_PROMPTS } from '../core/prompts' import { LLM, LLMParams } from '../llm/base' export class ChatOpenAI implements LLM { api: OpenAI params: LLMParams constructor(params: ChatOpenAIParams) { this.api = new OpenAI({ apiKey: params.apiKey || process.env.OPENAI_API_KEY, }) this.params = params } async invoke(prompt: string): Promise<string> { const completion = await this.api.chat.completions.create({ model: this.params.model, max_tokens: this.params.maxTokens || 4000, stop: [SQUAD_PROMPTS.observation], messages: [{ role: 'user', content: prompt }], }) return completion.choices[0]?.message.content || '' } } export interface ChatOpenAIParams extends LLMParams { model: 'gpt-4-turbo' | 'gpt-3.5-turbo' apiKey?: string }