news 2026/4/22 20:03:07

BGE-M3实战入门:curl命令行调用、Postman配置、Swagger接口文档生成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BGE-M3实战入门:curl命令行调用、Postman配置、Swagger接口文档生成

BGE-M3实战入门:curl命令行调用、Postman配置、Swagger接口文档生成

1. BGE-M3模型简介

BGE-M3是由113小贝二次开发构建的句子相似度模型,它是一个专为检索场景设计的"三合一"文本嵌入模型。这个模型的核心特点可以用一句话概括:

密集+稀疏+多向量三模态混合检索嵌入模型(dense & sparse & multi-vector retriever in one)

与生成式语言模型不同,BGE-M3属于双编码器(bi-encoder)类检索模型,它的主要功能是生成文本的嵌入表示,而不是直接生成文本内容。

2. 服务部署与验证

2.1 启动服务

推荐方式:使用启动脚本

bash /root/bge-m3/start_server.sh

替代方式:直接启动

export TRANSFORMERS_NO_TF=1 cd /root/bge-m3 python3 app.py

后台运行

nohup bash /root/bge-m3/start_server.sh > /tmp/bge-m3.log 2>&1 &

2.2 验证服务状态

检查服务端口是否正常监听:

netstat -tuln | grep 7860 # 或 ss -tuln | grep 7860

访问服务界面:

http://<服务器IP>:7860

查看实时日志:

tail -f /tmp/bge-m3.log

3. 模型参数与使用建议

3.1 关键参数

  • 向量维度: 1024
  • 最大长度: 8192 tokens
  • 支持语言: 100+ 种语言
  • 精度模式: FP16(加速推理)

3.2 场景推荐

场景推荐模式说明
语义搜索Dense适合语义相似度匹配
关键词匹配Sparse适合精确关键词检索
长文档匹配ColBERT适合长文档细粒度匹配
高准确度混合模式三种模式组合,准确度最高

4. 接口调用实战

4.1 curl命令行调用

获取文本嵌入的基本调用示例:

curl -X POST "http://localhost:7860/embed" \ -H "Content-Type: application/json" \ -d '{ "texts": ["这是一个测试句子", "这是另一个句子"], "mode": "dense" }'

批量处理多个文本:

curl -X POST "http://localhost:7860/batch_embed" \ -H "Content-Type: application/json" \ -d '{ "texts": [ ["句子1-1", "句子1-2"], ["句子2-1", "句子2-2"] ], "mode": "mixed" }'

4.2 Postman配置指南

  1. 新建POST请求,URL填写:http://<服务器IP>:7860/embed
  2. 在Headers中添加:
    • Content-Type: application/json
  3. 在Body中选择raw,输入JSON格式请求:
{ "texts": ["需要嵌入的文本"], "mode": "dense", "normalize": true }
  1. 点击Send发送请求

高级配置

  • 设置超时时间:在请求设置中调整Timeout
  • 保存环境变量:将服务器IP保存为环境变量方便管理

4.3 Swagger接口文档生成

在Python中自动生成Swagger文档的示例代码:

from flask_swagger_ui import get_swaggerui_blueprint SWAGGER_URL = '/api/docs' API_URL = '/swagger.json' swaggerui_blueprint = get_swaggerui_blueprint( SWAGGER_URL, API_URL, config={ 'app_name': "BGE-M3 API文档" } ) app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL) @app.route('/swagger.json') def swagger(): with open('swagger.json', 'r') as f: return jsonify(json.load(f))

Swagger文档内容示例

{ "openapi": "3.0.0", "info": { "title": "BGE-M3 Embedding API", "version": "1.0.0" }, "paths": { "/embed": { "post": { "summary": "获取文本嵌入", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "texts": { "type": "array", "items": { "type": "string" } }, "mode": { "type": "string", "enum": ["dense", "sparse", "colbert", "mixed"] } } } } } } } } } }

5. 注意事项与优化建议

5.1 部署注意事项

  1. 环境变量:必须设置TRANSFORMERS_NO_TF=1禁用 TensorFlow
  2. 模型路径:使用本地缓存/root/.cache/huggingface/BAAI/bge-m3
  3. GPU支持:自动检测CUDA,若无GPU则使用CPU
  4. 端口冲突:确保7860端口未被占用

5.2 性能优化建议

  • 批量处理:尽量使用batch接口减少请求次数
  • 缓存结果:对重复文本考虑本地缓存嵌入结果
  • 模式选择:根据场景选择最适合的检索模式
  • 长度控制:过长的文本考虑分段处理

6. 总结

BGE-M3作为多功能嵌入模型,通过本文介绍的curl、Postman和Swagger三种方式,可以方便地集成到各种应用中。无论是简单的命令行测试,还是复杂的系统集成,都能找到合适的调用方式。

实际使用中建议:

  1. 先通过curl快速验证接口可用性
  2. 使用Postman进行详细接口测试
  3. 通过Swagger文档规范API使用
  4. 根据业务场景选择合适的检索模式

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 15:08:18

作业(静态页面仿写,仿写学校官网)

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>南宁理工学院</title><style>* {mar…

作者头像 李华
网站建设 2026/4/19 21:14:51

Youtu-2B营销文案生成:广告语自动创作案例

Youtu-2B营销文案生成&#xff1a;广告语自动创作案例 1. 为什么小团队也需要“文案大脑”&#xff1f; 你有没有遇到过这些场景&#xff1f; 电商运营凌晨三点还在改第17版商品主图文案&#xff0c;老板催着要“有网感、带情绪、能转化”&#xff1b; 市场新人面对新品发布任…

作者头像 李华
网站建设 2026/4/19 17:42:35

3分钟解锁Cursor高级功能:免费VIP工具全攻略

3分钟解锁Cursor高级功能&#xff1a;免费VIP工具全攻略 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial reques…

作者头像 李华
网站建设 2026/4/18 7:00:24

AI视频处理实战指南:3大场景×5个技巧掌握高效精准分离技术

AI视频处理实战指南&#xff1a;3大场景5个技巧掌握高效精准分离技术 【免费下载链接】MatAnyone MatAnyone: Stable Video Matting with Consistent Memory Propagation 项目地址: https://gitcode.com/gh_mirrors/ma/MatAnyone AI视频分离技术正在重塑内容创作流程&am…

作者头像 李华
网站建设 2026/4/17 23:55:52

如何突破AI编程助手限制:设备认证机制深度研究

如何突破AI编程助手限制&#xff1a;设备认证机制深度研究 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial requ…

作者头像 李华
网站建设 2026/4/20 17:00:56

Windows运行Android应用的完美方案:APK Installer极速体验

Windows运行Android应用的完美方案&#xff1a;APK Installer极速体验 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows系统运行Android应用而烦恼吗&…

作者头像 李华