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 invocationPOST /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?
- 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_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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c19051be48c3798738b87d91f38b9c60e990ee1db3faef424c03e78a73450f97
|
|
| MD5 |
5bd201336e56d232d0365cbd3c03e3b7
|
|
| BLAKE2b-256 |
4caa763d73ab854028fd91d5f8be33a1e00ec3ec5ae77f10cd2290b1c76fb0dc
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89b31d09ed6e28816845935fa0e38cf8ecee6b5d2dd5ebb01abf508ff65e4bc9
|
|
| MD5 |
fbec5d05ef9ad7e9a87904bcde81ebf7
|
|
| BLAKE2b-256 |
bc5011367c67f65736a91532830dea8bbaa0fca6c925213d55de2f051ac2db4d
|