# knowledge_project **Repository Path**: wuchenlhy/knowledge_project ## Basic Information - **Project Name**: knowledge_project - **Description**: 知识库问答系统,实现方式 本地向量化+在线openai接口问答。项目用到的主要库有 conda + python3.10 + xinference==1.17.0 + chromadb==0.4.22 + gradio==4.20.0 + openai接口 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-04 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 🚀 使用步骤 # 一、环境准备(用conda 创建环境) ## 1、创建新环境 ``` conda create -n xinference python=3.10 -y ``` ## 2、激活环境 ``` conda activate xinference ``` ## 3、安装依赖 ``` pip install -r requirements.txt ``` 执行完成后有依赖不兼容的情况需要手动安装 ``` pip uninstall pynvml pip install nvidia-ml-py ``` # 二、启动 xinference 用于托管本地 embedding 模型 ## 1、需改 Xinference 模型下载路径 ### 步骤 1:创建目标存储目录 先在目标盘创建文件夹,如:D:\workspace\github\knowledge_base_project\xinference_models ### 步骤 2:添加系统环境变量 变量名:XINFERENCE_HOME 变量值:D:\workspace\github\knowledge_base_project\xinference_models(你的目标路径) ### 步骤 3:重启终端 / 电脑生效 关闭所有已打开的终端,重新打开 ## 2、启动 xinference 服务 ``` xinference-local 或 xinference-local --host 127.0.0.1 --port 9997 ``` 🔔 成功标志:看到日志 Uvicorn running on http://127.0.0.1:9997 web页面: http://localhost:9997 ## 3、启动 bge-large-zh-v1.5 模型 执行命令后等待下载完成并启动,可以通过 xinference 日志查看下载进度 ``` xinference launch --model-name bge-large-zh-v1.5 --model-type embedding --model-engine sentence_transformers --model-format pytorch --quantization none --replica 1 ``` 🔔 成功标志:看到日志 Model uid: bge-large-zh-v1.5 ## 4、通过命令查看模型列表 ``` xinference list UID Type Name Dimensions ----------------- --------- ----------------- ------------ bge-large-zh-v1.5 embedding bge-large-zh-v1.5 1024 ``` ## 5、测试模型 ``` python test_embedding.py ``` # 三、准备知识库 将 PDF/TXT/MD 文件放入 ./data/ *尽量用txt,MD和非扫描版本的PDF* # 四、导入知识库 ``` python ingest.py ``` 以下报错可以忽略 ``` Failed to send telemetry event ClientStartEvent: capture() takes 1 positional argument but 3 were given Failed to send telemetry event ClientCreateCollectionEvent: capture() takes 1 positional argument but 3 were given ``` # 五、配置 OpenAI 密钥 编辑 config.py,填入你的 OPENAI_API_KEY 也可以接入兼容openai API 的模型 国内有很多模型有免费额度可以申请账号获取 api_key # 六、启动 Web 应用 ``` python app.py ``` 以下报错可以忽略 ``` Failed to send telemetry event ClientStartEvent: capture() takes 1 positional argument but 3 were given Failed to send telemetry event ClientCreateCollectionEvent: capture() takes 1 positional argument but 3 were given ``` 访问:http://localhost:7860