A modular Python library for building conversational AI backends.
Project description
🚧 Status: ConverseKit is currently in Pre-Alpha. The package has been published to reserve the project name while the architecture and implementation are actively being developed.
ConverseKit
Build conversational AI backends by composing infrastructure instead of implementing it.
An open-source Python library for building modular conversational AI applications.
Why ConverseKit?
Every conversational AI application ends up implementing the same backend infrastructure:
- Conversation management
- Document ingestion
- Parsing & chunking
- Embedding generation
- Vector database integration
- Retrieval pipelines
- Memory management
- Context assembly
- Prompt orchestration
- LLM integrations
Most of this code isn't unique to your application.
ConverseKit eliminates this repetitive engineering by providing reusable, configurable modules that work together through a consistent architecture.
Instead of writing backend infrastructure, developers simply compose it.
Philosophy
ConverseKit is built around one simple idea:
Developers should build AI applications, not AI infrastructure.
Every major component is modular, interchangeable, and independently configurable.
Choose the techniques you want.
ConverseKit handles how they work together.
Features
📄 Modular Document Pipeline
Configure your document pipeline instead of implementing it.
- Multiple document loaders
- Configurable parsers
- Chunking strategies
- Metadata extraction
- Embedding generation
- Vector database indexing
🔍 Pluggable Retrieval
Swap retrieval strategies without modifying your application.
Examples include:
- Naive RAG
- Hybrid Search
- Parent Document Retrieval
- Multi Query Retrieval
- Corrective RAG
- Custom Retrieval Strategies
🧠 Modular Memory
Support different memory systems through a common interface.
Examples:
- Sliding Window Memory
- Long-Term Memory
- Branch Memory
- Custom Memory Providers
🌳 Branch-aware Conversations
ConverseKit treats conversations as first-class objects.
Applications can support:
- Multiple conversations
- Conversation branching
- Branch switching
- Branch-aware context assembly
- Context inheritance
🧩 Context Assembly
Context assembly is a core component of ConverseKit.
Instead of simply retrieving documents, ConverseKit intelligently combines:
- User message
- Conversation history
- Retrieved documents
- Long-term memory
- Branch history
- System prompts
before generating a response.
📊 Evaluation
Compare different pipelines scientifically.
Measure:
- Context Relevance
- Faithfulness
- Answer Relevance
- Precision@K
- Recall@K
Developers can evaluate retrieval strategies and choose the best-performing pipeline for their application.
🔌 Provider Abstraction
Swap providers without changing application logic.
Supported provider types include:
- LLM Providers
- Embedding Providers
- Vector Databases
- Rerankers
Example
from conversekit import Application
app = Application(
ingestion=DocumentPipeline(
parser=PyMuPDFParser(),
chunker=RecursiveChunker(),
embedding=BGEEmbedding(),
vectordb=Qdrant()
),
retrieval=HybridRetriever(),
memory=SlidingMemory(),
llm=GeminiProvider()
)
response = app.chat(
"Summarize Chapter 5"
)
Notice that no backend infrastructure is implemented.
The developer simply describes the pipeline they want.
Modular Architecture
User
│
▼
Conversation Manager
│
▼
Document Retrieval Pipeline
│
▼
Context Assembly
│
▼
Prompt Builder
│
▼
LLM Provider
│
▼
Response
Every stage is independently replaceable.
Design Principles
- Modular by default
- Interface-driven architecture
- Provider independent
- Retrieval independent
- Memory independent
- Easy to extend
- Easy to understand
- Easy to evaluate
Example Applications
ConverseKit can serve as the backend for:
- Educational Tutors
- PDF Chat Applications
- Legal Assistants
- Medical Assistants
- Customer Support Bots
- Research Assistants
- Enterprise Knowledge Assistants
- Internal Company Chatbots
Roadmap
Core
- Conversation Management
- Document Ingestion
- Context Assembly
- Memory Framework
- Retrieval Framework
- Prompt Builder
- Provider Abstractions
Retrieval
- Naive RAG
- Hybrid RAG
- Parent Document Retrieval
- Corrective RAG
- Multi Query Retrieval
- Branch-aware Retrieval
Evaluation
- Retrieval Benchmarks
- Faithfulness Metrics
- Context Metrics
- Latency Benchmarks
Future
- Agentic Workflows
- Vision Support
- MCP Integration
- Multimodal Pipelines
Current Status
🚧 ConverseKit is currently under active development.
The project is being designed with a strong focus on modularity, extensibility, and developer experience.
Vision
The goal of ConverseKit is to become the foundation developers reach for whenever they build a conversational AI application.
Whether you're creating a prototype, a research project, a startup MVP, or a production system, ConverseKit should allow you to assemble a complete conversational AI backend by configuring reusable components instead of rebuilding infrastructure from scratch.
License
MIT License
Project details
Release history Release notifications | RSS feed
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 conversekit-0.0.1.tar.gz.
File metadata
- Download URL: conversekit-0.0.1.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6a55daf87d22456473a31886081fff0c56f183abfa61b6752d5db0b5c1173bb
|
|
| MD5 |
663df444f008a567bbf7d74f9af0994a
|
|
| BLAKE2b-256 |
39634ba60e66d9fa9a09845c8e97f6652e968e8ce2495705aac9bb167f15649b
|
File details
Details for the file conversekit-0.0.1-py3-none-any.whl.
File metadata
- Download URL: conversekit-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ebf60e59a3ea52b9ce5ec7e2fed1b70a3a4e0850bdb4e15c0a877689f9a5b90
|
|
| MD5 |
406d6ffe97d336a10c595834092ad096
|
|
| BLAKE2b-256 |
b3c84a3126252d2ebdfb5cdea7aad70b2e8be3b84bbab190c16536e843e119b2
|