llamaindex-soul 🧠
The soul ecosystem for LlamaIndex.
One package, full stack:
- Persistent Memory — Markdown-native, git-versionable, human-readable
- Hybrid Retrieval — RAG + RLM via soul-agent
- Database Intelligence — Auto-generated semantic layers via soul-schema
- Managed Cloud Option — SoulMate handles memory infrastructure for you
Choose Your Setup
| Setup | Best For | Storage |
|---|---|---|
| Local (default) | Development, git-tracked projects | Markdown files |
| SoulMate (managed) | Production, teams, zero-infra | Cloud API (we handle it) |
Both use the same soul-agent RAG+RLM under the hood.
Install
pip install llamaindex-soul
This automatically installs:
soul-agent— Hybrid RAG+RLM memorysoul-schema— Database semantic layer generator
Quick Start
Basic Memory
from llamaindex_soul import SoulChatStore
from llama_index.core.memory import ChatMemoryBuffer
# Create markdown-based chat storage with full RAG+RLM
chat_store = SoulChatStore()
memory = ChatMemoryBuffer.from_defaults(
token_limit=3000,
chat_store=chat_store,
chat_store_key="user1",
)
# Use it with your agent
from llama_index.core.agent import FunctionAgent
agent = FunctionAgent(tools=tools, llm=llm)
await agent.run("Hello!", memory=memory)
Your chat history is stored in markdown files — human-readable, git-versionable, no database required.
Semantic Search
# Search past conversations
results = chat_store.recall("user1", "What did we discuss about databases?")
for result in results:
print(f"[{result['score']:.2f}] {result['content']}")
Database Schema Intelligence
Give your agents understanding of database structure:
from llamaindex_soul import SchemaMemory
# Connect to any SQLAlchemy-compatible database
schema = SchemaMemory("postgresql://user:pass@host/db")
# Auto-generate semantic descriptions using LLM
schema.generate()
# Get context for natural language queries
context = schema.context_for("Show me revenue by region")
SoulMate: Managed Memory (Recommended for Production)
Don't want to manage files? SoulMate is the managed version — same RAG+RLM, zero infrastructure:
from llamaindex_soul import SoulMateChatStore
from llama_index.core.memory import ChatMemoryBuffer
# Connect to SoulMate cloud
chat_store = SoulMateChatStore(api_key="your-key")
memory = ChatMemoryBuffer.from_defaults(
token_limit=3000,
chat_store=chat_store,
chat_store_key="user1",
)
# Same interface, managed infrastructure
await agent.run("Hello!", memory=memory)
Factory Function
from llamaindex_soul import create_chat_store
# Local file-based (default)
store = create_chat_store()
# SoulMate managed
store = create_chat_store("soulmate", api_key="...")
Architecture
┌──────────────────────────────────────────────────────────┐
│ llamaindex-soul │
│ │
│ ┌─────────────┐ ┌───────────────┐ │
│ │SoulChatStore│ │SoulMateChatStore│ │
│ │ (local) │ │ (managed) │ │
│ └──────┬──────┘ └───────┬───────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ soul-agent (RAG + RLM) │ │
│ └───────────────────────────────────────────────── ┘ │
│ │
│ ┌──────────────────┐ ┌─────────────────────────┐ │
│ │ soul-schema │ │ SoulMate API │ │
│ │ (db intelligence)│ │ (managed memory) │ │
│ └──────────────────┘ └─────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
Part of the Soul Ecosystem
- soul-agent — Core RAG + RLM library
- soul-schema — Database semantic layer generator
- crewai-soul — CrewAI integration
- langchain-soul — LangChain integration
- llamaindex-soul — LlamaIndex integration (this package)
- SoulMate — Managed cloud service
License
MIT
Metadata
Release files for llamaindex-soul 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| llamaindex_soul-0.1.1.tar.gz | 14.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llamaindex_soul-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.1 kB
Release files / llamaindex_soul-0.1.1.tar.gz
| Download URL | llamaindex_soul-0.1.1.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bae97dc0e3d25aee966c9c3b68410ae7e4f390cb9ef9dcf97f95922ae471520
|
|
BLAKE2b-256 checksum How to use checksums |
4d337681031717ca1f84276732ee781bed5b31f746dd6c35da469be7c9b5afdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / llamaindex_soul-0.1.1-py3-none-any.whl
| Download URL | llamaindex_soul-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20ea3e3c6e6fb51a06f57778683b3b7cbe001615f491c076aa6b3a4fb8be078b
|
|
BLAKE2b-256 checksum How to use checksums |
c945b291b253f63b80e39c46e7651fe246416ab015502d077083ab731f8425b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for llamaindex-soul 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.