ai-robot-core/ai-service/scripts/check_qdrant_collections.py

55 lines
1.5 KiB
Python
Raw Normal View History

"""
检查 Qdrant 中实际存在的 collections
"""
import asyncio
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent))
from qdrant_client import AsyncQdrantClient
from app.core.config import get_settings
async def check_qdrant_collections():
"""检查 Qdrant 中实际存在的 collections"""
settings = get_settings()
client = AsyncQdrantClient(url=settings.qdrant_url)
try:
collections = await client.get_collections()
print(f"\n{'='*80}")
print(f"Qdrant 中所有 collections:")
print(f"{'='*80}")
for coll in collections.collections:
print(f" - {coll.name}")
tenant_id = "szmp@ash@2026"
safe_tenant_id = tenant_id.replace('@', '_')
prefix = f"kb_{safe_tenant_id}"
tenant_collections = [coll.name for coll in collections.collections if coll.name.startswith(prefix)]
print(f"\n租户 {tenant_id} 的 collections:")
print(f"{'='*80}")
for coll_name in tenant_collections:
print(f" - {coll_name}")
kb_id = None
if coll_name.startswith(prefix):
parts = coll_name.split('_')
if len(parts) > 2:
kb_id = parts[2]
print(f" kb_id: {kb_id}")
except Exception as e:
print(f"错误: {e}")
finally:
await client.close()
if __name__ == "__main__":
asyncio.run(check_qdrant_collections())