fix: 修复代理配置和文档错误,更新默认模型

修复docker构建时的代理配置问题,移除pyproject.toml中不必要的依赖
更新README中关于代理配置的说明,修正文档中的大小写错误
将默认LLM模型从Qwen更换为GLM-4.5-Air
添加测试数据文件,优化embedding配置的错误处理
This commit is contained in:
Wenjie Zhang 2025-08-08 18:35:01 +08:00
parent a13c2e0a0c
commit f372d6fa44
9 changed files with 39 additions and 37 deletions

View File

@ -96,14 +96,11 @@ https://github.com/user-attachments/assets/15f7f315-003d-4e41-a260-739c2529f824
<details>
<summary>镜像拉取完成,但是构建失败</summary>
如果拉取镜像完成,但是构建失败,基本都是因为依赖的镜像问题,可以尝试修改 `docker/api.Dockerfile` (第 31 行左右)中的环境变量,替换为本机的代理地址后,尝试构建
如果拉取镜像完成,但是构建失败,基本都是因为依赖的镜像问题,可以在环境变量中配置如下。如果是已经配置了代理,但是构建失败,也可以尝试移除代理后重试
```dockerfile
# 安装依赖项,如果无法成功安装,则尝试是设置此处的代理
ENV HTTP_PROXY=http://IP:PORT \
HTTPS_PROXY=http://IP:PORT \
http_proxy=http://IP:PORT \
https_proxy=http://IP:PORT
```bash
export HTTP_PROXY=http://IP:PORT
export HTTPS_PROXY=http://IP:PORT
```
</details>

View File

@ -3,6 +3,9 @@ services:
build:
context: .
dockerfile: docker/api.Dockerfile
args:
HTTP_PROXY: ${HTTP_PROXY:-}
HTTPS_PROXY: ${HTTPS_PROXY:-}
image: yuxi-api:0.2.0.dev
container_name: api-dev
working_dir: /app
@ -33,7 +36,7 @@ services:
- RUNNING_IN_DOCKER=true
- NO_PROXY=localhost,127.0.0.1,milvus,graph,milvus-minio,milvus-etcd-dev,etcd,minio,mineru,paddlex
- no_proxy=localhost,127.0.0.1,milvus,graph,milvus-minio,milvus-etcd-dev,etcd,minio,mineru,paddlex
command: uv run uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
command: uv run --no-dev uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:5050/api/system/health || exit 1"]

View File

@ -28,22 +28,19 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone &
COPY ../pyproject.toml /app/pyproject.toml
COPY ../.python-version /app/.python-version
# 安装依赖项,如果无法成功安装,则尝试是设置此处的代理
# ENV HTTP_PROXY=http://172.19.13.5:7890 \
# HTTPS_PROXY=http://172.19.13.5:7890 \
# http_proxy=http://172.19.13.5:7890 \
# https_proxy=http://172.19.13.5:7890
# 接收构建参数
ARG HTTP_PROXY=""
ARG HTTPS_PROXY=""
# 设置环境变量(这些值可能是空的)
ENV HTTP_PROXY=$HTTP_PROXY \
HTTPS_PROXY=$HTTPS_PROXY \
http_proxy=$HTTP_PROXY \
https_proxy=$HTTPS_PROXY
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --no-install-project
uv sync --no-dev --no-install-project
# 复制代码到容器中
COPY ../src /app/src
COPY ../server /app/server
# 同步项目
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync
# 取消代理
RUN unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy

View File

@ -1,7 +1,7 @@
目前已有的开发计划包括:
### v2.0 Prerelease
### v2.0 PreRelease
💭 **Features Todo**
- [x] 知识库使用 LightRAGGraphRAG 轻量版)重构(🌟🌟🌟🌟🌟)

View File

@ -68,5 +68,4 @@ lint.ignore = ["F401", "E501"] # 忽略的规则
dev = [
"ipykernel>=6.30.0",
"ruff>=0.12.1",
"vllm>=0.8.5.post1",
]

View File

@ -108,18 +108,23 @@ def get_embedding_config(embed_info: dict) -> dict:
"""
config_dict = {}
if embed_info:
config_dict['model'] = embed_info["name"]
config_dict['api_key'] = os.getenv(embed_info["api_key"], embed_info["api_key"])
config_dict['base_url'] = embed_info["base_url"]
config_dict['dimension'] = embed_info.get("dimension", 1024)
else:
from src.models import select_embedding_model
default_model = select_embedding_model(config.embed_model)
config_dict['model'] = default_model.model
config_dict['api_key'] = default_model.api_key
config_dict['base_url'] = default_model.base_url
config_dict['dimension'] = getattr(default_model, 'dimension', 1024)
try:
if embed_info:
config_dict['model'] = embed_info["name"]
config_dict['api_key'] = os.getenv(embed_info["api_key"], embed_info["api_key"])
config_dict['base_url'] = embed_info["base_url"]
config_dict['dimension'] = embed_info.get("dimension", 1024)
else:
from src.models import select_embedding_model
default_model = select_embedding_model(config.embed_model)
config_dict['model'] = default_model.model
config_dict['api_key'] = default_model.api_key
config_dict['base_url'] = default_model.base_url
config_dict['dimension'] = getattr(default_model, 'dimension', 1024)
except Exception as e:
logger.error(f"Error in get_embedding_config: {e}, {embed_info}")
raise ValueError(f"Error in get_embedding_config: {e}")
logger.debug(f"Embedding config: {config_dict}")
return config_dict

View File

@ -17,7 +17,7 @@ from src.utils import logger, hashstr, get_docker_safe_url
LIGHTRAG_LLM_PROVIDER = os.getenv("LIGHTRAG_LLM_PROVIDER", "siliconflow")
LIGHTRAG_LLM_NAME = os.getenv("LIGHTRAG_LLM_NAME", "Qwen/Qwen3-30B-A3B-Instruct-2507")
LIGHTRAG_LLM_NAME = os.getenv("LIGHTRAG_LLM_NAME", "zai-org/GLM-4.5-Air")
class LightRagKB(KnowledgeBase):

View File

@ -0,0 +1 @@
《红楼梦》是中国古典四大名著之一,由曹雪芹创作,讲述了以贾、王、史、薛四大家族为背景的荣枯兴衰,着重描写贾宝玉与众多女性之间的情感纠葛。小说人物众多,关系复杂,其中最核心的人物是贾宝玉、林黛玉与薛宝钗。贾宝玉是贾政与王夫人之子,自幼顽劣叛逆,不喜功名,却重情重义,与林黛玉青梅竹马,情意深厚。林黛玉是贾母的外孙女,出身名门,才情出众,体弱多病,性格敏感,深爱贾宝玉。薛宝钗是薛家的女儿,温婉端庄,才貌双全,深得王夫人喜爱,最终与贾宝玉成婚,但婚姻缺乏真爱。贾母是贾府的最高长辈,慈祥有威望,尤其疼爱贾宝玉与林黛玉。王熙凤是王夫人的侄女,贾琏之妻,精明强干,掌管贾府内务,手段凌厉。贾探春是贾政庶出之女,才干出众,有理政之才。史湘云是贾母的外孙女,性格开朗爽朗,亦有文才。贾宝玉身边还有多位重要丫鬟,如贤良温顺的袭人,聪慧倔强的晴雯,以及忠心耿耿的紫鹃等。整部小说通过这些人物错综复杂的关系,展现了一个封建大家族的由盛而衰,爱情的悲剧也映射出时代命运的无常与女性的苦难。

View File

@ -156,7 +156,7 @@ const props = defineProps({
const state = reactive({
...props.state,
debug_mode: computed(() => props.state.debug_mode ?? false),
isSidebarOpen: localStorage.getItem('chat_sidebar_open') === 'true' || false,
isSidebarOpen: localStorage.getItem('chat_sidebar_open') === 'true' || true,
waitingServerResponse: false,
isProcessingRequest: false,
creatingNewChat: false,