55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
|
|
"""
|
||
|
|
检查 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())
|