TheSmallHanCat commited on
Commit
199b465
·
1 Parent(s): d96fe18

feat: 完善图片生成连续对话功能

Browse files
Files changed (1) hide show
  1. src/api/routes.py +5 -4
src/api/routes.py CHANGED
@@ -133,10 +133,10 @@ async def create_chat_completion(
133
  # 自动参考图:仅对图片模型生效
134
  model_config = MODEL_CONFIG.get(request.model)
135
 
136
- if model_config and model_config["type"] == "image" and not images and len(request.messages) > 1:
137
  debug_logger.log_info(f"[CONTEXT] 开始查找历史参考图,消息数量: {len(request.messages)}")
138
 
139
- # 如果当前请求没有上传图片,则尝试从历史记录中寻最近的张生成
140
  for msg in reversed(request.messages[:-1]):
141
  if msg.role == "assistant" and isinstance(msg.content, str):
142
  # 匹配 Markdown 图片格式: ![...](http...)
@@ -148,8 +148,9 @@ async def create_chat_completion(
148
  try:
149
  downloaded_bytes = await retrieve_image_data(last_image_url)
150
  if downloaded_bytes and len(downloaded_bytes) > 0:
151
- images.append(downloaded_bytes)
152
- debug_logger.log_info(f"[CONTEXT] ✅ 自动使用历史参考图: {last_image_url}")
 
153
  break
154
  else:
155
  debug_logger.log_warning(f"[CONTEXT] 图片下载失败或为空,尝试下一个: {last_image_url}")
 
133
  # 自动参考图:仅对图片模型生效
134
  model_config = MODEL_CONFIG.get(request.model)
135
 
136
+ if model_config and model_config["type"] == "image" and len(request.messages) > 1:
137
  debug_logger.log_info(f"[CONTEXT] 开始查找历史参考图,消息数量: {len(request.messages)}")
138
 
139
+ # 次 assistant 回复的
140
  for msg in reversed(request.messages[:-1]):
141
  if msg.role == "assistant" and isinstance(msg.content, str):
142
  # 匹配 Markdown 图片格式: ![...](http...)
 
148
  try:
149
  downloaded_bytes = await retrieve_image_data(last_image_url)
150
  if downloaded_bytes and len(downloaded_bytes) > 0:
151
+ # 将历史图片插入到最前面
152
+ images.insert(0, downloaded_bytes)
153
+ debug_logger.log_info(f"[CONTEXT] ✅ 添加历史参考图: {last_image_url}")
154
  break
155
  else:
156
  debug_logger.log_warning(f"[CONTEXT] 图片下载失败或为空,尝试下一个: {last_image_url}")