Skip to content

Commit

Permalink
chore: fix handling of names and content in openai connector
Browse files Browse the repository at this point in the history
  • Loading branch information
Goldziher committed Dec 7, 2023
1 parent 6ba44c6 commit e02120d
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 6 deletions.
File renamed without changes.
3 changes: 1 addition & 2 deletions services/cohere-connector/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
"paths": {
"@/*": ["src/*"],
"gen/*": ["../../gen/ts/*"],
"shared/*": ["../../shared/ts/src/*"],
"tests/*": ["tests/*"]
"shared/*": ["../../shared/ts/src/*"]
},
"types": ["vitest/globals"]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,58 @@ describe('utils tests', () => {
expect(result.presence_penalty).toBeUndefined();
expect(result.frequency_penalty).toBeUndefined();
});

it('should handle empty names and whitespace names by changing them to undefined', () => {
const request: OpenAIPromptRequest = {
messages: [
{
content: 'test',
name: '',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
{
content: 'test',
name: ' ',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
{
content: 'test',
name: 'a',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
],
model: OpenAIModel.OPEN_AI_MODEL_GPT3_5_TURBO_4K,
};

const result = createOpenAIRequest(request, true);
expect(Reflect.get(result.messages[0], 'name')).toBeUndefined();
expect(Reflect.get(result.messages[1], 'name')).toBeUndefined();
expect(Reflect.get(result.messages[2], 'name')).toEqual('a');
});

it('should handle empty content and whitespace content by it to null', () => {
const request: OpenAIPromptRequest = {
messages: [
{
content: '',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
{
content: ' ',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
{
content: 'test',
role: OpenAIMessageRole.OPEN_AI_MESSAGE_ROLE_USER,
},
],
model: OpenAIModel.OPEN_AI_MODEL_GPT3_5_TURBO_4K,
};

const result = createOpenAIRequest(request, true);
expect(Reflect.get(result.messages[0], 'content')).toBeNull();
expect(Reflect.get(result.messages[1], 'content')).toBeNull();
expect(Reflect.get(result.messages[2], 'content')).toBe('test');
});
});
});
5 changes: 3 additions & 2 deletions services/openai-connector/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,10 @@ export function createOpenAIRequest(
frequency_penalty: frequencyPenalty,
max_tokens: !!maxTokens && maxTokens > 0 ? maxTokens : undefined,
messages: messages.map<ChatCompletionMessageParam>((msg) => {
const { content, role, ...rest } = msg;
const { content, role, name, ...rest } = msg;
return {
content: content ?? null,
content: content?.trim() ? content.trim() : null,
name: name?.trim() ? name.trim() : undefined,
role: getOpenAIMessageRole(role),
...rest,
} as ChatCompletionMessageParam;
Expand Down
3 changes: 1 addition & 2 deletions services/openai-connector/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
"paths": {
"@/*": ["src/*"],
"gen/*": ["../../gen/ts/*"],
"shared/*": ["../../shared/ts/src/*"],
"tests/*": ["tests/*"]
"shared/*": ["../../shared/ts/src/*"]
},
"types": ["vitest/globals"]
},
Expand Down

0 comments on commit e02120d

Please sign in to comment.