Skip to main content

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


Download files

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

Source Distribution

conversekit-0.0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

conversekit-0.0.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

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

Hashes for conversekit-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e6a55daf87d22456473a31886081fff0c56f183abfa61b6752d5db0b5c1173bb
MD5 663df444f008a567bbf7d74f9af0994a
BLAKE2b-256 39634ba60e66d9fa9a09845c8e97f6652e968e8ce2495705aac9bb167f15649b

See more details on using hashes here.

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

Hashes for conversekit-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ebf60e59a3ea52b9ce5ec7e2fed1b70a3a4e0850bdb4e15c0a877689f9a5b90
MD5 406d6ffe97d336a10c595834092ad096
BLAKE2b-256 b3c84a3126252d2ebdfb5cdea7aad70b2e8be3b84bbab190c16536e843e119b2

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