Reminix agents for LangChain - serve AI agents as REST APIs
Project description
reminix-langchain
Reminix agent for LangChain. Serve any LangChain runnable 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-langchain
This will also install reminix-runtime as a dependency.
Quick Start
from langchain_openai import ChatOpenAI
from reminix_langchain import LangChainChatAgent
from reminix_runtime import serve
llm = ChatOpenAI(model="gpt-4o")
agent = LangChainChatAgent(llm, name="my-chatbot")
serve(agents=[agent])
Your agent is now available at:
POST /agents/my-chatbot/invoke- Execute the agent
API Reference
LangChainChatAgent(runnable, *, name, description, instructions, tags, metadata)
Create a LangChain chat agent.
| Parameter | Type | Default | Description |
|---|---|---|---|
runnable |
Runnable |
required | Any LangChain runnable (LLM, chain, agent, etc.) |
name |
str |
"langchain-agent" |
Name for the agent (used in URL path) |
description |
str |
"langchain chat agent" |
Description shown in agent metadata |
instructions |
str |
None |
System instructions prepended to messages |
tags |
list[str] |
None |
Tags for categorizing/filtering agents |
metadata |
dict |
None |
Custom metadata merged into agent info |
Returns: LangChainChatAgent - A Reminix agent instance
Example with a Chain
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from reminix_langchain import LangChainChatAgent
from reminix_runtime import serve
# Create a chain
prompt = ChatPromptTemplate.from_messages([
("system", "You are a helpful assistant."),
("human", "{input}")
])
llm = ChatOpenAI(model="gpt-4o")
chain = prompt | llm
# Create and serve
agent = LangChainChatAgent(chain, name="my-chain")
serve(agents=[agent])
Endpoint Input/Output Formats
POST /agents/{name}/invoke
Execute the agent with a prompt or messages.
Request with prompt:
{
"input": {
"prompt": "Summarize this text: ..."
}
}
Request with messages:
{
"input": {
"messages": [
{"role": "user", "content": "Hello!"}
]
}
}
Response:
{
"output": "Hello! How can I help you today?"
}
Streaming
For streaming responses, set stream: true in the request:
{
"input": {
"prompt": "Tell me a story"
},
"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?
- 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_langchain-0.0.20.tar.gz.
File metadata
- Download URL: reminix_langchain-0.0.20.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 |
21cbc7195cedece0cc1279641102668dc262cab644103441d9ca2fb374f38189
|
|
| MD5 |
538e9684b6216e350959be6d95fcb830
|
|
| BLAKE2b-256 |
d999b2c37a831ca02decc123116d863074d7545bc4a7f5d0c21e56064c72fee0
|
File details
Details for the file reminix_langchain-0.0.20-py3-none-any.whl.
File metadata
- Download URL: reminix_langchain-0.0.20-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 |
f96d2367cc222ac54d6280410f5ebe5422d7856c644288285bc15fa9da3f1c43
|
|
| MD5 |
05b5a26449ebb2c94971349b9f9d1df3
|
|
| BLAKE2b-256 |
7c54c4ed021b3b1142f4fbdc537226f1e563b0d47dc13e99a15edfe311c1cbc1
|