Metadata-Version: 2.4
Name: memhq-llamaindex
Version: 0.1.0
Summary: MemHQ adapter for LlamaIndex — chat memory and retriever backed by MemHQ.
Author-email: MemHQ <hello@memhq.ai>
License: Apache-2.0
Project-URL: Homepage, https://memhq.ai
Project-URL: Documentation, https://docs.memhq.ai/sdks/llamaindex-py
Project-URL: Repository, https://github.com/MemHQ/memhq
Keywords: memhq,llamaindex,memory,ai,agent,llm,rag
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.25.0
Requires-Dist: llama-index-core>=0.11.0
Dynamic: license-file

# memhq-llamaindex

MemHQ adapter for LlamaIndex (Python). Drop-in chat memory and retriever backed by the MemHQ hosted API. Sync and async both supported.

## Install

```bash
pip install memhq-llamaindex
```

## Quickstart — Chat memory

```python
import os
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent

from memhq_llamaindex import MemHQMemory

memory = MemHQMemory(
    api_key=os.environ["MEMHQ_API_KEY"],
    session_id="conv_42",
    user_id="user_42",
)

agent = ReActAgent.from_tools(
    tools=[],
    llm=OpenAI(model="gpt-4o-mini"),
    memory=memory,
)

reply = agent.chat("What's my favorite coffee order?")
```

## Quickstart — Retriever

```python
from llama_index.core.query_engine import RetrieverQueryEngine
from memhq_llamaindex import MemHQRetriever

retriever = MemHQRetriever(
    api_key=os.environ["MEMHQ_API_KEY"],
    user_id="user_42",
    limit=8,
)

engine = RetrieverQueryEngine.from_args(retriever)
answer = engine.query("Summarize pricing discussion")
```

## Configuration

| Argument | Description |
| --- | --- |
| `api_key` | MemHQ project API key. Falls back to `MEMHQ_API_KEY`. |
| `user_id` | External user id. Required. |
| `session_id` | Thread anchor for the memory adapter. |
| `recall_limit` | Memories surfaced per memory read. Default 10. |
| `limit` | Memories returned per retriever query. Default 10. |
| `mode` | `"hybrid"` (default), `"vector"`, or `"lexical"`. |
| `base_url` | Override the API base. |

## Reference

Full reference: https://docs.memhq.ai/sdks/llamaindex-py
