Drop-in ChatOpenAI swap. Every reasoning call routes through Intel TDX enclaves we operate. Existing LCEL chains, LangGraph state graphs, agents, retrievers, and tool calls run unchanged.
Built for legal RAG, financial analysis, healthcare summarization, and any pipeline that needs EU AI Act Article 12 logging without ever shipping privileged context to a US controller.
Standard LangChain pointed at OpenAI is great for prototyping. For production workloads in regulated industries, three risks make it unshippable.
Privileged data leaving the firm
Default LangChain pointed at OpenAI sends every retrieved chunk, every tool argument, and every generated output to a US controller. For privileged matter notes that is enough to break legal-professional privilege.
No Article 12 audit trail
OpenAI logs are not written to your audit sink. Article 12 of the EU AI Act requires automatic logs, retained for the system lifetime, that you control. With LangChain on a foreign API you do not get the inputs or outputs you need.
No hardware sealing
Standard cloud inference is "encrypted in transit, encrypted at rest" but plain RAM during compute. A privileged provider, malicious admin, or compromised hypervisor can read prompts. TDX removes that whole category.
VoltageGPU is an EU controller (VOLTAGE EI, France, SIREN 943 808 824) operating Intel TDX hardware enclaves with attestation evidence available per session. Pointing your existing LangChain stack at our endpoint replaces all three risks with a single hardware-sealed boundary.
Standard langchain, langchain-openai, and langgraph from PyPI. No fork, no patch, no proxy.
Construct one ChatOpenAI instance pointed at https://app.voltagegpu.com/v1. Use it anywhere a ChatModel is expected, chains, agents, LangGraph nodes, retrieval QA, structured output. Streaming, tool calling, async batch all work identically.
@langchain/openai takes the same configuration. Works in Node, Bun, Deno, and Edge runtimes.
The endpoint is OpenAI-compatible, so every LangChain primitive that talks to ChatOpenAI works without modification.
LCEL chains
Prompt | Model | OutputParser pipelines unchanged.
LangGraph
StateGraph nodes bind a confidential ChatOpenAI as their LLM.
Tool calling
bind_tools, create_react_agent, OpenAI tool schema all work.
Streaming
.stream() and .astream() over Server-Sent Events.
Retrievers
PGVector, Qdrant, Chroma, Weaviate keep your embeddings on-prem.
Async batch
abatch, abatch_as_completed for high-throughput pipelines.
Bind one confidential ChatOpenAI to every node. The whole graph (planner, retriever, writer, critic, finalizer) reasons against TDX-sealed inference. Conditional edges, checkpointing, and human-in-the-loop interrupts behave identically.
create_react_agent and bind_tools work without changes. Tools run in your process, they can hit internal APIs without those endpoints being exposed to the confidential endpoint.
Server-Sent Events streaming is identical to OpenAI. Use it for chat UIs, FastAPI StreamingResponse handlers, or Next.js Edge functions.
For private RAG you have three production-ready paths. All three keep raw documents and embeddings out of any third-party SaaS vector database.
On-prem vector DB
Run PGVector, Qdrant, Chroma, or Weaviate inside your own VPC. Only the matched chunks transit the confidential endpoint for reasoning.
Confidential embeddings
Use VoltageGPU -TEE embedding models so the embedding step itself runs inside Intel TDX. Useful when raw documents must never reach a SaaS embedder.
Hybrid retrieval
BM25 + vector hybrid retrieval is supported via standard LangChain Retrievers. The reranker can also run on the confidential endpoint.
Article 12 of the EU AI Act requires automatic event logs throughout the lifetime of high-risk AI systems. Combine VoltageGPU's structured per-request events with a LangChain callback handler to capture chain-level events, and you have a complete audit trail without sending raw prompts to a US cloud.
See the full guide: Article 12 AI Act logging , retention windows, tamper-evident sinks, and the structured event schema we emit.
Pay-per-token via the same /v1 API. No per-seat licence, no platform fee, no minimum. Mix models freely across nodes and chains.
Volume contracts available beyond 100M tokens / month. Annual prepay 15% off.
Every LangChain prompt sealed in TDX
The /v1/chat/completions endpoint terminates TLS inside the trust domain. Prompts decrypt only inside the enclave. The hypervisor cannot read them.
AES-256 memory encryption
CPU-fused keys protect RAM at runtime. Contracts, patient notes, deal models, embeddings, none of it readable by a privileged provider.
Attestation on request
Each completion can be paired with an ECDSA-signed report identifying the TDX module and base model version. Verifiable proof of confidentiality on demand.
Zero retention, zero training
Prompts and completions are never logged or reused. Native RGPD Article 28 DPA, EU jurisdiction (VOLTAGE EI, France, SIREN 943 808 824).
Do I need to fork LangChain?
No. LangChain ChatOpenAI is the supported integration point. Pass base_url=https://app.voltagegpu.com/v1 and api_key=vg-... and you are done. No SDK fork, no monkey patching, no proxy required.
Does LangGraph work?
Yes. Bind a confidential ChatOpenAI to each node. StateGraph, conditional edges, checkpointing, async streaming, and human-in-the-loop interrupts all behave identically.
Can my tools call internal APIs?
Yes. Tools execute on your machine; only the LLM reasoning step crosses the enclave boundary. If you also want tool calls to remain provider-blind, expose them through a confidential MCP server hosted on VoltageGPU.
Streaming and tool calling?
Both supported. The /v1/chat/completions endpoint mirrors OpenAI for SSE streaming and tool / function calling. bind_tools and create_react_agent work without modification.
How does this satisfy EU AI Act Article 12?
VoltageGPU emits structured per-request events (timestamp, model, input hash, output hash, attestation reference). Combined with LangChain LCEL callbacks, you get a complete Article 12 audit trail without sending raw prompts to a US cloud.
Latency overhead vs OpenAI direct?
Within ~5% of bare-metal inference on the same model. TDX adds single-digit microseconds per memory access, dominated by token generation time.
LangChain.js / TypeScript supported?
Yes. @langchain/openai accepts the same baseURL and apiKey configuration. Drop the URL into a ChatOpenAI constructor in Node, Bun, or Deno.
How do I get an API key?
Register at app.voltagegpu.com/register, top up any amount (Stripe, BTC, ETH, USDC), and generate a key from the API Keys page. The key is prefixed with vg- and acts as a drop-in OPENAI_API_KEY.
EXPLORE FURTHER
Ship a sovereign LangChain stack this afternoon
Generate an API key, swap two lines, run your existing chains against Intel TDX.