Reminix adapter for LlamaIndex - serve agents as REST APIs
Project description
reminix-llamaindex
Reminix Runtime adapter for LlamaIndex. Serve LlamaIndex chat engines as a REST API.
Ready to go live? Deploy to Reminix Cloud for zero-config hosting, or self-host on your own infrastructure.
Installation
pip install reminix-llamaindex
This will also install reminix-runtime as a dependency.
Quick Start
from llama_index.core.chat_engine import SimpleChatEngine
from llama_index.llms.openai import OpenAI
from reminix_llamaindex import serve_agent
llm = OpenAI(model="gpt-4o")
engine = SimpleChatEngine.from_defaults(llm=llm)
serve_agent(engine, name="my-chatbot", port=8080)
For more flexibility (e.g., serving multiple agents), use wrap_agent and serve separately:
from llama_index.core.chat_engine import SimpleChatEngine
from llama_index.llms.openai import OpenAI
from reminix_llamaindex import wrap_agent
from reminix_runtime import serve
llm = OpenAI(model="gpt-4o")
engine = SimpleChatEngine.from_defaults(llm=llm)
agent = wrap_agent(engine, name="my-chatbot")
serve(agents=[agent], port=8080)
Your agent is now available at:
POST /agents/my-chatbot/invoke- Execute the agent
API Reference
serve_agent(engine, name, port, host)
Wrap a LlamaIndex chat engine and serve it immediately. Combines wrap_agent and serve for single-agent setups.
| Parameter | Type | Default | Description |
|---|---|---|---|
engine |
BaseChatEngine |
required | A LlamaIndex chat engine |
name |
str |
"llamaindex-agent" |
Name for the agent (used in URL path) |
port |
int |
8080 |
Port to serve on |
host |
str |
"0.0.0.0" |
Host to bind to |
wrap_agent(engine, name)
Wrap a LlamaIndex chat engine for use with Reminix Runtime. Use this with serve from reminix_runtime for multi-agent setups.
| Parameter | Type | Default | Description |
|---|---|---|---|
engine |
BaseChatEngine |
required | A LlamaIndex chat engine |
name |
str |
"llamaindex-agent" |
Name for the agent (used in URL path) |
Returns: LlamaIndexAgentAdapter - A Reminix adapter instance
Example with RAG
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms.openai import OpenAI
from reminix_llamaindex import wrap_agent
from reminix_runtime import serve
# Load documents and create index
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
# Create a chat engine with the index
engine = index.as_chat_engine(llm=OpenAI(model="gpt-4o"))
# Wrap and serve
agent = wrap_agent(engine, name="rag-chatbot")
serve(agents=[agent], port=8080)
Endpoint Input/Output Formats
POST /agents/{name}/invoke
Execute the agent with a query or prompt.
Request with query:
{
"query": "What is the capital of France?"
}
Request with prompt:
{
"prompt": "Summarize this text: ..."
}
Response:
{
"output": "The capital of France is Paris."
}
Streaming
For streaming responses, set stream: true in the request:
{
"query": "Tell me about Paris",
"stream": true
}
The response will be sent as Server-Sent Events (SSE).
Runtime Documentation
For information about the server, endpoints, request/response formats, and more, see the reminix-runtime package.
Deployment
Ready to go live?
- Deploy to Reminix Cloud - Zero-config cloud hosting
- Self-host - Run on your own infrastructure
Links
License
Apache-2.0
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 reminix_llamaindex-0.0.17.tar.gz.
File metadata
- Download URL: reminix_llamaindex-0.0.17.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b66bb01436b174953ad9c1ffc4025601944480533d49e1ba584220e7079dba4a
|
|
| MD5 |
6bcbab5efe9d88909eea18646ab12b3a
|
|
| BLAKE2b-256 |
184e751c3689522cdbe67793a7dd2f49661db123436e45dc2cb8741d941db1d9
|
File details
Details for the file reminix_llamaindex-0.0.17-py3-none-any.whl.
File metadata
- Download URL: reminix_llamaindex-0.0.17-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
152ca8dbc9976b2d28786418f49aa6abc526d773fdef8e205d6e3bb741cad2e6
|
|
| MD5 |
4054d10a8ca33a64a671578486fae55c
|
|
| BLAKE2b-256 |
15a4a36365874dd52109dae01f28a0d1c746edf0b4009264a6d09d8480eb837f
|