Skip to main content

Kore — Motor de Conocimiento Inteligente. Cache + comprensión + decisión en un solo paquete.

Project description

Kore Engine

El motor de conocimiento que responde antes que tu LLM.

Python Zero deps <1ms MIT


El problema

Cada empresa que usa un LLM gasta miles de euros al mes respondiendo las mismas preguntas una y otra vez. El 70-80% de las consultas de tus usuarios ya las has respondido antes.

La solución

pip install kore-engine

Kore se pone delante de tu LLM. Si sabe la respuesta, la da en menos de 1 milisegundo. Si no sabe, te dice que no sabe y tú decides si pasarla al LLM. Cada respuesta buena que pasa por Kore se queda para la próxima vez.

from kore import Kore

k = Kore("mi_dominio")
k.ingest("mi_conocimiento.jsonl")

r = k.ask("¿cómo se calcula el IVA?")
if r and r.confident:
    return r.answer          # <1ms, 0 tokens, 0 coste
else:
    return llamar_al_llm()   # Solo cuando Kore no sabe

Por qué Kore

Kore RAG + VectorDB LLM directo
Instalación pip install kore-engine Redis + Pinecone + embeddings + orquestador API key
Dependencias 0 4-6 servicios 1 API
Latencia <1ms 50-200ms 500-3000ms
Coste por query 0 ~$0.001 (embeddings) $0.01-0.10
Aprende solo Si No No
Memoria conversacional Si No Limitada

Qué puede hacer

Responder sin LLM — Kore tiene múltiples niveles de comprensión. No es un simple cache de texto exacto. Entiende variaciones, sinónimos y contexto.

Recordar conversaciones — Si un usuario pregunta "tipos de IVA" y luego dice "y el repercutido?", Kore sabe que habla de IVA repercutido.

k.ask("tipos de IVA en España", session_id="user_1")
# → "General 21%, reducido 10%, superreducido 4%"

k.ask("y el repercutido?", session_id="user_1")
# → "El IVA repercutido es el que cobra la empresa al vender..."

Aprender de las interacciones — Cuando tu LLM da una buena respuesta y el usuario la valida, Kore la incorpora. La próxima vez no necesita LLM.

k.feedback("¿cómo se cierra el ejercicio?", respuesta_del_llm, positive=True)
# A partir de ahora, Kore responde esa pregunta solo

Cualquier dominio — Fiscal, legal, médico, soporte técnico, e-commerce, educación. Tú defines las categorías de tu dominio y Kore se adapta.

k = Kore("soporte_tecnico", config=DomainConfig(
    name="soporte",
    categories={
        "hardware": ["pc", "monitor", "teclado", "ratón", "impresora"],
        "software": ["windows", "office", "email", "vpn", "antivirus"],
        "red": ["wifi", "ethernet", "dns", "proxy", "firewall"],
    },
))

Ingestar de todo — JSONL, CSV, JSON, ChatML, conversations. Le metes tu conocimiento en el formato que tengas.

k.ingest("faq.jsonl")
k.ingest("soporte.csv")
k.ingest([{"query": "...", "answer": "..."}])

Estadísticas en tiempo real — Sabes exactamente cuánto te ahorras.

s = k.stats()
# → hit_rate: 78%, queries: 15420, hits: 12028, misses: 3392

Comprensión semántica (opcional)

El paquete base ya es potente. Pero si quieres comprensión por significado (no solo por palabras), activa el nivel semántico:

pip install kore-engine[semantic]
k = Kore("mi_dominio", semantic=True)

Añade ~35MB. Sin PyTorch (2GB+). Sin GPU. Corre en cualquier CPU.

Rendimiento real

Probado con un dataset de 7,888 pares pregunta-respuesta de contabilidad española:

Métrica Resultado
Ingesta 7,888 entries en 1.1s
Hit rate en queries del dominio 100%
Falsos positivos (queries fuera de dominio) 0%
Latencia media 0.9ms/query
Memoria conversacional 16/16 queries contextuales resueltas
Sesiones paralelas Aislamiento perfecto

Persistencia

# En memoria (rápido, volátil)
k = Kore("dominio", db_path=":memory:")

# En disco (persiste entre reinicios)
k = Kore("dominio", db_path="mi_conocimiento.db")

API completa

from kore import Kore, DomainConfig

k = Kore("dominio", config=config)

# ── Conocimiento
k.ingest(source)                          # Carga masiva
k.add(query, answer)                      # Entrada individual
k.clear()                                 # Limpiar todo

# ── Consulta
r = k.ask(query)                          # Sin sesión
r = k.ask(query, session_id="user_1")     # Con memoria

# ── Resultado
r.answer                                  # Respuesta
r.score                                   # Confianza (0.0 - 1.0)
r.confident                               # True si score >= 0.7
r.level                                   # Nivel de matching
r.category                                # Categoría detectada

# ── Memoria
k.context(session_id)                     # Estado de la sesión
k.history(session_id)                     # Últimos turnos
k.forget(session_id)                      # Olvidar sesión

# ── Aprendizaje
k.feedback(query, answer, positive=True)  # Registrar feedback
k.learn()                                 # Incorporar feedback acumulado

# ── Estadísticas
k.stats()                                 # Hit rate, contadores, etc.

Requisitos

  • Python 3.10+
  • Nada más

Licencia

MIT — IAFiscal © 2026

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kore_engine-0.2.1.tar.gz (31.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kore_engine-0.2.1-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file kore_engine-0.2.1.tar.gz.

File metadata

  • Download URL: kore_engine-0.2.1.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for kore_engine-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1e31d61fdb32de440edf9d069cc75ed43beefc2e9310553dbf9643f37e5c0e7f
MD5 954b97c7f3157dc15984a0df03fcf65c
BLAKE2b-256 4e84de54c52851c943f1e465231179c73ae68c76eeea60de3c62a4386eaff844

See more details on using hashes here.

File details

Details for the file kore_engine-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: kore_engine-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for kore_engine-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b047e5a9dcd97741353a699b6a4234f9eef904c19afcd01eea3617609c07474a
MD5 fdbee0452b564bf5a4e4012432aa51c6
BLAKE2b-256 997ac2c45b0ae7157e87c20bb5b63aef36c51097787f5cbce9ea759d610c3de2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page