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/23 12:34:37

BiliDownloader:5步掌握的终极视频下载神器完整攻略

BiliDownloader&#xff1a;5步掌握的终极视频下载神器完整攻略 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简&#xff0c;操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 你是否曾遇到想保存B站精彩视频…

作者头像 李华
网站建设 2026/4/23 12:36:42

告别B站视频下载烦恼:3分钟上手BiliDownloader全攻略

告别B站视频下载烦恼&#xff1a;3分钟上手BiliDownloader全攻略 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简&#xff0c;操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 一、你是否也遇到这些下载难题…

作者头像 李华
网站建设 2026/4/23 12:37:53

Local AI MusicGen生成史诗音乐:Hans Zimmer风格复现

Local AI MusicGen生成史诗音乐&#xff1a;Hans Zimmer风格复现 1. 你的私人AI作曲家 Local AI MusicGen是一个基于Meta(Facebook) MusicGen-Small模型构建的本地音乐生成工具。它让音乐创作变得前所未有的简单 - 不需要任何乐理知识&#xff0c;只需输入一段英文描述&#…

作者头像 李华
网站建设 2026/4/23 11:46:35

YOLOv8自动化测试脚本:部署后功能验证指南

YOLOv8自动化测试脚本&#xff1a;部署后功能验证指南 1. 为什么需要自动化验证——从“点一下看看”到可靠交付 你刚在服务器上拉起YOLOv8镜像&#xff0c;点击HTTP按钮&#xff0c;上传一张街景图&#xff0c;框出来了&#xff0c;数字统计也显示了——看起来一切正常。但这…

作者头像 李华
网站建设 2026/4/23 14:39:14

3步掌握AI音频处理工具:从杂音修复到专业级音频创作

3步掌握AI音频处理工具&#xff1a;从杂音修复到专业级音频创作 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 作为音频创作者&#xff0c;你是否常被这些问题困扰&#xff1a;录制的播客背景噪音明显、人声与背…

作者头像 李华