返回提交历史
Modified
g4f/tools/run_tools.py
+14
-1
XFEstudio/gpt4free
Add File API Documentation for Python and JS
fe88b57d
代码差异
1 个文件
+14
-1
@@ -42,6 +42,19 @@ async def async_iter_run_tools(async_iter_callback, model, messages, tool_calls:
42
42
last_line = messages[-1]["content"].strip().splitlines()[-1]
43
43
content = f"Continue after this line.\n{last_line}"
44
44
messages.append({"role": "user", "content": content})
45
elif tool.get("function", {}).get("name") == "bucket_tool":
46
def on_bucket(match):
47
return "".join(read_bucket(get_bucket_dir(match.group(1))))
48
has_bucket = False
49
for message in messages:
50
if "content" in message and isinstance(message["content"], str):
51
new_message_content = re.sub(r'{"bucket_id":"([^"]*)"}', on_bucket, message["content"])
52
if new_message_content != message["content"]:
53
has_bucket = True
54
message["content"] = new_message_content
55
if has_bucket and isinstance(messages[-1]["content"], str):
56
messages[-1]["content"] += BUCKET_INSTRUCTIONS
57
45
58
response = async_iter_callback(model=model, messages=messages, **kwargs)
46
59
if not hasattr(response, "__aiter__"):
47
60
response = to_async_iterator(response)
@@ -95,5 +108,5 @@ def iter_run_tools(
95
108
message["content"] = new_message_content
96
109
if has_bucket and isinstance(messages[-1]["content"], str):
97
110
messages[-1]["content"] += BUCKET_INSTRUCTIONS
98
print(messages[-1])
111
99
112
return iter_callback(model=model, messages=messages, provider=provider, **kwargs)