项目文件夹

文件
wehub-resource-sync 75c67150d0
build / build (3.13) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build wheels (macos-aarch64) (push) Has been cancelled
release-please / build wheels (macos-x86_64) (push) Has been cancelled
release-please / build wheels (windows-x86_64) (push) Has been cancelled
release-please / build wheels (linux-aarch64) (push) Has been cancelled
release-please / build wheels (linux-x86_64) (push) Has been cancelled
release-please / build sdist (push) Has been cancelled
release-please / publish release artifacts (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:36:10 +08:00

98 行
3.0 KiB
Python

#!/usr/bin/env python3
"""
Quick test script to verify LazyLLM backend configuration and basic functionality.
Usage:
export MEMU_QWEN_API_KEY=your_api_key
python examples/test_lazyllm.py
"""
import asyncio
import os
import sys
import pytest
# Add src to sys.path
src_path = os.path.abspath("src")
sys.path.insert(0, src_path)
pytest.importorskip("lazyllm")
if not os.getenv("MEMU_QWEN_API_KEY"):
pytest.skip("requires MEMU_QWEN_API_KEY for optional LazyLLM integration test", allow_module_level=True)
from memu.llm.lazyllm_client import LazyLLMClient # noqa: E402
async def test_lazyllm_client():
"""Test LazyLLMClient with basic operations."""
print("LazyLLM Backend Test")
print("=" * 60)
# Get API key from environment
try:
client = LazyLLMClient(
llm_source="qwen",
vlm_source="qwen",
embed_source="qwen",
stt_source="qwen",
chat_model="qwen-plus",
vlm_model="qwen-vl-plus",
embed_model="text-embedding-v3",
stt_model="qwen-audio-turbo",
)
print("✓ LazyLLMClient initialized successfully")
except Exception as e:
print(f"❌ Failed to initialize LazyLLMClient: {e}")
return False
# Test 1: Summarization
print("\n[Test 1] Testing summarization...")
try:
test_text = "这是一段关于Python编程的文本。Python是一种高级编程语言,具有简单易学的语法。它被广泛用于数据分析、机器学习和Web开发。" # noqa: RUF001
result = await client.chat(test_text)
print("✓ Summarization successful")
print(f" Result: {result[:100]}...")
except Exception as e:
print(f"❌ Summarization failed: {e}")
import traceback
traceback.print_exc()
# Test 2: Embedding
print("\n[Test 2] Testing embedding...")
try:
test_texts = ["Hello world", "How are you", "Nice to meet you"]
embeddings = await client.embed(test_texts)
print("✓ Embedding successful")
print(f" Generated {len(embeddings)} embeddings")
if embeddings and embeddings[0]:
print(f" Embedding dimension: {len(embeddings[0])}")
except Exception as e:
print(f"❌ Embedding failed: {e}")
import traceback
traceback.print_exc()
# Test 3: Vision (requires image file)
print("\n[Test 3] Testing vision...")
test_image_path = "examples/resources/images/image1.png"
if os.path.exists(test_image_path):
try:
result, _ = await client.vision(prompt="描述这张图片的内容", image_path=test_image_path)
print("✓ Vision successful")
print(f" Result: {result[:100]}...")
except Exception as e:
print(f"❌ Vision failed: {e}")
import traceback
traceback.print_exc()
else:
print(f"⚠ Skipped: Test image not found at {test_image_path}")
if __name__ == "__main__":
success = asyncio.run(test_lazyllm_client())
sys.exit(0 if success else 1)