Skip to main content

Reminix adapter for OpenAI - serve agents as REST APIs

Project description

reminix-openai

Reminix Runtime adapter for the OpenAI API. Serve OpenAI models 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-openai

This will also install reminix-runtime as a dependency.

Quick Start

from openai import AsyncOpenAI
from reminix_openai import wrap_and_serve

client = AsyncOpenAI()
wrap_and_serve(client, name="my-chatbot", model="gpt-4o", port=8080)

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

from openai import AsyncOpenAI
from reminix_openai import wrap
from reminix_runtime import serve

client = AsyncOpenAI()
agent = wrap(client, name="my-chatbot", model="gpt-4o")
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(client, name, model, port, host)

Wrap an OpenAI client and serve it immediately. Combines wrap and serve for single-agent setups.

Parameter Type Default Description
client AsyncOpenAI required An OpenAI async client
name str "openai-agent" Name for the agent (used in URL path)
model str "gpt-4o-mini" Model to use for completions
port int 8080 Port to serve on
host str "0.0.0.0" Host to bind to

wrap(client, name, model)

Wrap an OpenAI client for use with Reminix Runtime. Use this with serve from reminix_runtime for multi-agent setups.

Parameter Type Default Description
client AsyncOpenAI required An OpenAI async client
name str "openai-agent" Name for the agent (used in URL path)
model str "gpt-4o-mini" Model to use for completions

Returns: OpenAIAdapter - A Reminix adapter instance

Example with Custom Configuration

from openai import AsyncOpenAI
from reminix_openai import wrap
from reminix_runtime import serve

client = AsyncOpenAI(
    api_key="your-api-key",
    base_url="https://your-proxy.com/v1"  # Optional: custom endpoint
)

agent = wrap(
    client,
    name="gpt4-agent",
    model="gpt-4o"
)

serve([agent], port=8080)

Endpoint Input/Output Formats

POST /agents/{name}/invoke

Stateless invocation for task-oriented operations.

Request:

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

Or with messages:

{
  "input": {
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ]
  }
}

Response:

{
  "output": "Hello! How can I help you today?"
}

POST /agents/{name}/chat

Conversational chat with message history.

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_openai-0.0.5.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_openai-0.0.5-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file reminix_openai-0.0.5.tar.gz.

File metadata

  • Download URL: reminix_openai-0.0.5.tar.gz
  • Upload date:
  • Size: 10.8 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_openai-0.0.5.tar.gz
Algorithm Hash digest
SHA256 c19051be48c3798738b87d91f38b9c60e990ee1db3faef424c03e78a73450f97
MD5 5bd201336e56d232d0365cbd3c03e3b7
BLAKE2b-256 4caa763d73ab854028fd91d5f8be33a1e00ec3ec5ae77f10cd2290b1c76fb0dc

See more details on using hashes here.

File details

Details for the file reminix_openai-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: reminix_openai-0.0.5-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_openai-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 89b31d09ed6e28816845935fa0e38cf8ecee6b5d2dd5ebb01abf508ff65e4bc9
MD5 fbec5d05ef9ad7e9a87904bcde81ebf7
BLAKE2b-256 bc5011367c67f65736a91532830dea8bbaa0fca6c925213d55de2f051ac2db4d

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