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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0f919c725b291f9e3702671ac76f4f852d0fd1760aafd4abffe6aafde038f01
|
|
| MD5 |
df07e03f403b4fc0efbc0c5b9ff46e1b
|
|
| BLAKE2b-256 |
88cc63d585819a1c8b107a2344cb3a7a6ed03e1ca2ebdeedc8d4f0d1c923af5b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fea612a4b11acc1f335580cbdf574f823b5b0b2bfcc122312ef45e4603a0252
|
|
| MD5 |
06e4c22e08e9bcebd274e628cdc8e261
|
|
| BLAKE2b-256 |
395b36c4c6b55e124ff7ccde3666817715711f630f97761f96475718a9d67538
|