Vi använder cookies. Cookies och webbläsarlagring håller dig inloggad och kommer ihåg dina preferenser. Med ditt tillstånd mäter vi också hur webbplatsen används. Du kan när som helst. Läs vår cookiepolicy.

LangChain

SDK-guider

LangChain

Använd api14-modeller i LangChain för Python och JavaScript genom att byta base URL och nyckel, med exempel för streaming, verktyg och embeddings.

LangChains OpenAI-integration fungerar med api14 utan ändringar: ange base URL och nyckel och använd vilket modell-id som helst (till exempel openai/gpt-5-mini). Exemplen visas för Python (langchain-openai) och JavaScript (@langchain/openai).

Installera

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

Konfigurera (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)

Konfigurera (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));
}

Verktyg och strukturerad utdata

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

De flesta embedding-modeller i api14 är inte OpenAI-modeller, så stäng av tiktoken-kontrollen av längd på klientsidan:

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"])

Gateway-parametrar

Skicka gatewayspecifika fält via extra_body (Python) eller 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"}},
)

Fel

LangChain visar OpenAI SDK:s undantag. Ett 402 insufficient_balance ger openai.APIStatusError, och 429 rate_limited ger openai.RateLimitError efter de inbyggda återförsöken (max_retries= på ChatOpenAI). Se Fel.