mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
perf: cherry-pick PR #172 性能优化(不含 orjson)
- tiktoken 编码器改为 @lru_cache 全局缓存,避免多实例重复初始化 - 前缀匹配按长度排序,避免短前缀抢先匹配 - AuthService 更新 last_used_at 时临时关闭 expire_on_commit,减少额外 SELECT - UsageService.record_usage_batch 改用 bulk_insert_mappings 批量插入 - 已有记录查询增加 selectinload 预加载,避免 N+1 - Gemini normalizer 长行格式化 Co-Authored-By: AAEE86 <33052466+AAEE86@users.noreply.github.com>
This commit is contained in:
@@ -692,10 +692,18 @@ class GeminiNormalizer(FormatNormalizer):
|
||||
# 关闭前面的 thinking/text block(如果还开着)
|
||||
if ss.get("thinking_block_started") and not ss.get("thinking_block_stopped"):
|
||||
ss["thinking_block_stopped"] = True
|
||||
events.append(ContentBlockStopEvent(block_index=_reserve_block_index("thinking_block_index")))
|
||||
events.append(
|
||||
ContentBlockStopEvent(
|
||||
block_index=_reserve_block_index("thinking_block_index")
|
||||
)
|
||||
)
|
||||
if ss.get("text_block_started") and not ss.get("text_block_stopped"):
|
||||
ss["text_block_stopped"] = True
|
||||
events.append(ContentBlockStopEvent(block_index=_reserve_block_index("text_block_index")))
|
||||
events.append(
|
||||
ContentBlockStopEvent(
|
||||
block_index=_reserve_block_index("text_block_index")
|
||||
)
|
||||
)
|
||||
|
||||
name = str(func_call.get("name") or "")
|
||||
args = func_call.get("args")
|
||||
@@ -766,10 +774,14 @@ class GeminiNormalizer(FormatNormalizer):
|
||||
# 先补齐 content_block_stop(所有已开启的 block),再发送 MessageStop
|
||||
if ss.get("thinking_block_started") and not ss.get("thinking_block_stopped"):
|
||||
ss["thinking_block_stopped"] = True
|
||||
events.append(ContentBlockStopEvent(block_index=_reserve_block_index("thinking_block_index")))
|
||||
events.append(
|
||||
ContentBlockStopEvent(block_index=_reserve_block_index("thinking_block_index"))
|
||||
)
|
||||
if ss.get("text_block_started") and not ss.get("text_block_stopped"):
|
||||
ss["text_block_stopped"] = True
|
||||
events.append(ContentBlockStopEvent(block_index=_reserve_block_index("text_block_index")))
|
||||
events.append(
|
||||
ContentBlockStopEvent(block_index=_reserve_block_index("text_block_index"))
|
||||
)
|
||||
events.append(MessageStopEvent(stop_reason=stop_reason, usage=usage_info))
|
||||
|
||||
if "error" in chunk:
|
||||
|
||||
Reference in New Issue
Block a user