DeepSeek+Xinference搭建本地知识库应用

Xinference 是一个新兴的强大平台,它旨在简化本地和云端模型的部署与管理,支持多样化的模型类型和硬件加速。

 


本文将详细介绍如何在 macOS 上安装和使用 Xinference,并对比它与 Ollama 的区别,最后演示如何将 Xinference 集成到 Chatbox、Dify等流行的本地化知识库应用中。

一、Xinference 简介

Xinference (Xorbits Inference) 是一个通用的推理平台,旨在为各种模型(可用于大语言模型(LLM),语音识别模型,多模态模型等各种模型的推理)提供统一的接口和服务。

它的主要特点包括:

  • 模型多样性: 支持多种模型类型,包括语言模型 (LLMs)、 embedding 模型、图像模型、音频模型等。

  • 硬件加速: 支持 CPU、GPU (NVIDIA, AMD, Intel) 和 Apple Silicon 等多种硬件加速。

  • 易于部署: 提供简单的命令行界面和 Python API,方便本地和云端部署。

  • 可扩展性: 支持分布式部署,可以轻松扩展以处理更大规模的推理任务。

  • 统一 API: 提供与 OpenAI API 兼容的接口,方便现有应用快速集成。

  • 模型管理: 内置模型库,方便模型发现、下载和管理。

二、Xinference vs. Ollama

Ollama 和 Xinference 都是流行的本地 LLM 部署工具,但它们在设计理念、功能和适用场景上存在一些差异:

特性OllamaXinference
模型类型主要专注于 LLMs,embedding支持多种模型类型 (LLMs, embedding, reranker,图像, 音频等)
硬件支持CPU, GPU (NVIDIA, AMD, Apple Silicon)CPU, GPU (NVIDIA, AMD, Intel, Apple Silicon)
易用性非常简单易用,一键安装,模型库丰富相对复杂一些,但功能更强大,可定制性更高
扩展性相对较弱,主要面向单机使用更强,支持分布式部署,可扩展性更好
API 兼容性部分兼容 OpenAI API完全兼容 OpenAI API
适用场景快速体验本地 LLMs,轻量级应用多样化模型需求,企业级应用,需要更高可定制性

总结:

  • Ollama: 更注重 简单易用,适合快速上手本地 LLM 体验,模型库丰富,但模型类型和扩展性相对有限。

  • Xinference: 更注重 强大和灵活,支持更多模型类型,更强的扩展性和可定制性,API 兼容性更好,适合更复杂的应用场景和企业级部署,但上手门槛稍高。

大家可以根据自身需求和技术水平选择合适的工具。如果只是想快速体验本地 LLM,Ollama 可能更简单;

如果需要更强大的功能和更灵活的配置,或者需要部署多种类型的模型,Xinference 则更适合。

三、macOS 安装 Xinference

在 macOS 上安装 Xinference 非常简单,只需几个步骤:

3.1 安装Python环境

Xinference 基于 Python 构建,你需要确保你的 macOS 系统已经安装了 Python (推荐 Python 3.8 及以上版本) 和 pip 包管理器。

brew install python

安装完成后,验证 Python 和 pip 版本:

python --version
pip --version

3.2 安装Xinference

使用 pip 命令安装 Xinference:

pip install xinference

等待安装完成。

 

3.3 安装硬件加速

Mac OS系统使用Metal的优化,也就是类似cuda的mps功能。

CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python

3.4 启动 Xinference 服务

安装完成后,使用以下命令启动 Xinference 服务:

XINFERENCE_MODEL_SRC=modelscope xinference-local --host 0.0.0.0 --port 9997

默认情况下,Xinference 服务会启动在 http://localhost:9997
如果运行报错:

执行下面的命令,安装socket库:

pip install socksio

运行成功后的界面:

 

四. 验证安装

打开浏览器访问 http://localhost:9997,如果看到 Xinference 的 Web UI 界面,则说明安装成功。

 

4.1 Xinference 基础使用

添加模型

安装下图的顺,依次选择即可。

选择模型的大小:

我们点击下面的火箭按钮开始部署后,在我们刚刚启动的终端中,可以看到模型的下载过程:

我们今天添加3个模型,分别是DeepSeek模型,Embedding模型和Reranker模型。

 

与模型交互

可以使用页面交互直接与模型 交互。

 

4.2 Xinference 集成应用

Xinference 的一个重要优势是其 OpenAI API 兼容性,这使得它可以轻松集成到许多支持 OpenAI API 的应用中。以下分别介绍如何将 Xinference 集成到 Chatbox、Dify 和 AnythingLLM 中。

集成 Chatbox

Chatbox 是一个流行的跨平台 AI 对话客户端,支持自定义 OpenAI API 服务。

步骤:

  1. 启动 Xinference 服务和模型实例 (如 deepseek)。

  2. 打开 Chatbox 应用,进入设置界面 (通常在左下角 "设置" 按钮)。

  3. 在 "模型提供商" 中,选择 "OpenAI Compatible API"。

  4. 在 "API 域名" 中,输入 Xinference 的 API 端点地址:http://localhost:9997/v1

  5. API Key 可以留空,因为 Xinference 默认不需要 API Key。

  6. 点击 "保存" 或 "应用" 按钮。

现在,你就可以在 Chatbox 中选择 Xinference 提供的模型 (例如deepseek-r1-distill-qwen-tjT7inPl) 进行对话了。

集成 Dify

Dify 是一个强大的 LLM 应用开发平台,可以用于构建各种 AI 应用,包括聊天机器人、知识库、自动化工作流等。

增加Embedding,模型名称和服务器URL都按图填写就可以。

嵌入模型和重排模型都添加后的如下图:

添加知识库如下图:

现在可以利用 Dify 的 RAG (Retrieval-Augmented Generation) 功能,结合 Xinference 构建本地私有知识库应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangzhihong8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值