XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/gpt4free

Optimize tokens

7570313e
hlohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

2 个文件 +8 -19
Modified g4f/tools/optimize_request.py +2 -1
@@ -1444,7 +1444,8 @@ def optimize_request(messages: Messages, tools: Any) -> Tuple[int, Dict[str, str
1444 1444 # the changes.
1445 1445 tools[:] = filtered
1446 1446 saved_bytes += tool_saved
1447 logs.update(tool_logs)
1447 #logs.update(tool_logs)
1448 logs["tools"] = f"optimized tools (-{tool_saved} bytes)"
1448 1449
1449 1450 # Report overall savings as a percentage of the baseline.
1450 1451 if baseline_bytes > 0 and saved_bytes > 0:
Modified g4f/tools/run_tools.py +6 -18
@@ -340,9 +340,6 @@ async def async_iter_run_tools(
340 340 # This is applied for all providers and the saved tokens are tracked.
341 341 tools_ref = kwargs.get("tools")
342 342 saved_tokens, _optimize_logs = optimize_request(messages, tools_ref)
343 if saved_tokens:
344 _summary = _optimize_logs.get("summary", f"saved ~{saved_tokens} tokens")
345 # debug.log(f"Optimized request: {_summary}")
346 343
347 344 # Optional token-optimizer plugin: compress the prompt messages before
348 345 # they reach the provider. Only active when the `token_optimizer` package
@@ -352,12 +349,6 @@ async def async_iter_run_tools(
352 349 saved_tokens += to_saved
353 350 debug.log(f"Token Optimizer plugin: saved ~{to_saved} tokens")
354 351
355 # Calculate the percentage of original prompt tokens saved by optimization.
356 _original_prompt_tokens = caculate_prompt_tokens(messages) + saved_tokens
357 saved_percent = round(saved_tokens / _original_prompt_tokens * 100) if _original_prompt_tokens > 0 and saved_tokens > 0 else 0
358 if saved_tokens:
359 debug.log(f"Token savings: {saved_tokens} tokens ({saved_percent}%)")
360
361 352 tool_emulation = kwargs.pop("tool_emulation", None)
362 353 if tool_emulation is None:
363 354 tool_emulation = os.environ.get("G4F_TOOL_EMULATION", "").strip().lower() in (
@@ -470,6 +461,9 @@ async def async_iter_run_tools(
470 461 }
471 462 if saved_tokens:
472 463 usage_dict["saved_tokens"] = saved_tokens
464 old_tokens = usage_dict.get("prompt_tokens", 0) + saved_tokens
465 saved_percent = round(saved_tokens / old_tokens * 100) if old_tokens > 0 and saved_tokens > 0 else 0
466 debug.log(f"Token savings: {saved_tokens}/{old_tokens} tokens ({saved_percent}%)")
473 467 usage = usage_dict
474 468 usage_dir = Path(get_cookies_dir()) / ".usage"
475 469 usage_file = usage_dir / f"{datetime.date.today()}.jsonl"
@@ -504,9 +498,6 @@ def iter_run_tools(
504 498 # This is applied for all providers and the saved tokens are tracked.
505 499 tools_ref = kwargs.get("tools")
506 500 saved_tokens, _optimize_logs = optimize_request(messages, tools_ref)
507 if saved_tokens:
508 _summary = _optimize_logs.get("summary", f"saved ~{saved_tokens} tokens")
509 # debug.log(f"Optimized request: {_summary}")
510 501
511 502 # Optional token-optimizer plugin: compress the prompt messages before
512 503 # they reach the provider. Only active when the `token_optimizer` package
@@ -516,12 +507,6 @@ def iter_run_tools(
516 507 saved_tokens += to_saved
517 508 debug.log(f"Token Optimizer plugin: saved ~{to_saved} tokens")
518 509
519 # Calculate the percentage of original prompt tokens saved by optimization.
520 _original_prompt_tokens = caculate_prompt_tokens(messages) + saved_tokens
521 saved_percent = round(saved_tokens / _original_prompt_tokens * 100) if _original_prompt_tokens > 0 and saved_tokens > 0 else 0
522 if saved_tokens:
523 debug.log(f"Token savings: {saved_tokens} tokens ({saved_percent}%)")
524
525 510 tool_emulation = kwargs.pop("tool_emulation", None)
526 511 if tool_emulation is None:
527 512 tool_emulation = os.environ.get("G4F_TOOL_EMULATION", "").strip().lower() in (
@@ -693,6 +678,9 @@ def iter_run_tools(
693 678 }
694 679 if saved_tokens:
695 680 usage_dict["saved_tokens"] = saved_tokens
681 old_tokens = usage_dict.get("prompt_tokens", 0) + saved_tokens
682 saved_percent = round(saved_tokens / old_tokens * 100) if old_tokens > 0 and saved_tokens > 0 else 0
683 debug.log(f"Token savings: {saved_tokens}/{old_tokens} tokens ({saved_percent}%)")
696 684 usage = usage_dict
697 685 usage_dir = Path(get_cookies_dir()) / ".usage"
698 686 usage_file = usage_dir / f"{datetime.date.today()}.jsonl"