Skip to main content

A privacy-first, local document chatbot engine

Project description

ChatCortex

ChatCortex is a privacy-first, local document chatbot engine designed to be embedded into any application.
It enables teams to build document-aware conversational systems without relying on cloud services, while keeping all data within their own infrastructure.

ChatCortex is library-first, API-agnostic, and designed for production and enterprise use cases.


Overview

Most document-based chat systems are tightly coupled to user interfaces, depend on external cloud services, or are difficult to integrate into existing platforms.

ChatCortex focuses exclusively on the core infrastructure layer, allowing developers to integrate document chat capabilities into their own systems with minimal overhead.


Core Principles

  • Privacy-first: All ingestion, retrieval, and inference occur locally
  • Library-first design: Use directly as a Python SDK or wrap with custom APIs
  • Frontend-agnostic: Compatible with any UI or client application
  • Backend-oriented: Built as infrastructure, not a demo application
  • Simple and stable API: Small public surface area intended for long-term stability

Use Cases

ChatCortex can be used to build:

  • Internal enterprise document chatbots
  • Knowledge base assistants
  • Policy, HR, and legal document Q&A systems
  • On-premise or air-gapped AI assistants
  • Custom chat APIs for proprietary frontends

Quick Start

pip install chatcortex

from chatcortex import ChatCortexEngine

engine = ChatCortexEngine()

# Ingest documents (v0.1 supports .txt files)
engine.ingest("./docs")

# Ask a question
response = engine.chat("What is covered in these documents?")
print(response)

Public API (v0.1)

ChatCortexEngine(
    config: ChatCortexConfig | None = None
)

engine.ingest(source: str)
engine.chat(message: str, session_id: Optional[str] = None) -> str
engine.reset_session(session_id: str)

Configuration

from chatcortex.config import ChatCortexConfig
from chatcortex import ChatCortexEngine

config = ChatCortexConfig(
    chunk_size=500,
    chunk_overlap=100
)

engine = ChatCortexEngine(config)

Design Philosophy

ChatCortex enforces a clear separation of responsibilities:

Layer Responsibility
Core Engine Document ingestion, retrieval, session management
API Layer Optional adapters (REST, gRPC, etc.)
Frontend Fully owned by the integrator

You are free to:

Use ChatCortex directly as a Python library

Wrap it with your own API layer

Integrate it into existing systems

Ignore any optional adapters


Roadmap

v0.1 -> Core engine -> Local document ingestion -> Session handling

Planned

PDF ingestion -> Embeddings and vector database support (FAISS, Chroma) -> Streaming responses -> External connectors (S3, SharePoint) -> Optional FastAPI service wrapper


Development Setup

git clone https://github.com/yourusername/chatcortex
cd chatcortex
python -m venv .venv
source .venv/bin/activate
pip install -e .

License

MIT License

You are free to use, modify, and integrate ChatCortex into commercial and internal products.


Project Goals

ChatCortex is built as infrastructure, not a demo application.

It is intended for teams that require a reusable, local-first document chatbot engine without repeatedly rebuilding the same backend components.

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

chatcortex-0.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

chatcortex-0.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: chatcortex-0.1.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.4

File hashes

Hashes for chatcortex-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e0f919c725b291f9e3702671ac76f4f852d0fd1760aafd4abffe6aafde038f01
MD5 df07e03f403b4fc0efbc0c5b9ff46e1b
BLAKE2b-256 88cc63d585819a1c8b107a2344cb3a7a6ed03e1ca2ebdeedc8d4f0d1c923af5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chatcortex-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.4

File hashes

Hashes for chatcortex-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fea612a4b11acc1f335580cbdf574f823b5b0b2bfcc122312ef45e4603a0252
MD5 06e4c22e08e9bcebd274e628cdc8e261
BLAKE2b-256 395b36c4c6b55e124ff7ccde3666817715711f630f97761f96475718a9d67538

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