fix: 修复代理配置和文档错误,更新默认模型
修复docker构建时的代理配置问题,移除pyproject.toml中不必要的依赖 更新README中关于代理配置的说明,修正文档中的大小写错误 将默认LLM模型从Qwen更换为GLM-4.5-Air 添加测试数据文件,优化embedding配置的错误处理
This commit is contained in:
parent
a13c2e0a0c
commit
f372d6fa44
11
README.md
11
README.md
@ -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>
|
||||
|
||||
|
||||
@ -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"]
|
||||
|
||||
@ -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
|
||||
@ -1,7 +1,7 @@
|
||||
目前已有的开发计划包括:
|
||||
|
||||
|
||||
### v2.0 Prerelease
|
||||
### v2.0 PreRelease
|
||||
|
||||
💭 **Features Todo**
|
||||
- [x] 知识库使用 LightRAG(GraphRAG 轻量版)重构(🌟🌟🌟🌟🌟)
|
||||
|
||||
@ -68,5 +68,4 @@ lint.ignore = ["F401", "E501"] # 忽略的规则
|
||||
dev = [
|
||||
"ipykernel>=6.30.0",
|
||||
"ruff>=0.12.1",
|
||||
"vllm>=0.8.5.post1",
|
||||
]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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):
|
||||
|
||||
1
test/data/lightrag_kb_test.txt
Normal file
1
test/data/lightrag_kb_test.txt
Normal file
@ -0,0 +1 @@
|
||||
《红楼梦》是中国古典四大名著之一,由曹雪芹创作,讲述了以贾、王、史、薛四大家族为背景的荣枯兴衰,着重描写贾宝玉与众多女性之间的情感纠葛。小说人物众多,关系复杂,其中最核心的人物是贾宝玉、林黛玉与薛宝钗。贾宝玉是贾政与王夫人之子,自幼顽劣叛逆,不喜功名,却重情重义,与林黛玉青梅竹马,情意深厚。林黛玉是贾母的外孙女,出身名门,才情出众,体弱多病,性格敏感,深爱贾宝玉。薛宝钗是薛家的女儿,温婉端庄,才貌双全,深得王夫人喜爱,最终与贾宝玉成婚,但婚姻缺乏真爱。贾母是贾府的最高长辈,慈祥有威望,尤其疼爱贾宝玉与林黛玉。王熙凤是王夫人的侄女,贾琏之妻,精明强干,掌管贾府内务,手段凌厉。贾探春是贾政庶出之女,才干出众,有理政之才。史湘云是贾母的外孙女,性格开朗爽朗,亦有文才。贾宝玉身边还有多位重要丫鬟,如贤良温顺的袭人,聪慧倔强的晴雯,以及忠心耿耿的紫鹃等。整部小说通过这些人物错综复杂的关系,展现了一个封建大家族的由盛而衰,爱情的悲剧也映射出时代命运的无常与女性的苦难。
|
||||
@ -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,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user