File tree 1 file changed +20
-1
lines changed
src/libs/agent-runtime/azureOpenai
1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -33,9 +33,28 @@ export class LobeAzureOpenAI implements LobeRuntimeAI {
33
33
const { messages, model, ...params } = payload ;
34
34
// o1 series models on Azure OpenAI does not support streaming currently
35
35
const enableStreaming = model . includes ( 'o1' ) ? false : ( params . stream ?? true ) ;
36
+
37
+ // Convert 'system' role to 'user' or 'developer' based on the model
38
+ const systemToUserModels = new Set ( [
39
+ 'o1-preview' ,
40
+ 'o1-preview-2024-09-12' ,
41
+ 'o1-mini' ,
42
+ 'o1-mini-2024-09-12' ,
43
+ ] ) ;
44
+
45
+ const updatedMessages = messages . map ( ( message ) => ( {
46
+ ...message ,
47
+ role :
48
+ ( model . includes ( 'o1' ) || model . includes ( 'o3' ) ) && message . role === 'system'
49
+ ? [ ...systemToUserModels ] . some ( ( sub ) => model . includes ( sub ) )
50
+ ? 'user'
51
+ : 'developer'
52
+ : message . role ,
53
+ } ) ) ;
54
+
36
55
try {
37
56
const response = await this . client . chat . completions . create ( {
38
- messages : messages as OpenAI . ChatCompletionMessageParam [ ] ,
57
+ messages : updatedMessages as OpenAI . ChatCompletionMessageParam [ ] ,
39
58
model,
40
59
...params ,
41
60
max_completion_tokens : null ,
You can’t perform that action at this time.
0 commit comments