@@ -985,14 +985,19 @@ async def generate_stream_response(client,reasoner_client, request: ChatRequest,
985
985
chat_vendor = modelProvider ['vendor' ]
986
986
break
987
987
if chat_vendor == 'Dify' :
988
- if request .messages [2 ]['role' ] == 'user' :
989
- if request .messages [1 ]['role' ] == 'assistant' :
990
- request .messages [2 ]['content' ] = "你上一次的发言:\n " + request .messages [0 ]['content' ] + "\n 你上一次的发言结束\n \n 用户:" + request .messages [2 ]['content' ]
991
- if request .messages [0 ]['role' ] == 'system' :
992
- request .messages [2 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n " + request .messages [2 ]['content' ]
993
- if request .messages [1 ]['role' ] == 'user' :
994
- if request .messages [0 ]['role' ] == 'system' :
995
- request .messages [2 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n 用户:" + request .messages [1 ]['content' ]
988
+ try :
989
+ if len (request .messages ) >= 3 :
990
+ if request .messages [2 ]['role' ] == 'user' :
991
+ if request .messages [1 ]['role' ] == 'assistant' :
992
+ request .messages [2 ]['content' ] = "你上一次的发言:\n " + request .messages [0 ]['content' ] + "\n 你上一次的发言结束\n \n 用户:" + request .messages [2 ]['content' ]
993
+ if request .messages [0 ]['role' ] == 'system' :
994
+ request .messages [2 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n " + request .messages [2 ]['content' ]
995
+ elif len (request .messages ) >= 2 :
996
+ if request .messages [1 ]['role' ] == 'user' :
997
+ if request .messages [0 ]['role' ] == 'system' :
998
+ request .messages [1 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n 用户:" + request .messages [1 ]['content' ]
999
+ except Exception as e :
1000
+ print ("Dify error:" ,e )
996
1001
model = settings ['model' ]
997
1002
extra_params = settings ['extra_params' ]
998
1003
# 移除extra_params这个list中"name"不包含非空白符的键值对
@@ -2672,6 +2677,25 @@ async def generate_complete_response(client,reasoner_client, request: ChatReques
2672
2677
else :
2673
2678
kb_list = []
2674
2679
request = await tools_change_messages (request , settings )
2680
+ chat_vendor = 'OpenAI'
2681
+ for modelProvider in settings ['modelProviders' ]:
2682
+ if modelProvider ['id' ] == settings ['selectedProvider' ]:
2683
+ chat_vendor = modelProvider ['vendor' ]
2684
+ break
2685
+ if chat_vendor == 'Dify' :
2686
+ try :
2687
+ if len (request .messages ) >= 3 :
2688
+ if request .messages [2 ]['role' ] == 'user' :
2689
+ if request .messages [1 ]['role' ] == 'assistant' :
2690
+ request .messages [2 ]['content' ] = "你上一次的发言:\n " + request .messages [0 ]['content' ] + "\n 你上一次的发言结束\n \n 用户:" + request .messages [2 ]['content' ]
2691
+ if request .messages [0 ]['role' ] == 'system' :
2692
+ request .messages [2 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n " + request .messages [2 ]['content' ]
2693
+ elif len (request .messages ) >= 2 :
2694
+ if request .messages [1 ]['role' ] == 'user' :
2695
+ if request .messages [0 ]['role' ] == 'system' :
2696
+ request .messages [1 ]['content' ] = "系统提示:\n " + request .messages [0 ]['content' ] + "\n 系统提示结束\n \n 用户:" + request .messages [1 ]['content' ]
2697
+ except Exception as e :
2698
+ print ("Dify error:" ,e )
2675
2699
if settings ['webSearch' ]['enabled' ] or enable_web_search :
2676
2700
if settings ['webSearch' ]['when' ] == 'before_thinking' or settings ['webSearch' ]['when' ] == 'both' :
2677
2701
if settings ['webSearch' ]['engine' ] == 'duckduckgo' :
0 commit comments