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.1.0.tar.gz (29.9 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.1.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kore_engine-0.1.0.tar.gz
  • Upload date:
  • Size: 29.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 9685b3ff8b99b897dd128695d365a1363b9d5918ebea1a9a221eefa8353877f3
MD5 ead1aea98156deb8ca802b0c0b1eb640
BLAKE2b-256 73eda27cd10db40d5f8ce2071d3b60ca016cc11c6b04c426fdf5b38dc32c5614

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kore_engine-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.2 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 692c99e71c68bd339e5e44094f5f6212f2d6247d0bf793e2be4246684e0271f5
MD5 7206f68c8dacf006a015dcc0a1bce7ab
BLAKE2b-256 33ed3f4b78037affdc902f8366973c3a5dbafbbf1456d082c1855b6950df1b36

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