I have fine-tuned model and would like to use in nodejs with typescript and would like some help with few typescript errors. Please fine my code below:
- Function to generate response:
async generateContentFromFineTunedModel(messages: OpenAIMessageParams[], maxTokens: number = 1000): Promise<OpenAI.Chat.Completions.ChatCompletionMessage> {
try {
const res = await this.openai.chat.completions.create({
model: appConfig.app.backend.baseFineTunedModel,
messages,
temperature: 1,
max_tokens: maxTokens,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
});
return res.choices[0].message;
} catch (error) {
throw new Error(error);
}
}
Function Interface:
import { ChatCompletionAssistantMessageParam, ChatCompletionSystemMessageParam, ChatCompletionUserMessageParam } from 'openai/resources';
export type OpenAIMessageParams = ChatCompletionSystemMessageParam | ChatCompletionUserMessageParam | ChatCompletionAssistantMessageParam
generateContentFromFineTunedModel(messages: OpenAIMessageParams[], maxTokens?: number): Promise<OpenAI.Chat.Completions.ChatCompletionMessage>
Function usage:
const testJSON = [{"role": "system", "content": "Act as teacher"},{"role": "user", "content": "what is vowel"}]
const response = await this.openAI.generateContentFromFineTunedModel(testJSON)
Error I am getting:
Argument of type '{ role: string; content: string; }[]' is not assignable to parameter of type 'OpenAIMessageParams[]'.
Type '{ role: string; content: string; }' is not assignable to type 'OpenAIMessageParams'.
Type '{ role: string; content: string; }' is not assignable to type 'ChatCompletionAssistantMessageParam'.
Types of property 'role' are incompatible.
Type 'string' is not assignable to type '"assistant"'.ts(2345)