LangChain
Integrasi OpenAI dari LangChain bekerja dengan Inferray: arahkan ChatOpenAI dan OpenAIEmbeddings ke base URL Inferray, lalu gunakan model apa pun dari katalog.
Python
pip install langchain-openai
import os
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
llm = ChatOpenAI(
model="claude-sonnet-4-6",
base_url="https://api.inferray.com/v1",
api_key=os.environ["INFERRAY_API_KEY"],
)
print(llm.invoke("What is a vector database?").content)
embeddings = OpenAIEmbeddings(
model="text-embedding-3-small",
base_url="https://api.inferray.com/v1",
api_key=os.environ["INFERRAY_API_KEY"],
)
vector = embeddings.embed_query("What is a vector database?")
JavaScript
npm install @langchain/openai
import { ChatOpenAI, OpenAIEmbeddings } from "@langchain/openai";
const llm = new ChatOpenAI({
model: "claude-sonnet-4-6",
apiKey: process.env.INFERRAY_API_KEY,
configuration: { baseURL: "https://api.inferray.com/v1" },
});
const reply = await llm.invoke("What is a vector database?");
const embeddings = new OpenAIEmbeddings({
model: "text-embedding-3-small",
apiKey: process.env.INFERRAY_API_KEY,
configuration: { baseURL: "https://api.inferray.com/v1" },
});
Tools, structured output, dan streaming
llm.bind_tools(...), llm.with_structured_output(Schema), dan llm.stream(...) berfungsi seperti biasa pada model yang mendukung tools dan structured outputs. Agen LangGraph yang dibangun di atas ChatOpenAI juga bekerja dengan cara yang sama.
Tips
- Tetapkan
base_urlsecara eksplisit alih-alih mengandalkanOPENAI_API_BASE, agar klien OpenAI lain dalam proses yang sama tidak ikut teralihkan secara tidak sengaja. - Berikan
check_embedding_ctx_length=FalsekeOpenAIEmbeddingssaat menggunakan model embedding selain milik OpenAI, agar LangChain mengirim teks, bukan ID token khusus OpenAI.