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 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 wrap_and_serve

llm = OpenAI(model="gpt-4o")
engine = SimpleChatEngine.from_defaults(llm=llm)
wrap_and_serve(engine, name="my-chatbot", port=8080)

For more flexibility (e.g., serving multiple agents), use wrap and serve separately:

from llama_index.core.chat_engine import SimpleChatEngine
from llama_index.llms.openai import OpenAI
from reminix_llamaindex import wrap
from reminix_runtime import serve

llm = OpenAI(model="gpt-4o")
engine = SimpleChatEngine.from_defaults(llm=llm)
agent = wrap(engine, name="my-chatbot")
serve([agent], port=8080)

Your agent is now available at:

  • POST /agents/my-chatbot/invoke - Stateless invocation
  • POST /agents/my-chatbot/chat - Conversational chat

API Reference

wrap_and_serve(engine, name, port, host)

Wrap a LlamaIndex chat engine and serve it immediately. Combines wrap 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(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: LlamaIndexAdapter - 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
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(engine, name="rag-chatbot")
serve([agent], port=8080)

Endpoint Input/Output Formats

POST /agents/{name}/invoke

Stateless invocation for task-oriented operations.

Request:

{
  "input": {
    "query": "What is the capital of France?"
  }
}

Or with prompt:

{
  "input": {
    "prompt": "Summarize this text: ..."
  }
}

Response:

{
  "output": "The capital of France is Paris."
}

POST /agents/{name}/chat

Conversational chat. The adapter extracts the last user message.

Request:

{
  "messages": [
    {"role": "user", "content": "What is the capital of France?"}
  ]
}

Response:

{
  "output": "The capital of France is Paris.",
  "messages": [
    {"role": "user", "content": "What is the capital of France?"},
    {"role": "assistant", "content": "The capital of France is Paris."}
  ]
}

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.3.tar.gz (10.8 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.3-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reminix_llamaindex-0.0.3.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","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.3.tar.gz
Algorithm Hash digest
SHA256 dc11c83d458e8a545a5bf520de16cdad1dc5613230901296cb485584a077dad8
MD5 be1dfa755f3bd50315d464d31f922619
BLAKE2b-256 0702abb3ba1751fc8052670d324ab72478da067d1f31674780a0d27ae35457e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reminix_llamaindex-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9eab685a3402fb1295e641aa71a0d05120a8e07dead2b74b77dfc32291e418b4
MD5 7c51fba251c3b2ea7d8f9e354248cb33
BLAKE2b-256 7054c6c8e8f33efd2244e857c1b0fdf780d523e255586930b1e1ffed43592f9d

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