Skip to main content

Reminix adapter for LangChain - serve agents as REST APIs

Project description

reminix-langchain

Reminix Runtime adapter 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 serve_agent

llm = ChatOpenAI(model="gpt-4o")
serve_agent(llm, name="my-chatbot", port=8080)

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

from langchain_openai import ChatOpenAI
from reminix_langchain import wrap_agent
from reminix_runtime import serve

llm = ChatOpenAI(model="gpt-4o")
agent = wrap_agent(llm, name="my-chatbot")
serve(agents=[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

serve_agent(runnable, name, port, host)

Wrap a LangChain runnable and serve it immediately. Combines wrap_agent and serve for single-agent setups.

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)
port int 8080 Port to serve on
host str "0.0.0.0" Host to bind to

wrap_agent(runnable, name)

Wrap a LangChain runnable for use with Reminix Runtime. Use this with serve from reminix_runtime for multi-agent setups.

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)

Returns: LangChainAdapter - A Reminix adapter instance

Example with a Chain

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from reminix_langchain import wrap_agent
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

# Wrap and serve
agent = wrap_agent(chain, name="my-chain")
serve(agents=[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": "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_langchain-0.0.6.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reminix_langchain-0.0.6-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file reminix_langchain-0.0.6.tar.gz.

File metadata

  • Download URL: reminix_langchain-0.0.6.tar.gz
  • Upload date:
  • Size: 11.5 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_langchain-0.0.6.tar.gz
Algorithm Hash digest
SHA256 75e9faf3859f80a795e0f38c8d27fe95cfb64e3bf7a431ad9502f083b7d6745f
MD5 e7a85762ecbc2cc18defda1ba5be505d
BLAKE2b-256 5943933ee622f8792b3e92316fb13881e76cf86c51cec2c5fc6709b725ea3ad7

See more details on using hashes here.

File details

Details for the file reminix_langchain-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: reminix_langchain-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 9.4 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_langchain-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 39cc8d2adcf5686bc4e7325af39928db50efc6607a4fdfc7d93ff4dd82d36d19
MD5 101713b3997b7d440a0911a85d7aff61
BLAKE2b-256 195e73de14d81226602fd993c5a80980a1756d3cd1ced27b771f6c79822165c3

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