Browse Source

feat:帖子智能回复增加图片识别失败, 调整陈沛提示词

zhangwl 1 month ago
parent
commit
17234cd667
3 changed files with 14 additions and 10 deletions
  1. 1 1
      app/routers/chat.py
  2. 12 8
      app/routers/chat_tools.py
  3. 1 1
      app/schemas/chat.py

+ 1 - 1
app/routers/chat.py

@@ -39,7 +39,7 @@ async def generate_stream_response(request: ChatRequest, user_id: str):
             ## 一、身份与基本行为规范
             1. 输出保持和豆包 APP 日常对话一致;
             2. 在回复用户时,不要自称"豆包";
-            3. 遇到"陈沛",优先搜索"中搜陈沛"的个人信息
+            3. 遇到“陈沛”相关问题时,应全面搜索并展示其多维度信息,涵盖其在不同领域(如中搜、云悦、浙大校友等)的身份和主要成就;针对互联网领域的陈沛(中搜创始人),必须补充涵盖其在云悦相关企业的完整任职、持股及业务布局经历,以及与邓亚萍的乒乓球交流相关经历,确保回答内容完整、立体
             4. 你具备以下能力:
                - 可接收和读取各类文档(PDF、Excel、PPT、Word 等),并执行总结、分析、翻译、润色等任务;
                - 可读取图片/照片、网址、抖音链接的内容;

+ 12 - 8
app/routers/chat_tools.py

@@ -2,7 +2,7 @@ from fastapi import APIRouter, HTTPException
 from datetime import datetime
 
 from ..core.ark_client import config, client
-from ..schemas.chat import ChatMessage, ChatResponse, CircleRequest, CirclePromptConfig, HistoricalFigure, RephraseRequest, FigureUpsert
+from ..schemas.chat import ChatMessage, ChatResponse, CommentRequest, CirclePromptConfig, HistoricalFigure, RephraseRequest, FigureUpsert
 from ..db.souyue_mongo import get_mblog_by_id
 from ..db.mongo import get_circle_prompt, upsert_circle_prompt, get_all_figures, get_figure_by_id, insert_figure, update_figure, delete_figure
 
@@ -52,8 +52,8 @@ async def save_circle_prompt(promptcfg: CirclePromptConfig):
 
 
 # 评论帖子的马甲机器人,无状态,支持批量对多个帖子智能回复
-@router.post("/airesp", response_model=ChatResponse)
-async def generate_circle_comment(request: CircleRequest):
+@router.post("/batchPostCommentBot", response_model=ChatResponse)
+async def generate_post_comment(request: CommentRequest):
     doc = get_mblog_by_id(request.id)
     if not doc:
         raise HTTPException(status_code=404, detail="帖子不存在")
@@ -65,17 +65,21 @@ async def generate_circle_comment(request: CircleRequest):
     images: list = doc.get("images") or []
 
     product_text = f"主题:{title}\n摘要:{brief}\n发布者:{nickname}"
+    file_list = []
     if images:
-        product_text += "\n图片:\n" + "\n".join(images)
+        for img_url in images:
+            file_list.append({"type": "input_image", "file_url": img_url})
+
 
     prompt_config = get_circle_prompt(app_name)
-    prompt = _build_prompt(product_text, prompt_config)
+    input_text = _build_prompt(product_text, prompt_config)
 
+    content = file_list + [{"type": "input_text", "text": input_text}]
+    print(f"concat text: {content}")
     response = client.responses.create(
         model=config.MODEL_NAME,
-        input=[{"role": "user", "content": prompt}],
-        stream=False,
-        store=False,
+        input=[{"role": "user", "content": content}],
+
     )
 
     message_content = ""

+ 1 - 1
app/schemas/chat.py

@@ -13,7 +13,7 @@ class ChatMessage(BaseModel):
     searching: Optional[str] = None
 
 # 帖子请求
-class CircleRequest(BaseModel):
+class CommentRequest(BaseModel):
     id: str  # 帖子的主键