"""文本向量化服务 — 调用千问 embedding API。""" import logging from app.core.config import settings logger = logging.getLogger(__name__) async def get_embedding(text: str) -> list[float]: """获取文本的向量嵌入。""" try: from openai import AsyncOpenAI client = AsyncOpenAI(api_key=settings.llm_api_key, base_url=settings.llm_base_url) response = await client.embeddings.create( model="text-embedding-v2", input=text[:2000], ) return response.data[0].embedding except Exception as e: logger.warning(f"Embedding 获取失败: {e}") return []