1. 项目概述
最近在搭建一个基于本地知识库的问答系统时,发现Xinference这个工具确实能很好地解决中文Embedding模型部署的问题。这个项目结合Python和Xinference 1.17版本,可以快速搭建一个完整的本地知识库系统,特别适合处理中文文档。下面我会详细分享整个搭建过程,包括一些踩坑经验和优化技巧。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与配置
2.1 Conda环境创建
首先我们需要创建一个隔离的Python环境。我推荐使用conda而不是virtualenv,因为conda能更好地处理深度学习相关的依赖。
bash复制conda create -n xinference python=3.10 -y
conda activate xinference
选择Python 3.10是因为它在稳定性和新特性之间取得了很好的平衡。3.11+版本可能会遇到一些依赖兼容性问题。
2.2 依赖安装
项目提供了requirements.txt文件,但实际安装时可能会遇到一些依赖冲突。我的经验是分步安装:
bash复制pip install xinference==1.17
pip install sentence-transformers
pip install chromadb
如果遇到pynvml报错,需要执行:
bash复制pip uninstall pynvml
pip install nvidia-ml-py
注意:建议先安装这些核心依赖,再安装其他辅助包,可以减少依赖冲突的可能性。
3. Xinference模型部署
3.1 模型存储路径配置
默认情况下,Xinference会下载模型到用户目录,这可能会占用系统盘空间。我们可以通过环境变量指定存储位置:
- 创建目标目录(如D:\xinference_models)
- 添加系统环境变量:
- 变量名:XINFERENCE_HOME
- 变量值:D:\xinference_models
- 重启终端使配置生效
3.2 启动Xinference服务
启动服务有两种方式:
基础启动:
bash复制xinference-local
指定端口启动(推荐):
b复制
