Kaynağa Gözat

增加需求产出agent

xueyiming 2 hafta önce
ebeveyn
işleme
d11c8e9773

+ 1 - 1
agents/generate_demand_agent/run.py

@@ -10,7 +10,7 @@ def main() -> None:
     print(f"tools: {agent.tools.list_tools()}")
     print()
     user_input = f'''
-    帮我基于平台持续热度产出一批效果好的需求
+    帮我产出一批平台热度高的需求,50个左右
        '''
     result = agent.run(user_input)
     print(result.content)

+ 0 - 0
supply_infra/db/models/generated_demand.py


+ 27 - 0
supply_infra/db/repositories/generated_demand_repo.py

@@ -0,0 +1,27 @@
+from __future__ import annotations
+
+from sqlalchemy.dialects.mysql import insert
+
+from supply_infra.db.models.generated_demand import GeneratedDemand
+from supply_infra.db.repositories.base import BaseRepository
+
+_BATCH_SIZE = 500
+
+
+class GeneratedDemandRepository(BaseRepository[GeneratedDemand]):
+    """单维度需求产生结果表 repository。"""
+
+    model = GeneratedDemand
+
+    def bulk_insert(self, rows: list[dict]) -> int:
+        """批量插入生成结果行。"""
+        if not rows:
+            return 0
+
+        inserted = 0
+        for i in range(0, len(rows), _BATCH_SIZE):
+            batch = rows[i : i + _BATCH_SIZE]
+            stmt = insert(GeneratedDemand).values(batch)
+            result = self.session.execute(stmt)
+            inserted += result.rowcount or 0
+        return inserted