TextGen 启用 embedding 并安装 all-mpnet-base-v2 模型教程
1. 引言TextGen 是一个功能强大的文本生成与处理框架支持通过 embedding 模型将文本转换为向量表示从而进行语义搜索、相似度计算等任务。all-mpnet-base-v2 是 Sentence‑Transformers 提供的一个高性能预训练模型在多种语义相似度任务上表现优异。本文将详细介绍如何在 TextGen 中启用 embedding 功能并安装、配置 all-mpnet-base-v2 模型。2. 环境准备在开始之前请确保你的系统已安装以下基础环境Python 3.8 或更高版本pip 包管理工具可用的网络连接用于下载模型建议使用虚拟环境如 venv 或 conda隔离项目依赖# 创建并激活虚拟环境以 venv 为例 python -m venv textgen-env source textgen-env/bin/activate # Linux/macOS # 或 textgen-env\Scripts\activate # Windows3. 安装 TextGen 与相关依赖首先安装 TextGen参考前一篇文章 TextGen for Local LLM-CSDN博客如果你已经安装了 TextGen可以通过以下命令安装 embedding 扩展pip install sentence-transformers torch transformers --index-url your proxy url # https://nexusoss.xxx.com/repository/pypi-proxy/simple注意embedding 功能依赖于sentence-transformers和torch请确保它们已正确安装。4. 下载并安装 all-mpnet-base-v2 模型all-mpnet-base-v2 模型可以通过sentence-transformers直接加载或从 Model Scope 下载模型文件我使用了 git clone 的方式下载git clone https://www.modelscope.cn/sentence-transformers/all-mpnet-base-v2.git5. 在 TextGen 中启用 embeddingTextGen 提供了统一的接口(OPENEDAI_EMBEDDING_MODEL 和 OPENEDAI_EMBEDDING_DEVICE)来使用 embedding 模型我在TextGen根目录创建 start.sh文件并设置此文件可执行权限在文件中设置参数(我的模型放在 textgen-4.9/user_data/models/embedding/ 下)start.shexport OPENEDAI_EMBEDDING_MODEL/home/ai/textgen-4.9/user_data/models/embedding/all-mpnet-base-v2 export OPENEDAI_EMBEDDING_DEVICEauto # cpu or cuda or auto echo EMBEDDING_MODEL: $OPENEDAI_EMBEDDING_MODEL echo EMBEDDING_DEVICE: $OPENEDAI_EMBEDDING_DEVICE ## 啟動參數 ## --model Qwen3.5-4B-Q4_K_M.gguf ## --extensions rag #有問題chainlit-ui 呼叫 TextGen API 會出現 500 Internal Server Error原因不明暫時先不使用 rag 擴充功能 #./textgen --no-electron --listen --listen-host 0.0.0.0 --model Qwen3.5-4B-Q4_K_M.gguf nohup ./textgen --no-electron --listen --listen-host 0.0.0.0 --model Qwen3.5-4B-Q4_K_M.gguf textgen-$(date %Y%m%d).log 21 echo $! # show PID以下是一个完整的示例展示如何初始化 TextGen 并启用 all-mpnet-base-v2 进行文本向量化user_data/extensions/rag/0.embedding_model_test.pyimport os import numpy as np import torch from sentence_transformers import SentenceTransformer # 修改为你的本地模型目录 MODEL_DIR os.environ.get(MODEL_DIR, /home/ai/textgen-4.9/user_data/models/embedding/all-mpnet-base-v2) # 加载模型从本地文件夹 model SentenceTransformer(MODEL_DIR) # 如有可用 GPU可移动模型到 GPU可选 if torch.cuda.is_available(): model model.to(cuda) sentences [ 这是第一个句子。, 这是第二个句子。, 这是第三条文本用来演示相似度。 ] # 编码为 numpy 向量 embeddings model.encode(sentences, convert_to_tensorFalse, show_progress_barFalse) emb np.array(embeddings, dtypenp.float32) # 计算余弦相似度小数据集示例 emb_norm emb / np.linalg.norm(emb, axis1, keepdimsTrue) sims emb_norm emb_norm.T print(sentences:, sentences) print(embeddings shape:, emb.shape) print(cosine similarity matrix:, sims)执行上面的程式python user_data/extensions/rag/0.embedding_model_test.py运行结果Loading weights: 100%|█████████████████████████████████████████████████████████████████████████████████████████████| 199/199 [00:0000:00, 4662.79it/s]sentences: [这是第一个句子。, 这是第二个句子。, 这是第三条文本用来演示相似度。]embeddings shape: (3, 768)cosine similarity matrix: [[1.0000002 0.88622326 0.6373426 ][0.88622326 1.0000002 0.6343377 ][0.6373426 0.6343377 0.9999999 ]]6. 配置与优化建议设备选择默认情况下模型会在 CPU 上运行。如果你有 GPU可以通过model SentenceTransformer(all-mpnet-base-v2, devicecuda)加速。export OPENEDAI_EMBEDDING_DEVICEcuda # cpu or cuda or auto批量处理对大量文本进行编码时建议使用model.encode(sentences, batch_size32)以提高效率。缓存机制TextGen 支持对已计算的向量进行缓存避免重复计算。可以在初始化时设置use_cacheTrue。模型版本确保使用的sentence-transformers版本与模型兼容推荐使用最新稳定版。7. 常见问题排查下载失败检查网络连接或尝试手动下载模型并指定本地路径。内存不足all-mpnet-base-v2 加载后约占用 1.2 GB 内存。如果内存紧张可考虑使用更小的模型如 all-MiniLM-L6-v2。版本冲突如果遇到sentence-transformers与torch版本不兼容请根据官方文档调整版本。编码速度慢启用 GPU 或调整batch_size可显著提升速度。8. 总结本文介绍了在 TextGen 中启用 embedding 功能并安装 all-mpnet-base-v2 模型的完整步骤。通过上述配置你可以轻松将文本转换为高质量的向量表示并应用于语义搜索、聚类、推荐等场景。如果你在实践过程中遇到问题欢迎在 TextGen 官方社区或 GitHub 仓库中反馈。

相关新闻

数学公式OCR实战:从图片到LaTeX的高效转换方案

数学公式OCR实战:从图片到LaTeX的高效转换方案

数学公式OCR实战:从图片到LaTeX的高效转换方案 【免费下载链接】texify Math OCR model that outputs LaTeX and markdown 项目地址: https://gitcode.com/gh_mirrors/te/texify 在科研写作和学术研究中,我们常常面临一个痛点:如何将纸…

2026/10/15 13:03:52 阅读更多 →
Optimize-Offline组件集成:如何在Windows 10镜像中添加DaRT 10、Windows Store和Microsoft Edge

Optimize-Offline组件集成:如何在Windows 10镜像中添加DaRT 10、Windows Store和Microsoft Edge

Optimize-Offline组件集成:如何在Windows 10镜像中添加DaRT 10、Windows Store和Microsoft Edge 【免费下载链接】Optimize-Offline Optimize-Offline is a Windows 10 offline image optimization framework. 项目地址: https://gitcode.com/gh_mirrors/op/Optim…

2026/10/16 17:13:14 阅读更多 →
Android应用冻结革命:雹(Hail)如何重塑你的设备控制权

Android应用冻结革命:雹(Hail)如何重塑你的设备控制权

Android应用冻结革命:雹(Hail)如何重塑你的设备控制权 【免费下载链接】Hail Disable / Hide / Suspend / Uninstall Android apps without root. 项目地址: https://gitcode.com/gh_mirrors/ha/Hail 雹(Hail)是一款创新的Android应用管理工具,通…

2026/10/16 13:55:59 阅读更多 →

最新新闻

2026年AI电商趋势全解析:内容生成、智能推荐与供应链落地

2026年AI电商趋势全解析:内容生成、智能推荐与供应链落地

1. 2026年AI电商会走到哪一步:先看三条硬逻辑每年这个时间点,圈子里都会有一波趋势预测。我入行电商技术这几年,见过太多概念从爆火到沉寂的周期,所以对“AI驱动的电商增长”这类话题,我习惯先把水分挤掉,看…

2026/10/16 19:26:16 阅读更多 →
线性代数怎么学?矩阵与向量空间的工程视角与numpy实操

线性代数怎么学?矩阵与向量空间的工程视角与numpy实操

直接开写吧。这篇关于线性代数的文章,我想了很久该怎么开头——因为"矩阵和向量空间"这几个字,对很多人来说就是大学里最抽象、最容易劝退的一章。教材里上来就是定义、定理、证明,你会算行列式,会做矩阵乘法&#xff0…

2026/10/16 19:26:16 阅读更多 →
基于PID神经元网络的多变量解耦控制与Simulink仿真

基于PID神经元网络的多变量解耦控制与Simulink仿真

简介:面向多变量系统控制场景,PID神经元网络解耦控制算法将经典PID的稳定调节与神经网络的自学习能力相结合,把相互耦合的MIMO系统分解为多个独立子系统,适合自动化、控制工程方向的学生与研究人员学习。压缩包共6个文件&#xff…

2026/10/16 19:25:15 阅读更多 →
GBDT回归树原理与手写实现:从梯度提升到工业级可解释建模

GBDT回归树原理与手写实现:从梯度提升到工业级可解释建模

1. 为什么今天还要深挖GBDT回归树——它不是“老古董”,而是工业级建模的压舱石你可能在面试里被问过“GBDT和XGBoost有什么区别”,也可能在Kaggle比赛里抄过几行lightgbm的fit代码,但当你面对一份销售预测数据、一份设备剩余寿命评估表、或者…

2026/10/16 19:25:15 阅读更多 →
LangGraph多智能体系统设计:状态图编排与工程实践全解析

LangGraph多智能体系统设计:状态图编排与工程实践全解析

多智能体系统这两年听起来特别火,但真上手做过的都知道,绝大多数问题根本不在模型选择上,而在于你拿什么把多个Agent组织起来。我最早用纯Python写调度循环,状态机全靠手工维护,改一个分支逻辑要牵出一堆全局变量&…

2026/10/16 19:25:15 阅读更多 →
OpenCV直方图四件套:图像增强与检索的统计基石

OpenCV直方图四件套:图像增强与检索的统计基石

1. 先从像素的"人口普查"说起直方图是图像处理里被严重低估的一类工具。很多人学习 OpenCV 时,注意力全被各种滤波、边缘检测、特征点吸引走了,结果做到图像增强、目标识别、图像检索的时候才发现,直方图这个基础能力才是绕不开的底…

2026/10/16 19:25:15 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →