diff --git a/src/models/embedding.py b/src/models/embedding.py index 55f55d32..0cd9c5fb 100644 --- a/src/models/embedding.py +++ b/src/models/embedding.py @@ -58,8 +58,9 @@ class ZhipuEmbedding: def predict(self, message): data = [] + batch_size = 40 - if len(message) > 10: + if len(message) > batch_size: global GLOBAL_EMBED_STATE task_id = hashstr(message) logger.info(f"Creating new state for process {task_id}") @@ -69,12 +70,12 @@ class ZhipuEmbedding: 'progress': 0 } - for i in range(0, len(message), 10): - if len(message) > 10: - logger.info(f"Encoding {i} to {i+10} with {len(message)} messages") + for i in range(0, len(message), batch_size): + if len(message) > batch_size: + logger.info(f"Encoding {i} to {i+batch_size} with {len(message)} messages") GLOBAL_EMBED_STATE[task_id]['progress'] = i - group_msg = message[i:i+10] + group_msg = message[i:i+batch_size] response = self.client.embeddings.create( model=self.model_info.default_path, input=group_msg, @@ -82,7 +83,7 @@ class ZhipuEmbedding: data.extend([a.embedding for a in response.data]) - if len(message) > 10: + if len(message) > batch_size: GLOBAL_EMBED_STATE[task_id]['progress'] = len(message) GLOBAL_EMBED_STATE[task_id]['status'] = 'completed' diff --git a/src/routers/chat_router.py b/src/routers/chat_router.py index 3fa4fc5f..0f5659ef 100644 --- a/src/routers/chat_router.py +++ b/src/routers/chat_router.py @@ -1,10 +1,8 @@ -import time -import uuid -from fastapi import APIRouter, HTTPException, Request, Body -from fastapi.responses import StreamingResponse, Response -from concurrent.futures import ThreadPoolExecutor import json import asyncio +from fastapi import APIRouter, Body +from fastapi.responses import StreamingResponse, Response +from concurrent.futures import ThreadPoolExecutor from src.core import HistoryManager from src.core.startup import startup from src.utils.logging_config import setup_logger @@ -63,7 +61,6 @@ def chat_post( else: content += delta.content - logger.debug(f"Response: {content}") chunk = make_chunk(content, "loading", history=history_manager.update_ai(content)) yield chunk diff --git a/web/src/components/ChatComponent.vue b/web/src/components/ChatComponent.vue index 3e0f0c11..f7444b06 100644 --- a/web/src/components/ChatComponent.vue +++ b/web/src/components/ChatComponent.vue @@ -667,6 +667,7 @@ watch( top: 20%; width: 100%; z-index: 9; + animation: slideInUp 0.5s ease-out; h1 { margin-bottom: 20px; @@ -913,7 +914,7 @@ watch( @keyframes pulse { 0%, 80%, 100% { - transform: scale(0.6); + transform: scale(0.8); opacity: 0.3; } 40% { @@ -929,6 +930,9 @@ watch( @-webkit-keyframes swing-in-top-fwd{0%{-webkit-transform:rotateX(-100deg);transform:rotateX(-100deg);-webkit-transform-origin:top;transform-origin:top;opacity:0}100%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transform-origin:top;transform-origin:top;opacity:1}}@keyframes swing-in-top-fwd{0%{-webkit-transform:rotateX(-100deg);transform:rotateX(-100deg);-webkit-transform-origin:top;transform-origin:top;opacity:0}100%{-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transform-origin:top;transform-origin:top;opacity:1}} @-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}}@keyframes slide-out-left{0%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform:translateX(-1000px);transform:translateX(-1000px);opacity:0}} +@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } +@keyframes slideInUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } + @media (max-width: 520px) { .chat { height: calc(100vh - 60px); @@ -971,6 +975,8 @@ watch( } } } + + + diff --git a/web/src/views/DataBaseInfoView.vue b/web/src/views/DataBaseInfoView.vue index 4e9d7daa..d07e539f 100644 --- a/web/src/views/DataBaseInfoView.vue +++ b/web/src/views/DataBaseInfoView.vue @@ -104,20 +104,20 @@
检索数量:
TopK:
-过滤低质量:
筛选 TopK:
+