You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

69 lines
2.1 KiB

"""
简单测试URL是否正确返回
"""
import asyncio
from ai_agent import get_creative_guidance, generate_creative_inspirations
async def test():
print("=" * 80)
print("测试URL返回")
print("=" * 80)
# 获取校园分类的视频数据
print("\n1. 获取视频数据...")
result = await get_creative_guidance(category="校园")
if not result["success"]:
print(f"✗ 获取数据失败: {result.get('error')}")
return
print(f"✓ 获取到 {result['total_count']} 个视频")
# 显示前3个视频的authorLink
print("\n2. 视频数据中的authorLink:")
for i, video in enumerate(result['videos'][:3], 1):
print(f" 视频{i}: {video.get('author')} - {video.get('authorLink', 'N/A')[:60]}...")
# 生成灵感
print("\n3. 生成灵感...")
inspiration_result = generate_creative_inspirations(
videos=result['videos'],
user_query="我想做一些校园相关的短视频",
count=3 # 只生成3个用于测试
)
if not inspiration_result["success"]:
print(f"✗ 生成灵感失败: {inspiration_result.get('error')}")
return
print(f"✓ 生成了 {len(inspiration_result['inspirations'])} 个灵感")
# 检查URL
print("\n4. 检查灵感中的URL:")
all_valid = True
for i, inspiration in enumerate(inspiration_result['inspirations'], 1):
url = inspiration.get('url', 'N/A')
is_valid = url != 'N/A' and 'http' in url
print(f" 灵感{i}:")
print(f" - 标题: {inspiration.get('title')}")
print(f" - 作者: {inspiration.get('reference_author')}")
print(f" - URL: {url[:60]}...")
print(f" - 状态: {'✓ 有效' if is_valid else '✗ 无效'}")
print()
if not is_valid:
all_valid = False
print("=" * 80)
if all_valid:
print("✓ 所有灵感都包含有效的URL!")
else:
print("✗ 部分灵感的URL无效")
print("=" * 80)
if __name__ == "__main__":
asyncio.run(test())