Kami menggunakan cookie. Cookie dan penyimpanan browser menjaga Anda tetap masuk dan mengingat preferensi Anda. Dengan izin Anda, kami juga mengukur cara situs digunakan. Anda dapat kapan saja. Lihat kebijakan cookie kami.

LangChain

Panduan SDK

LangChain

Gunakan model api14 di LangChain untuk Python dan JavaScript dengan mengatur base URL dan API key pada integrasi OpenAI.

Integrasi OpenAI milik LangChain bekerja dengan api14 tanpa perubahan: atur base URL dan key, lalu gunakan ID model apa pun (misalnya openai/gpt-5-mini). Contoh ditampilkan untuk Python (langchain-openai) dan JavaScript (@langchain/openai).

Instalasi

pip install langchain-openai
# or
npm install @langchain/openai @langchain/core
export API14_API_KEY="sk-api14-..."

Konfigurasi (Python)

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="anthropic/claude-sonnet-4.5",
    base_url="https://api14.com/api/v1",
    api_key=os.environ["API14_API_KEY"],
)
print(llm.invoke("Explain vector databases in two sentences.").content)

Konfigurasi (JavaScript)

import { ChatOpenAI } from "@langchain/openai";

const llm = new ChatOpenAI({
  model: "openai/gpt-5-mini",
  apiKey: process.env.API14_API_KEY,
  configuration: { baseURL: "https://api14.com/api/v1" },
});

const res = await llm.invoke("Explain vector databases in two sentences.");
console.log(res.content);

Streaming

for chunk in llm.stream("Write a haiku about APIs."):
    print(chunk.content, end="", flush=True)
for await (const chunk of await llm.stream("Write a haiku about APIs.")) {
  process.stdout.write(String(chunk.content));
}

Tool dan structured output

from pydantic import BaseModel
from langchain_core.tools import tool

@tool
def get_weather(city: str) -> str:
    """Get the current weather for a city."""
    return f"21°C in {city}"

msg = llm.bind_tools([get_weather]).invoke("What is the weather in Istanbul?")
print(msg.tool_calls)

class Place(BaseModel):
    city: str
    country: str

place = llm.with_structured_output(Place).invoke('I live in Lisbon, Portugal.')
print(place)

Embeddings

Sebagian besar model embedding di api14 bukan model OpenAI, jadi matikan pemeriksaan panjang tiktoken di sisi klien:

from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="openai/text-embedding-3-small",
    base_url="https://api14.com/api/v1",
    api_key=os.environ["API14_API_KEY"],
    check_embedding_ctx_length=False,
)
vectors = embeddings.embed_documents(["The quick brown fox", "Lorem ipsum"])

Parameter gateway

Teruskan field khusus gateway lewat extra_body (Python) atau modelKwargs (JS):

llm = ChatOpenAI(
    model="openai/gpt-5-mini",
    base_url="https://api14.com/api/v1",
    api_key=os.environ["API14_API_KEY"],
    extra_body={"models": ["anthropic/claude-sonnet-4.5"], "provider": {"sort": "price"}},
)

Error

LangChain menampilkan exception dari OpenAI SDK. 402 insufficient_balance memunculkan openai.APIStatusError; 429 rate_limited memunculkan openai.RateLimitError setelah retry bawaan (max_retries= pada ChatOpenAI). Lihat Error.