fix(config.ts): add optional config parameter to [CONFIG_KEYS.OCO_ MODEL] validator to allow for dynamic model selection based on configuration (#337)
feat(engine/ollama.ts): integrate with config command to load OCO_MODEL from configuration and use it as the default AI engine model
This commit is contained in:
@@ -180,10 +180,10 @@ export const configValidators = {
|
|||||||
return value;
|
return value;
|
||||||
},
|
},
|
||||||
|
|
||||||
[CONFIG_KEYS.OCO_MODEL](value: any) {
|
[CONFIG_KEYS.OCO_MODEL](value: any, config: any = {}) {
|
||||||
validateConfig(
|
validateConfig(
|
||||||
CONFIG_KEYS.OCO_MODEL,
|
CONFIG_KEYS.OCO_MODEL,
|
||||||
[...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value),
|
[...MODEL_LIST.openai, ...MODEL_LIST.anthropic].includes(value) || config.OCO_AI_PROVIDER == 'ollama' || config.OCO_AI_PROVIDER == 'test',
|
||||||
`${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'`
|
`${value} is not supported yet, use 'gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo' (default), 'gpt-3.5-turbo-0125', 'gpt-4-1106-preview', 'gpt-4-turbo-preview', 'gpt-4-0125-preview', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' or 'claude-3-haiku-20240307'`
|
||||||
);
|
);
|
||||||
return value;
|
return value;
|
||||||
|
|||||||
@@ -2,11 +2,17 @@ import axios, { AxiosError } from 'axios';
|
|||||||
import { ChatCompletionRequestMessage } from 'openai';
|
import { ChatCompletionRequestMessage } from 'openai';
|
||||||
import { AiEngine } from './Engine';
|
import { AiEngine } from './Engine';
|
||||||
|
|
||||||
|
import {
|
||||||
|
getConfig
|
||||||
|
} from '../commands/config';
|
||||||
|
|
||||||
|
const config = getConfig();
|
||||||
|
|
||||||
export class OllamaAi implements AiEngine {
|
export class OllamaAi implements AiEngine {
|
||||||
async generateCommitMessage(
|
async generateCommitMessage(
|
||||||
messages: Array<ChatCompletionRequestMessage>
|
messages: Array<ChatCompletionRequestMessage>
|
||||||
): Promise<string | undefined> {
|
): Promise<string | undefined> {
|
||||||
const model = 'mistral'; // todo: allow other models
|
const model = config?.OCO_MODEL || 'mistral';
|
||||||
|
|
||||||
//console.log(messages);
|
//console.log(messages);
|
||||||
//process.exit()
|
//process.exit()
|
||||||
|
|||||||
Reference in New Issue
Block a user