Commit 023e1d3
src/llm/gpt.py
@@ -11,7 +11,7 @@ from llm.models import get_context_type, get_gpt_config, parse_force_model
from llm.response import send_to_gpt
from llm.response_stream import send_to_gpt_stream
from llm.tools import merge_tools_response
-from llm.utils import BOT_TIPS, llm_cleanup_files
+from llm.utils import BOT_TIPS, image_emoji, llm_cleanup_files
from messages.parser import parse_msg
from messages.progress import modify_progress
from messages.sender import send2tg
@@ -24,16 +24,20 @@ HELP = f"""🤖**GPT对话**
3. 暂不支持视频/音频, 可先用`{PREFIX.ASR}`命令转为文字后再调用`{PREFIX.GPT}`
⚙️模型配置:
-`{PREFIX.GPT}` 命令默认模型: **{GPT.TEXT_MODEL_NAME}**
-如果上下文中包含图片时, 会自动切换为: **{GPT.IMAGE_MODEL_NAME}**
+`{PREFIX.GPT}`默认模型: **{GPT.TEXT_MODEL_NAME}**
🔄使用以下命令强制切换模型:
-`/gpt`: **{GPT.OPENAI_MODEL_NAME}**
-`/gemini`: **{GPT.GEMINI_MODEL_NAME}**
-`/ds`: **{GPT.DEEPSEEK_MODEL_NAME}**
-`/qwen`: **{GPT.QWEN_MODEL_NAME}**
-`/doubao`: **{GPT.DOUBAO_MODEL_NAME}**
-`/grok`: **{GPT.GROK_MODEL_NAME}**
+`/gpt`: **{GPT.OPENAI_MODEL_NAME}** {image_emoji(GPT.OPENAI_IMAGE_CAPABILITY)}
+`/gemini`: **{GPT.GEMINI_MODEL_NAME}** {image_emoji(GPT.GEMINI_IMAGE_CAPABILITY)}
+`/ds`: **{GPT.DEEPSEEK_MODEL_NAME}** {image_emoji(GPT.DEEPSEEK_IMAGE_CAPABILITY)}
+`/qwen`: **{GPT.QWEN_MODEL_NAME}** {image_emoji(GPT.QWEN_IMAGE_CAPABILITY)}
+`/doubao`: **{GPT.DOUBAO_MODEL_NAME}** {image_emoji(GPT.DOUBAO_IMAGE_CAPABILITY)}
+`/grok`: **{GPT.GROK_MODEL_NAME}** {image_emoji(GPT.GROK_IMAGE_CAPABILITY)}
+
+⚠️注意:
+若对话历史包含图片
+但模型不支持图片(无🏞图标)
+会自动切换为: **{GPT.IMAGE_MODEL_NAME}**
"""
src/llm/utils.py
@@ -150,3 +150,8 @@ def add_search_results_to_response(search_results: list[dict], response: str) ->
if link.startswith("http") and f"({link})" in response:
response += f"\n{number_to_emoji(idx + 1)} [{title}]({link})"
return response.strip()
+
+
+def image_emoji(capability: bool) -> str: # noqa: FBT001
+ """Get image capability emoji."""
+ return "(🏞)" if capability else ""