KamoCRM

Inferencia que ejecutamos nosotros mismos

Modelos, incrustaciones, búsqueda vectorial, voz y traducción, todo en nuestro propio hardware

El asistente de SI dentro de KamoCRM lee los propios documentos de un inquilino antes de responder, y para hacer ese trabajo tuvimos que ejecutar toda la cadena nosotros mismos: un servidor de modelos, un modelo de incrustación, una base de datos vectorial, reconocimiento de voz, síntesis de voz y traducción automática, todo dentro de nuestro clúster, todo en datos que nunca lo abandonan.

Cada número aquí nombra de dónde vino y cuándo fue medido.
MedidaValorFuenteMedido
Servicios de inferencia y voz autohospedados6 (model server, embedding model, vector database, speech recognition, speech synthesis, machine translation)kubectl get deployments,statefulsets --all-namespaces
Servicios dedicados de recuperación y vectores en la plataforma3 (RAG service, vector service, embedding model)kubectl get deployments -n kamo
Idiomas atendidos por la canalización de traducción autohospedada22messages/*.json in the marketing site repository
Tasa de error de reconocimiento óptico de caracteres0.180 CERocrservice evaluation run

Qué edificio nos enseñó

Llamar a una API de modelo alojado es un trabajo de tarde y nosotros también lo hacemos, donde es la respuesta correcta. Ejecutar la inferencia usted mismo es una disciplina diferente, y es la que los clientes preguntan sobre el momento en que sus datos son confidenciales (salud, finanzas, legal, cualquier cosa bajo una obligación de residencia de datos).En ese punto, "lo enviamos a un tercero" termina la conversación, y solo un equipo que realmente ha operado la alternativa puede continuarla.

La recuperación es donde estos sistemas se ganan o pierden, y es en su mayoría poco glamorosa. Recortar documentos para que un pasaje recuperado sea autocontenido. Decidir qué significa una consulta incluso cuando el usuario escribió cuatro palabras. Hacer que la recuperación respete los permisos, de modo que un asistente no pueda responder desde un documento que la persona que hace la pregunta no tiene permiso para leer — lo cual es fácil de equivocarse, y el tipo de error que termina en una carta del regulador en lugar de un rastreador de errores. Nuestra base de conocimiento tiene niveles de visibilidad que la capa de recuperación tiene que respetar exactamente como lo hacen las lecturas de cara a los humanos, en dos lugares separados que deben coincidir.

También ejecutamos reconocimiento y síntesis de voz, y traducción automática en veintidós idiomas. La canalización de traducción nos enseñó más, principalmente por fallar silenciosamente: una actualización masiva que se ejecuta sin una transacción tuvo éxito en el papel y no escribió nada para veintiún de los idiomas, y porque nada se lanzó, nadie se dio cuenta durante mucho tiempo.

Construido con

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

Para lo que esto nos califica

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

Cuéntanos lo que estás tratando de hacer

Una breve conversación suele ser suficiente para saber si somos las personas adecuadas, si no lo somos, lo diremos y le indicaremos un lugar mejor.

Iniciar una conversaciónYa uso KamoCRMCómo cotizamos