Skip to content

Commit 1cc704d

Browse files
1oca1h0stbentwnghk
authored andcommitted
🐛 fix: refine role assignment logic for specific Azure OpenAI models & Sensitive URL (lobehub#6366)
* refine role assignment logic for specific Azure OpenAI models & Azure SensitiveUrl * Using updatedMessages to fix Azure o series models
1 parent fe0849a commit 1cc704d

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/libs/agent-runtime/azureai/index.ts

+21-2
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,29 @@ export class LobeAzureAI implements LobeRuntimeAI {
2929
const { messages, model, ...params } = payload;
3030
// o1 series models on Azure OpenAI does not support streaming currently
3131
const enableStreaming = model.includes('o1') ? false : (params.stream ?? true);
32+
33+
// Convert 'system' role to 'user' or 'developer' based on the model
34+
const systemToUserModels = new Set([
35+
'o1-preview',
36+
'o1-preview-2024-09-12',
37+
'o1-mini',
38+
'o1-mini-2024-09-12',
39+
]);
40+
41+
const updatedMessages = messages.map((message) => ({
42+
...message,
43+
role:
44+
(model.includes('o1') || model.includes('o3')) && message.role === 'system'
45+
? [...systemToUserModels].some((sub) => model.includes(sub))
46+
? 'user'
47+
: 'developer'
48+
: message.role,
49+
}));
50+
3251
try {
3352
const response = this.client.path('/chat/completions').post({
3453
body: {
35-
messages: messages as OpenAI.ChatCompletionMessageParam[],
54+
messages: updatedMessages as OpenAI.ChatCompletionMessageParam[],
3655
model,
3756
...params,
3857
stream: enableStreaming,
@@ -98,7 +117,7 @@ export class LobeAzureAI implements LobeRuntimeAI {
98117

99118
private maskSensitiveUrl = (url: string) => {
100119
// 使用正则表达式匹配 'https://' 后面和 '.azure.com/' 前面的内容
101-
const regex = /^(https:\/\/)([^.]+)(\.azure\.com\/.*)$/;
120+
const regex = /^(https:\/\/)([^.]+)(\.cognitiveservices\.azure\.com\/.*)$/;
102121

103122
// 使用替换函数
104123
return url.replace(regex, (match, protocol, subdomain, rest) => {

0 commit comments

Comments
 (0)