KamoCRM

推理我们运行我们自己

模型、嵌入、矢量搜索、语音和翻译 — — 在我们自己的硬件上

KamoCRM 中的 SI 助理在回复之前会读取租户自己的文档。 要完成这项工作,我们需要自己运行整个链条:一个模型服务器、一个嵌入式模型、一个矢量数据库、语音识别、语音合成和机器翻译,所有这些都在我们的集群内,所有数据都从不离开集群。

这里的每个数字都有它的来源和测量时间。
措施价值资料来源已计量
自托管推理和语音服务6 (model server, embedding model, vector database, speech recognition, speech synthesis, machine translation)kubectl get deployments,statefulsets --all-namespaces
平台中的专用检索和矢量服务3 (RAG service, vector service, embedding model)kubectl get deployments -n kamo
自托管翻译管道支持的语言22messages/*.json in the marketing site repository
光学字符识别误差率0.180 CERocrservice evaluation run

它教会了我们什么建筑

调用托管模型 API 需要一个下午的时间,我们也会在正确的答案出现时进行调用。 自己运行推理是另一个学科,客户在数据敏感时会问我们这一问题 — — 医疗、财务、法律、任何数据驻留义务。 到那时,"我们将其发送给第三方"就会结束对话,只有实际运行了替代方案的团队才能继续对话。

检索是这些系统的胜负之所在,而且大多数时候并不引人注目。 将文档分块,使得检索的段落是自我包含的;当用户输入了四个字时,决定查询的含义;使检索尊重权限,这样助手就不能从提问者不允许阅读的文档中回答 — — 这很容易出错,而这种错误最终会被写进监管者的信而不是bug跟踪器。 我们的知识库具有可见性层,检索层必须与面向人类的读取一样尊重这些层,在两个必须一致的独立位置。

我们还在二十二种语言中运行语音识别和合成,以及机器翻译。 翻译管道教会了我们最多的东西,主要是通过无声的失败:运行的批量更新没有事务成功,在纸上并没有为二十一种语言写入任何内容,因为没有发生任何事件,所以很长一段时间没有人注意到。

建于

  • Ollama
  • Qdrant
  • Whisper
  • Coqui TTS
  • LibreTranslate
  • Python
  • Java
  • Spring Boot

这使我们有资格做什么

SI and retrieval systemsAssistants that read your documents, and know what they are not allowed to readCustom web applicationsThe system your business actually runs on, built properlyPlatform and DevOps engineeringKubernetes, pipelines and the deployment safety nobody notices until it is missing

告诉我们您想要做什么

简短的交谈通常就足以判断我们是否是合适的人选,如果我们不是,我们会告诉你并指出更好的地方。

开始对话我已经使用 KamoCRM我们如何报价