Skip to main content

Reminix adapter for LlamaIndex

Project description

reminix-llamaindex

Reminix Runtime adapter for LlamaIndex. Deploy LlamaIndex chat engines as a REST API.

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
from reminix_runtime import serve

# Create a LlamaIndex chat engine
llm = OpenAI(model="gpt-4o")
engine = SimpleChatEngine.from_defaults(llm=llm)

# Wrap it with the Reminix adapter
agent = wrap(engine, name="my-chatbot")

# Serve it as a REST API
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(engine, name)

Wrap a LlamaIndex chat engine for use with Reminix Runtime.

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.

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.1.tar.gz (5.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.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reminix_llamaindex-0.0.1.tar.gz
  • Upload date:
  • Size: 5.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.1.tar.gz
Algorithm Hash digest
SHA256 c78a120ccf727ee67114505dfe153edf1ba5f52fdb1a52e273c80cafbba05d45
MD5 83e0892c01a2796fddecb8256a9c0d3b
BLAKE2b-256 b1ba50cde4e101177a10a5e3dcd17d5c8944a0e0cb09276888343a81cd13a779

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reminix_llamaindex-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0426473c1bc4a6c6ccb1f8bb87a5d42c69376dc2314602ce0eabe3c653934cee
MD5 1ba826a2f4f9fed71b7a2f03121825e3
BLAKE2b-256 871feb0760ebf1bc30de7aa531c4edcb54c87b51a93ce0a8728f0217f63d6903

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