feat: NormalMessageResponded添加func_called参数

This commit is contained in:
RockChinQ
2023-08-02 18:01:02 +08:00
parent 00623bc431
commit 1d0573e7ff
4 changed files with 14 additions and 7 deletions
+9 -5
View File
@@ -194,14 +194,14 @@ class Session:
# 请求回复
# 这个函数是阻塞的
def append(self, text: str=None) -> tuple[str, str]:
def append(self, text: str=None) -> tuple[str, str, list[str]]:
"""向session中添加一条消息,返回接口回复
Args:
text (str): 用户消息
Returns:
tuple[str, str]: (接口回复, finish_reason)
tuple[str, str]: (接口回复, finish_reason, 已调用的函数列表)
"""
self.last_interact_timestamp = int(time.time())
@@ -216,7 +216,7 @@ class Session:
event = pkg.plugin.host.emit(plugin_models.SessionFirstMessageReceived, **args)
if event.is_prevented_default():
return None, None
return None, None, None
config = pkg.utils.context.get_config()
max_length = config.prompt_submit_length
@@ -253,6 +253,8 @@ class Session:
finish_reason: str = ""
funcs = []
for resp in pkg.utils.context.get_openai_manager().request_completion(prompts):
finish_reason = resp['choices'][0]['finish_reason']
@@ -288,10 +290,12 @@ class Session:
# )
# total_tokens += resp['usage']['total_tokens']
funcs.append(
resp['choices'][0]['message']['function_name']
)
pass
# 向API请求补全
# message, total_token = pkg.utils.context.get_openai_manager().request_completion(
# prompts,
@@ -317,7 +321,7 @@ class Session:
self.just_switched_to_exist_session = False
self.set_ongoing()
return res_ans if res_ans[0] != '\n' else res_ans[1:], finish_reason
return res_ans if res_ans[0] != '\n' else res_ans[1:], finish_reason, funcs
# 删除上一回合并返回上一回合的问题
def undo(self) -> str: