jihuaqiang vor 1 Tag
Ursprung
Commit
14d2d8f097
4 geänderte Dateien mit 0 neuen und 341 gelöschten Zeilen
  1. 0 117
      clone_project.sh
  2. 0 102
      examples/test_db_connection.py
  3. 0 57
      prompt.md
  4. 0 65
      test_key_points_dimension.py

+ 0 - 117
clone_project.sh

@@ -1,117 +0,0 @@
-#!/bin/bash
-
-# 配置部分 - 可以根据需要修改
-FOLDERS_TO_COPY=(".claude")  # 要复制的文件夹列表
-FILES_TO_COPY=("CLAUDE.md" "clone_project.sh")  # 要复制的具体文件列表
-FILE_EXTENSIONS=("pdf")  # 要复制的文件后缀列表
-
-# Python 依赖包配置
-PYTHON_REQUIREMENTS=(
-    "langgraph"
-    "langchain-openai"
-    "langchain-google-genai"
-)
-
-# 获取当前文件夹名称
-CURRENT_FOLDER=$(basename "$(pwd)")
-
-# 获取当前日期(格式:MMDD_HHMM)
-DATE=$(date +"%m%d_%H%M")
-
-# 组合新文件夹名称
-NEW_FOLDER="${CURRENT_FOLDER}_${DATE}"
-
-# 在父目录中创建新文件夹的完整路径
-NEW_FOLDER_PATH="../${NEW_FOLDER}"
-
-echo "当前文件夹: $CURRENT_FOLDER"
-echo "新文件夹名称: $NEW_FOLDER"
-echo "新文件夹路径: $NEW_FOLDER_PATH"
-
-# 检查新文件夹是否已存在
-if [ -d "$NEW_FOLDER_PATH" ]; then
-    echo "错误: 文件夹 '$NEW_FOLDER_PATH' 已存在"
-    exit 1
-fi
-
-# 在父目录中创建新文件夹
-echo "在父目录中创建文件夹: $NEW_FOLDER"
-mkdir -p "$NEW_FOLDER_PATH"
-
-# 复制指定的文件夹
-echo "正在复制指定文件夹..."
-for folder in "${FOLDERS_TO_COPY[@]}"; do
-    if [ -d "$folder" ]; then
-        echo "复制文件夹: $folder 到 $NEW_FOLDER"
-        cp -r "$folder" "$NEW_FOLDER_PATH/"
-    else
-        echo "警告: 文件夹 '$folder' 不存在,跳过复制"
-    fi
-done
-
-# 复制指定的文件
-echo "正在复制指定文件..."
-for file in "${FILES_TO_COPY[@]}"; do
-    if [ -f "$file" ]; then
-        echo "复制文件: $file 到 $NEW_FOLDER"
-        cp "$file" "$NEW_FOLDER_PATH/"
-    else
-        echo "警告: 文件 '$file' 不存在,跳过复制"
-    fi
-done
-
-# 复制指定后缀的文件
-echo "正在复制指定后缀的文件..."
-for ext in "${FILE_EXTENSIONS[@]}"; do
-    FILES_FOUND=$(find . -maxdepth 1 -name "*.${ext}" -type f)
-    if [ -n "$FILES_FOUND" ]; then
-        echo "复制 *.${ext} 文件到 $NEW_FOLDER"
-        cp *.${ext} "$NEW_FOLDER_PATH/" 2>/dev/null
-        echo "已复制的 *.${ext} 文件:"
-        ls -1 "$NEW_FOLDER_PATH"/*.${ext} 2>/dev/null | sed 's/.*\//  - /'
-    else
-        echo "警告: 当前目录下没有找到 *.${ext} 文件"
-    fi
-done
-
-# 创建 requirements.txt 文件
-echo "正在创建 requirements.txt 文件..."
-REQUIREMENTS_FILE="$NEW_FOLDER_PATH/requirements.txt"
-> "$REQUIREMENTS_FILE"  # 清空文件
-for package in "${PYTHON_REQUIREMENTS[@]}"; do
-    echo "$package" >> "$REQUIREMENTS_FILE"
-done
-echo "requirements.txt 文件已创建,包含以下依赖包:"
-cat "$REQUIREMENTS_FILE" | sed 's/^/  - /'
-
-echo "操作完成!"
-echo "新文件夹 '$NEW_FOLDER' 已创建,并已复制相关文件。"
-
-# 检查 conda 是否可用
-if ! command -v conda &> /dev/null; then
-    echo "错误: conda 未找到,请确保已安装 conda 并添加到 PATH"
-    exit 1
-fi
-
-
-
-# 初始化 conda(确保在当前 shell 中生效)
-eval "$(conda shell.bash hook)"
-
-echo "正在创建 conda 环境: ${NEW_FOLDER}"
-conda create -n "${NEW_FOLDER}" python=3.10 -y
-
-echo "正在激活环境并安装依赖包..."
-conda run -n "${NEW_FOLDER}" pip install -r "${NEW_FOLDER_PATH}/requirements.txt"
-
-echo "✅ 环境创建完成!"
-echo "📋 使用以下命令激活环境:"
-echo "   conda activate ${NEW_FOLDER}"
-echo ""
-echo "📦 已安装的包:"
-conda run -n "${NEW_FOLDER}" pip list | grep -E "(langgraph|langchain)"
-
-echo "新工程路径:"
-echo "   $(cd .. && pwd)/$NEW_FOLDER"
-
-#删除 conda env remove -n env_name

+ 0 - 102
examples/test_db_connection.py

@@ -1,102 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""
-测试数据库连接
-
-验证数据库配置是否正确,连接是否正常
-"""
-
-import sys
-from src.models import get_engine, init_db, DecodeVideo
-from src.models.database import get_database_url
-from src.utils.logger import get_logger
-
-logger = get_logger(__name__)
-
-
-def test_connection():
-    """测试数据库连接"""
-    print("=" * 60)
-    print("数据库连接测试")
-    print("=" * 60)
-    
-    try:
-        # 1. 显示连接信息(隐藏密码)
-        database_url = get_database_url()
-        # 隐藏密码显示
-        safe_url = database_url.split('@')[0].split(':')[0] + ':***@' + '@'.join(database_url.split('@')[1:])
-        print(f"\n✓ 数据库连接URL: {safe_url}")
-        
-        # 2. 测试连接
-        print("\n正在测试数据库连接...")
-        engine = get_engine()
-        
-        # 尝试连接
-        with engine.connect() as conn:
-            result = conn.execute("SELECT 1 as test")
-            row = result.fetchone()
-            if row and row[0] == 1:
-                print("✓ 数据库连接成功!")
-            else:
-                print("✗ 数据库连接测试失败")
-                return False
-        
-        # 3. 测试表是否存在
-        print("\n检查 decode_videos 表...")
-        from sqlalchemy import inspect
-        inspector = inspect(engine)
-        tables = inspector.get_table_names()
-        
-        if 'decode_videos' in tables:
-            print("✓ decode_videos 表已存在")
-            
-            # 显示表结构
-            columns = inspector.get_columns('decode_videos')
-            print(f"\n表结构 ({len(columns)} 个字段):")
-            for col in columns:
-                nullable = "NULL" if col['nullable'] else "NOT NULL"
-                print(f"  - {col['name']}: {col['type']} ({nullable})")
-            
-            # 统计记录数
-            from src.models import get_db
-            db = next(get_db())
-            try:
-                count = db.query(DecodeVideo).count()
-                print(f"\n✓ 当前记录数: {count}")
-            except Exception as e:
-                print(f"⚠ 查询记录数时出错: {e}")
-            finally:
-                db.close()
-        else:
-            print("⚠ decode_videos 表不存在")
-            print("\n是否要创建表?(y/n): ", end="")
-            choice = input().strip().lower()
-            if choice == 'y':
-                print("\n正在创建表...")
-                init_db()
-                print("✓ 表创建完成")
-            else:
-                print("跳过表创建")
-        
-        print("\n" + "=" * 60)
-        print("✓ 所有测试通过!")
-        print("=" * 60)
-        return True
-        
-    except Exception as e:
-        print(f"\n✗ 数据库连接失败: {e}")
-        print("\n请检查以下配置:")
-        print("  1. 数据库主机地址是否正确")
-        print("  2. 数据库端口是否开放")
-        print("  3. 用户名和密码是否正确")
-        print("  4. 数据库名称是否正确")
-        print("  5. 网络连接是否正常(外网地址需要公网访问权限)")
-        import traceback
-        traceback.print_exc()
-        return False
-
-
-if __name__ == "__main__":
-    success = test_connection()
-    sys.exit(0 if success else 1)
-

+ 0 - 57
prompt.md

@@ -1,57 +0,0 @@
-
-## 第1步,根据需求PRD生成技术文档
-
-根据需求文档 prd1.3.pdf,输出对应的设计技术文档到 tech_design_document.md 文件,这个技术文档将用于指导后续的组件的编码实现。
-重点关注一下问题:
-- 这个PRD的目标是什么?
-- 为了完成这个目标,需要哪些功能?
-- 什么功能可以用工作流实现,什么功能可以用组件实现?
-- 对于工作流,
-  - 工作流的核心逻辑是什么?用流程图如何表示,核心代码是什么样的?
-- 对于组件,
-  - 用什么类型的组件实现?
-  - 每个组件的关键点是什么?
-- 每一个决策的出处和依据是什么?必须有理有据;
-
-
-## 第2步,生成代码
-
-根据需求文档 prd1.3.pdf 和 对应的技术文档 tech_design_document.md,实现编码
-- 每个组件独立一个文件
-- 不要有任何Mock数据
-- 不要对任何逻辑做简化处理
-
-## 第3步,跑通case
-
-请你运行examples/测试数据/阿里多多酱 文件下的  待解构帖子.json 作为实际的输入,运行并解决遇到的所有问题
-
-
-
-
-## 第1步,根据需求PRD生成技术文档
-
-根据需求文档 prd1.3.pdf和技术文档tech_design_document.md,输出新的设计技术文档到 tech_design_document_update.md 文件,这个技术文档将用于指导后续的组件的编码实现。
-重点关注一下问题:
-- 这个PRD的目标是什么?
-- 为了完成这个目标,需要哪些功能?
-- 什么功能可以用工作流实现,什么功能可以用组件实现?
-- 对于工作流,
-  - 工作流的核心逻辑是什么?用流程图如何表示,核心代码是什么样的?
-- 对于组件,
-  - 用什么类型的组件实现?
-  - 每个组件的关键点是什么?
-- 每一个决策的出处和依据是什么?必须有理有据;
-
-
-
-
-## 第2步,生成代码
-
-根据需求文档 prd1.3.pdf 和 对应的技术文档 tech_design_document.md,实现编码
-- 每个组件独立一个文件
-- 不要有任何Mock数据
-- 不要对任何逻辑做简化处理
-
-## 第3步,跑通case
-
-请你运行examples/测试数据/阿里多多酱 文件下的  待解构帖子.json 作为实际的输入,运行并解决遇到的所有问题

+ 0 - 65
test_key_points_dimension.py

@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-"""
-测试关键点Agent的新维度定义
-"""
-
-from src.components.agents.key_points_agent import KeyPointsAgent
-
-def test_key_points_new_dimensions():
-    """测试新的维度定义(形式&关系、实质)"""
-
-    # 创建关键点Agent
-    agent = KeyPointsAgent()
-
-    # 构造测试数据
-    test_state = {
-        "text": {
-            "title": "冬日温暖穿搭分享",
-            "body": "这套穿搭采用了经典的叠穿技巧,内搭白色高领毛衣,外搭米色大衣。配色上选择了温暖的大地色系,整体风格简约优雅。",
-            "hashtags": ["#冬日穿搭", "#叠穿技巧"]
-        },
-        "images": []  # 暂不测试图片
-    }
-
-    # 运行关键点提取
-    print("=" * 80)
-    print("测试关键点Agent - 新维度定义(形式&关系、实质)")
-    print("=" * 80)
-    print("\n测试数据:")
-    print(f"标题: {test_state['text']['title']}")
-    print(f"正文: {test_state['text']['body']}")
-    print(f"标签: {test_state['text']['hashtags']}")
-    print("\n开始分析...\n")
-
-    result = agent.process(test_state)
-
-    print("\n" + "=" * 80)
-    print("测试结果:")
-    print("=" * 80)
-
-    if "key_points" in result:
-        key_points_data = result["key_points"]
-        print(f"\n总计: {key_points_data.get('total_count', 0)} 个关键点")
-
-        points = key_points_data.get("key_points", [])
-        if points:
-            print("\n关键点详情:")
-            for idx, point in enumerate(points, 1):
-                维度大类 = point.get("维度大类", "未知")
-                维度细分 = point.get("维度细分", "未知")
-                关键点 = point.get("关键点", "未知")
-                描述 = point.get("描述", "未知")
-
-                print(f"\n{idx}. [{维度大类}] {维度细分}")
-                print(f"   关键点: {关键点}")
-                print(f"   描述: {描述}")
-        else:
-            print("\n未识别到关键点")
-    else:
-        print("\n处理失败")
-
-    print("\n" + "=" * 80)
-
-if __name__ == "__main__":
-    test_key_points_new_dimensions()