[AC-AISVC-50] 合入第一个稳定版本 #2

Merged
MerCry merged 32 commits from feature/prompt-unification-and-logging into main 2026-02-26 13:03:31 +00:00
4 changed files with 23 additions and 20 deletions
Showing only changes of commit 97e7fd0992 - Show all commits

View File

@ -15,3 +15,7 @@ AI_SERVICE_LLM_MODEL=gpt-4o-mini
# Ollama Configuration (for embedding model)
AI_SERVICE_OLLAMA_BASE_URL=http://ollama:11434
AI_SERVICE_OLLAMA_EMBEDDING_MODEL=nomic-embed-text
# Frontend API Key (required for admin panel authentication)
# Get this key from the backend logs after first startup, or from /admin/api-keys
VITE_APP_API_KEY=your-frontend-api-key-here

View File

@ -3,6 +3,12 @@ FROM docker.1ms.run/node:20-alpine AS builder
WORKDIR /app
ARG VITE_APP_API_KEY
ARG VITE_APP_BASE_API=/api
ENV VITE_APP_API_KEY=$VITE_APP_API_KEY
ENV VITE_APP_BASE_API=$VITE_APP_BASE_API
COPY package*.json ./
RUN npm install && npm install @rollup/rollup-linux-x64-musl --save-optional

View File

@ -396,42 +396,32 @@ class OptimizedRetriever(BaseRetriever):
) -> list[dict[str, Any]]:
"""Search using specified vector dimension."""
try:
qdrant = await client.get_client()
collection_name = client.get_collection_name(tenant_id)
logger.info(
f"[RAG-OPT] Searching collection={collection_name}, "
f"vector_name={vector_name}, limit={limit}, vector_dim={len(query_vector)}"
f"[RAG-OPT] Searching with vector_name={vector_name}, "
f"limit={limit}, vector_dim={len(query_vector)}"
)
results = await qdrant.search(
collection_name=collection_name,
query_vector=(vector_name, query_vector),
results = await client.search(
tenant_id=tenant_id,
query_vector=query_vector,
limit=limit,
vector_name=vector_name,
)
logger.info(
f"[RAG-OPT] Search returned {len(results)} results from collection={collection_name}"
f"[RAG-OPT] Search returned {len(results)} results"
)
if len(results) > 0:
for i, r in enumerate(results[:3]):
logger.debug(
f"[RAG-OPT] Result {i+1}: id={r.id}, score={r.score:.4f}"
f"[RAG-OPT] Result {i+1}: id={r['id']}, score={r['score']:.4f}"
)
return [
{
"id": str(result.id),
"score": result.score,
"payload": result.payload or {},
}
for result in results
]
return results
except Exception as e:
logger.error(
f"[RAG-OPT] Search with {vector_name} failed: {e}, "
f"collection_name={client.get_collection_name(tenant_id)}",
f"[RAG-OPT] Search with {vector_name} failed: {e}",
exc_info=True
)
return []

View File

@ -35,6 +35,9 @@ services:
build:
context: ./ai-service-admin
dockerfile: Dockerfile
args:
VITE_APP_API_KEY: ${VITE_APP_API_KEY:-}
VITE_APP_BASE_API: /api
container_name: ai-service-admin
restart: unless-stopped
ports: