Skip to content

Feat/v0.5.0 streaming tenancy#1

Merged
soneylegal merged 18 commits into
mainfrom
feat/v0.5.0-streaming-tenancy
Jun 5, 2026
Merged

Feat/v0.5.0 streaming tenancy#1
soneylegal merged 18 commits into
mainfrom
feat/v0.5.0-streaming-tenancy

Conversation

@soneylegal

Copy link
Copy Markdown
Owner

This pull request introduces major enhancements for multi-tenancy, real-time streaming, and in-memory document ingestion, along with developer experience improvements for Docker-based workflows and documentation. The most significant changes are the addition of a streaming chat API, a document upload endpoint supporting .md and .pdf files with tenant isolation, and updates to the vector store and retrieval logic to support tenant-level partitioning. The Docker and Makefile workflows are also refactored to better support local and containerized development.

Major Feature Additions

  • Added a real-time Server-Sent Events (SSE) streaming chat API at POST /api/v1/chat/stream, enabling token-by-token streaming of LLM output and final structured metadata, with support for tenant and session isolation. (src/app/api/v1/chat.py)
  • Introduced a document ingestion API at POST /api/v1/documents to upload .md and .pdf files directly into tenant-partitioned ChromaDB vector stores, including PDF parsing and chunking logic. (src/app/api/v1/documents.py)

Multi-Tenancy and Vector Store Enhancements

  • All vector store operations and semantic cache lookups are now partitioned by tenant_id, ensuring strict isolation between tenants for both retrieval and ingestion. (src/app/api/v1/chat.py, src/app/graph/nodes.py) [1] [2]
  • Retrieval and grading nodes in the LangGraph workflow are now asynchronous and support tenant-aware document search. (src/app/graph/nodes.py) [1] [2]

Developer Experience and Docker Improvements

  • Refactored the Dockerfile to use multi-stage builds for separate development and production images, and updated docker-compose.yml to mount source, test, and config files for live development. (Dockerfile, docker-compose.yml) [1] [2]
  • Enhanced the Makefile with Docker-based quality check commands (docker-lint, docker-format, docker-typecheck, docker-test, docker-ci) for consistent local and CI workflows. (Makefile)

Documentation Updates

  • Expanded the README.md and docs/developer-guide.md to document the new streaming and ingestion APIs, multi-tenancy, and Docker-based development workflows. [1] [2] [3]

Dependency Updates

  • Added langchain-text-splitters, pypdf, and python-multipart to support PDF parsing and multipart uploads for document ingestion. (pyproject.toml) [1] [2]

@soneylegal soneylegal force-pushed the feat/v0.5.0-streaming-tenancy branch 3 times, most recently from b20c1d6 to 7251072 Compare June 5, 2026 02:31
@soneylegal soneylegal force-pushed the feat/v0.5.0-streaming-tenancy branch from 7251072 to bc70d7d Compare June 5, 2026 03:21
@soneylegal soneylegal merged commit fa7fc22 into main Jun 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant