讲师中心 微信公众号
AI工具推荐 视频效率加速

Dify对接自建开源Embedding模型(BGE系列)配置

秋瑶吖_7342

秋瑶吖_7342

发布时间:2026-10-27 08:28:09

|

152人浏览过

|

来源于php中文网

原创

必须通过FastAPI部署BGE模型并配置Dify使用OpenAI兼容接口,否则知识库嵌入会卡住;需严格匹配返回格式、正确设置API端点(如host.docker.internal:6008)、设为默认或手动绑定知识库,并通过测试检索验证语义匹配效果。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

dify对接自建开源embedding模型(bge系列)配置

要在Dify中正确对接自建的BGE系列开源Embedding模型(如bge-m3、bge-large-zh),必须绕过OpenAI API依赖,让Dify通过标准HTTP协议调用你本地部署的FastAPI向量服务,否则知识库导入会卡在“正在嵌入”状态且无报错提示。

搭建本地BGE Embedding服务(FastAPI+SentenceTransformer)

这一步操作起来很简单,直接把代码复制进rerank.py同级目录新建一个embed_api.py文件即可运行。

安装必需依赖:pip install torch fastapi uvicorn sentence-transformers transformers huggingface-hub pyyaml

创建embed_api.py,内容如下(注意严格匹配OpenAI返回格式,否则Dify解析失败):

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
from fastapi import FastAPI
from sentence_transformers import SentenceTransformer
import uvicorn

app = FastAPI()
model = SentenceTransformer("BAAI/bge-m3", cache_folder="./model")

@app.post("/v1/embeddings")
def create_embedding(data: dict):
  input_data = data.get("input", [])
  texts = [input_data] if isinstance(input_data, str) else input_data
  embeddings = model.encode(texts, normalize_embeddings=True).tolist()
  return {
    "object": "list",
    "data": [{"object": "embedding", "embedding": emb, "index": i} for i, emb in enumerate(embeddings)],
    "model": "BAAI/bge-m3",
    "usage": {"prompt_tokens": len(texts), "completion_tokens": 0, "total_tokens": len(texts)}
  }

if __name__ == "__main__":
  uvicorn.run(app, host="0.0.0.0", port=6008)

启动服务:uvicorn embed_api.py --host 0.0.0.0 --port 6008 --reload。服务启动后访问 http://localhost:6008/docs 可看到交互式API文档,确认/v1/embeddings接口可正常POST测试。

配置Dify使用本地Embedding模型

进入Dify后台 → 设置 → 模型配置 → 文本嵌入 → 点击「+ 添加模型」

填写以下三项必填字段:

Dify
Dify

Dify AI应用开发平台指南。用于构建LLM应用、工作流、Agent和知识库。当用户需要(1)使用Dify创建AI应用 (2)设计LLM工作流 (3)配置知识库RAG (4)开发AI Agent (5)调用Dify API (6)自托管部署Dify时激活此技能。

下载

① 模型名称:bge-m3(任意命名,但需与后续知识库绑定时一致)
② 模型供应商:选择 OpenAI API 兼容
③ API端点:http://host.docker.internal:6008(若Dify运行在Docker中;若为源码启动则填http://127.0.0.1:6008)

最大Token数填512,点击「测试连接」→ 等待返回维度值(bge-m3为1024)即表示连通成功。

⚠️ 注意:host.docker.internal 是Docker容器内访问宿主机服务的关键地址,Windows/macOS Docker Desktop默认支持,Linux需手动配置DNS或改用宿主机真实IP。

绑定知识库并验证嵌入效果

方法一:全局默认绑定
在「文本嵌入」列表中,找到刚添加的bge-m3模型,点击右侧「设为默认」。此后所有新建知识库将自动使用该模型。

方法二:单知识库指定绑定
进入知识库 → 编辑 → 高级设置 → 嵌入模型 → 下拉选择bge-m3 → 保存。

上传一份含中文段落的PDF或TXT文件,观察导入日志。若出现“Embedding completed for X chunks”且无报错,则说明向量化已走通。

关键验证动作:在知识库详情页点击「测试检索」,输入“如何申请电子发票”,查看返回结果是否包含语义高度匹配的原文片段——这一步成功,代表BGE嵌入真正生效。

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

817

2026.06.05

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

265

2026.06.05

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

256

2026.06.05

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

100

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

60

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

60

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

20

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

60

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

20

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 154人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 155人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn