نستخدم ملفات تعريف الارتباط. تُبقيك ملفات تعريف الارتباط وتخزين المتصفح مسجّلًا للدخول وتتذكر تفضيلاتك. وبإذنك نقيس أيضًا كيفية استخدام الموقع. يمكنك في أي وقت. راجع سياسة ملفات تعريف الارتباط.

LangChain

أدلة SDK

LangChain

استخدم نماذج api14 في LangChain على Python وJavaScript بتحديد base URL ومفتاح API، مع أمثلة للبث والأدوات والمخرجات المنظمة وembeddings.

يعمل تكامل OpenAI في LangChain مع api14 دون تغيير: اضبط Base URL والمفتاح، واستخدم أي معرّف نموذج (مثل openai/gpt-5-mini). الأمثلة معروضة لـ Python (langchain-openai) وJavaScript (@langchain/openai).

التثبيت

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

الإعداد (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)

الإعداد (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);

البث

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

الأدوات والمخرجات المنظمة

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

معظم نماذج embeddings في api14 ليست من نماذج OpenAI، لذا عطّل فحص الطول عبر tiktoken من جهة العميل:

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

معاملات البوابة

مرّر الحقول الخاصة بالبوابة عبر extra_body (في Python) أو 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"}},
)

الأخطاء

يُظهر LangChain استثناءات OpenAI SDK. الخطأ 402 insufficient_balance يطلق openai.APIStatusError، والخطأ 429 rate_limited يطلق openai.RateLimitError بعد إعادات المحاولة المدمجة (max_retries= في ChatOpenAI). راجع الأخطاء.