Xinference+OneAPI+Dify: 一站式LLM部署和应用开发

3,685 阅读3分钟

 了解各个组件

a. Xinference
  • 定义:Xinference 是一个用于推理的框架,专注于高效地部署和运行大语言模型(LLM)。
  • 功能:提供优化的推理性能和易于集成的接口,支持多种模型和硬件加速。
b. OneAPI
  • 定义:Intel 的 OneAPI 是一个统一的编程模型,旨在简化多种硬件(如 CPU、GPU 和 FPGA)的开发。
  • 功能:提供高性能计算和加速库,支持并行计算,适合在不同硬件上运行 AI 工作负载。
c. Dify
  • 定义:Dify 是一个平台,旨在简化 AI 应用的开发和部署。
  • 功能:提供可视化界面和工具,帮助开发者快速构建和管理 AI 应用。

image.png 使用Xinference安装部署本地模型,One API充当网关来管理模型池(本地模型以及第三方模型API),对外暴露统一接口。Dify接入One API来实现对不同大模型的支持,完成LLM应用的开发。

具体使用细节

Xinference使用细节

参考文档:inference.readthedocs.io/zh-cn/lates…

OneAPI使用细节

部署

最简单的方式:基于Docker Compose进行部署

  1. git clone github.com/songquanpen…
  2. cd one-api
  3. sudo docker compose up -d
  4. sudo docker compose ps  (查看部署状态)

部署成功后访问地址: http://localhost:3000/ 

初始账号用户名为:root,密码为:123456

配置

  • 渠道
    • One API中一个渠道对应一个api-key,这个api-key可以是GPT,chatglm,文心一言等第三方厂商提供的。一个api-key通常可以调用同一个厂商的多个模型。

    • One API会根据请求传入的模型来决定使用那个key,如果一个模型对应了多个key,则会随机调用。 添加渠道:

image.png 添加xinference渠道:

image.png 添加第三方siliconflow渠道(需自行注册:siliconflow.cn/zh-cn/

image.png 添加成功有以后,点击测试查看是否有响应

image.png

  • 令牌
    访问One API所需的凭证,只需这1个凭证即可访问One API上配置的模型。因此Dify中,只需要配置One API的baseurl令牌即可。

    添加新令牌:

image.png 填写名称和选择模型范围即可:

image.png 添加令牌完成,可以点击复制,即可使用:

image.png 令牌使用方法(测试代码):

BASE_URL:One API地址(http://ip:port/v1

OPENAI_API_KEY:生成的令牌

from openai import OpenAI
one_api_key = '复制令牌的api-key' #AIT
one_api_url = 'http://ip:port/v1'
client = OpenAI(api_key=one_api_key, base_url=one_api_url)
response = client.chat.completions.create(
    #model="sf/glm-4-9b-chat",
    model="sf/Qwen2-72B-Instruct",
     
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "你好"},
    ],
    stream=False
)
print(response.choices[0].message.content)
  • 工作流程    
    1. 客户端请求One API
    2. 根据请求中的model参数,匹配对应的渠道(根据渠道里的模型进行匹配,必须完全一致)。如果匹配到多个渠道,则随机选择一个(同优先级)。
    3. One API向真正的地址发出请求。
    4. One API将结果返回给客户端。

image.png

Dify使用细节

部署

  1. git clong github.com/langgenius/…

  2. cd dify/docker

  3. cp .env.example .env

  4. sudo docker compose up -d

    运行后,可以在浏览器上访问 http://localhost/install 进入 Dify 控制台并开始初始化安装操作。

模型配置

配置访问One API中的模型:

image.png

模型提供商选择OpenAI-API-compatible:

image.png

添加模型:

image.png

总结

结合 XinferenceOneAPI 和 Dify 提供了一种高效的方式来部署和开发 LLM 应用。通过上述步骤,可以创建出功能强大的 AI 应用,满足不同的业务需求。确保在每个阶段进行充分的测试和优化,以实现最佳的性能和用户体验。