Skip to content

Commit

Permalink
[Security Solution] AI Assistant: LLM Connector model chooser bug. Ne…
Browse files Browse the repository at this point in the history
…w chat does not use connector's model (#199303)
  • Loading branch information
e40pud committed Dec 12, 2024
1 parent 43205c7 commit a4ba1da
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,7 @@ export const useCurrentConversation = ({
currentConversation?.apiConfig?.actionTypeId != null
? {
apiConfig: {
connectorId: currentConversation.apiConfig.connectorId,
actionTypeId: currentConversation.apiConfig.actionTypeId,
...currentConversation.apiConfig,
...(newSystemPrompt?.id != null ? { defaultSystemPromptId: newSystemPrompt.id } : {}),
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,48 @@ import { FormattedMessage } from '@kbn/i18n-react';
import { EuiLink } from '@elastic/eui';
import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/openai/constants';
import * as i18n from './translations';
import { Config } from './types';

export const DEFAULT_URL = 'https://api.openai.com/v1/chat/completions' as const;
export const DEFAULT_URL_AZURE =
'https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}' as const;

export const DEFAULT_BODY = `{
const DEFAULT_BODY = `{
"messages": [{
"role":"user",
"content":"Hello world"
}]
}`;
export const DEFAULT_BODY_AZURE = `{
const DEFAULT_BODY_AZURE = `{
"messages": [{
"role":"user",
"content":"Hello world"
}]
}`;
const DEFAULT_BODY_OTHER = (defaultModel: string) => `{
"model": "${defaultModel}",
"messages": [{
"role":"user",
"content":"Hello world"
}]
}`;

export const getDefaultBody = (config?: Config) => {
if (!config) {
// default to OpenAiProviderType.OpenAi sample data
return DEFAULT_BODY;
}
if (config?.apiProvider === OpenAiProviderType.Other) {
// update sample data if Other (OpenAI Compatible Service)
return config.defaultModel ? DEFAULT_BODY_OTHER(config.defaultModel) : DEFAULT_BODY;
}
if (config?.apiProvider === OpenAiProviderType.AzureAi) {
// update sample data if AzureAi
return DEFAULT_BODY_AZURE;
}
// default to OpenAiProviderType.OpenAi sample data
return DEFAULT_BODY;
};

export const openAiConfig: ConfigFieldSchema[] = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import {
ActionConnectorMode,
JsonEditorWithMessageVariables,
} from '@kbn/triggers-actions-ui-plugin/public';
import { OpenAiProviderType, SUB_ACTION } from '../../../common/openai/constants';
import { DEFAULT_BODY, DEFAULT_BODY_AZURE } from './constants';
import { SUB_ACTION } from '../../../common/openai/constants';
import { getDefaultBody } from './constants';
import { OpenAIActionConnector, ActionParams } from './types';

const ParamsFields: React.FunctionComponent<ActionParamsProps<ActionParams>> = ({
Expand Down Expand Up @@ -41,16 +41,10 @@ const ParamsFields: React.FunctionComponent<ActionParamsProps<ActionParams>> = (

useEffect(() => {
if (!subActionParams) {
// default to OpenAiProviderType.OpenAi sample data
let sampleBody = DEFAULT_BODY;

if (typedActionConnector?.config?.apiProvider === OpenAiProviderType.AzureAi) {
// update sample data if AzureAi
sampleBody = DEFAULT_BODY_AZURE;
}
const sampleBody = getDefaultBody(typedActionConnector?.config);
editAction('subActionParams', { body: sampleBody }, index);
}
}, [typedActionConnector?.config?.apiProvider, editAction, index, subActionParams]);
}, [typedActionConnector?.config, editAction, index, subActionParams]);

const editSubActionParams = useCallback(
(params: ActionParams['subActionParams']) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export interface ActionParams {
export interface Config {
apiProvider: OpenAiProviderType;
apiUrl: string;
defaultModel?: string;
}

export interface Secrets {
Expand Down

0 comments on commit a4ba1da

Please sign in to comment.