Skip to content

Commit 423405f

Browse files
authored
Merge pull request #168 from heshengtao/dev
Dev
2 parents 904a723 + 6819c59 commit 423405f

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

server.py

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -985,14 +985,19 @@ async def generate_stream_response(client,reasoner_client, request: ChatRequest,
985985
chat_vendor = modelProvider['vendor']
986986
break
987987
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)
9961001
model = settings['model']
9971002
extra_params = settings['extra_params']
9981003
# 移除extra_params这个list中"name"不包含非空白符的键值对
@@ -2672,6 +2677,25 @@ async def generate_complete_response(client,reasoner_client, request: ChatReques
26722677
else:
26732678
kb_list = []
26742679
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)
26752699
if settings['webSearch']['enabled'] or enable_web_search:
26762700
if settings['webSearch']['when'] == 'before_thinking' or settings['webSearch']['when'] == 'both':
26772701
if settings['webSearch']['engine'] == 'duckduckgo':

0 commit comments

Comments
 (0)