跳转到内容

文本嵌入

文本嵌入将人类语言表示为计算机可理解的形式,从而实现语义搜索等任务。BotSharp 支持多种嵌入方法,并通过工程抽象支持更多嵌入方法的扩展。

fastText 嵌入

FastText 是一个开源、免费、轻量级的库,允许用户学习文本表示和文本分类。它可以在标准的通用硬件上运行。模型可以在后期缩小尺寸,甚至可以适应移动设备。为了使用 fastText 嵌入方法,请确保安装 BotSharp.Plugin.MetaAI,并在本地设置中启用此插件。还需要下载 fastText 的预训练模型,并在设置中指定模型的位置。

json
"PluginLoader": {
  "Assemblies": [
    "BotSharp.Plugin.MetaAI"
  ],
  "Plugins": [
    "KnowledgeBasePlugin",
    "MemVecDbPlugin",
    "MetaAiPlugin"
  ]
},

"KnowledgeBase": {
  "TextEmbedding": "fastTextEmbeddingProvider"
},

"MetaAi": {
  "fastText": {
  "ModelPath": "crawl-300d-2M-subword.bin"
  }
}

LLamaSharp.TextEmbeddingProvider

LLamaSharp 也提供 LLM 嵌入。有关 LLamaSharp 的更多操作方法,请参考其仓库地址。 你需要下载相应的 LLM 开源模型,如 llama2 到本地。

json
"PluginLoader": {
  "Assemblies": [
    "BotSharp.Core"
  ],
  "Plugins": [
    "KnowledgeBasePlugin",
    "MemVecDbPlugin",
    "LLamaSharpPlugin"
  ]
},

"KnowledgeBase": {
  "TextEmbedding": "LLamaSharp.TextEmbeddingProvider"
},

"LlamaSharp": {
  "ModelPath": "llama-2-7b-chat.ggmlv3.q3_K_S.bin"
}

TensorFlow BERT

训练你自己的嵌入

你也可以使用 TensorFlow.NET 从头开始训练自己的嵌入模型。

基于 MIT 许可发布