Skip to main content

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/execute - 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}/execute

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?

Links

License

Apache-2.0

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

reminix_llamaindex-0.0.8.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

reminix_llamaindex-0.0.8-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file reminix_llamaindex-0.0.8.tar.gz.

File metadata

  • Download URL: reminix_llamaindex-0.0.8.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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

Hashes for reminix_llamaindex-0.0.8.tar.gz
Algorithm Hash digest
SHA256 93325fb3ae848c4be082f6ef6dc1fb165ea4aad9a4c4b315cf7b97d0a8640d9c
MD5 07a5dff8cd3ba0bdeaf5f31c67c9c1a0
BLAKE2b-256 fb3ea1f9aa9c45a516b165d85de6af864bfaa730ca213b1d5eb823a93e2aa4c2

See more details on using hashes here.

File details

Details for the file reminix_llamaindex-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: reminix_llamaindex-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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

Hashes for reminix_llamaindex-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ae900ef4dfeb15c6be70e5fc319faafebba6c031b2a7780f39ec26685bb1136e
MD5 a897353e543a60d1c360b532b7d217e1
BLAKE2b-256 96e5ee9ab9509398dbf6ed7ddbe01ce7b4e228e143f759766c23fef54c8ef493

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