Langsung ke konten

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_url secara eksplisit alih-alih mengandalkan OPENAI_API_BASE, agar klien OpenAI lain dalam proses yang sama tidak ikut teralihkan secara tidak sengaja.
  • Berikan check_embedding_ctx_length=False ke OpenAIEmbeddings saat menggunakan model embedding selain milik OpenAI, agar LangChain mengirim teks, bukan ID token khusus OpenAI.