deeppersona-experience / TEST_EXAMPLE.md
Yufan_Zhou
Fix: Use user preset inputs instead of random generation
d8c5622

A newer version of the Gradio SDK is available: 6.6.0

Upgrade

测试示例 - 验证用户输入是否被正确使用

如何测试

方法 1: 通过 Web 界面测试

  1. 启动应用:
cd /Users/yufan_zhou/Documents/deeppersona/deeppersona-experience
python app.py
  1. 在浏览器中打开 http://localhost:7860

  2. 输入测试数据(例如):

    • Age: 28
    • Gender: Male
    • Occupation: Data Scientist
    • City: San Francisco
    • Country: USA
    • Personal Values: (留空,测试自动生成)
    • Life Attitude: "Curious and analytical"
    • Life Story: (留空,测试自动生成)
    • Interests and Hobbies: "Machine learning, hiking"
  3. 点击 "Generate Character Profile"

  4. 检查控制台输出,应该看到类似:

Found existing user_profile.json, using preset inputs...
✓ Using user-provided age: 28
✓ Using user-provided gender: Male
✓ Using user-provided location: San Francisco, USA
✓ Using user-provided occupation: Data Scientist
✗ Personal values not provided, generated based on user inputs
✓ Using user-provided life attitude: Curious and analytical
✗ Life story not provided, generated based on user inputs
✓ Using user-provided interests: Machine learning, hiking
  1. 检查生成的 Profile,应该包含:
    • 年龄 28 岁
    • 性别 Male
    • 职业 Data Scientist
    • 地点 San Francisco, USA
    • 生活态度包含 "Curious and analytical"
    • 兴趣包含 "Machine learning" 和 "hiking"

方法 2: 通过命令行测试

  1. 创建测试输入文件 test_input.json:
{
  "basic_info": {
    "age": 25,
    "gender": "Female",
    "occupation": {
      "status": "Software Engineer"
    },
    "location": {
      "city": "Tokyo",
      "country": "Japan"
    }
  },
  "custom_values": {
    "personal_values": "Values innovation and teamwork",
    "life_attitude": "",
    "life_story": "",
    "interests_hobbies": "Coding, anime, gaming"
  }
}
  1. 运行测试:
cd /Users/yufan_zhou/Documents/deeppersona/deeppersona-experience/generate_user_profile_final/code
python web_api_bridge.py --input test_input.json --attributes 200
  1. 检查输出,应该显示:
✓ Using user-provided age: 25
✓ Using user-provided gender: Female
✓ Using user-provided location: Tokyo, Japan
✓ Using user-provided occupation: Software Engineer
✓ Using user-provided personal values: Values innovation and teamwork
✗ Life attitude not provided, generated based on user inputs
✗ Life story not provided, generated based on user inputs
✓ Using user-provided interests: Coding, anime, gaming

验证要点

✅ 正确行为

  1. 用户输入的字段显示 ✓ Using user-provided ...
  2. 未输入的字段显示 ✗ ... not provided, generated ...
  3. 生成的 profile 包含所有用户输入的内容
  4. 未输入的字段基于已输入内容合理生成(不是完全随机)

❌ 错误行为(如果看到这些,说明修复失败)

  1. 所有字段都显示 ✗ ... not provided, generated ...(说明用户输入被忽略)
  2. 用户输入的年龄、性别等与生成的 profile 不匹配
  3. 生成的内容与用户输入完全无关

调试提示

如果测试失败,检查以下内容:

  1. 检查 user_profile.json 是否正确保存:
cat /Users/yufan_zhou/Documents/deeppersona/deeppersona-experience/generate_user_profile_final/output/user_profile.json
  1. 检查控制台是否显示 "Found existing user_profile.json":

    • 如果没有,说明文件路径不对
    • 如果显示 "No existing user_profile.json found",说明文件没有被保存
  2. 检查是否有错误信息:

    • 查看完整的 traceback
    • 检查是否有 JSON 解析错误
    • 检查是否有字段类型不匹配的错误