Framework'ler ve platformlar

LangChain

Standart OpenAI uyumlu chat ve embeddings kullanarak TokenLab'yı LangChain ile entegre edin

Genel Bakış

TokenLab, standart OpenAI uyumlu chat ve embeddings yüzeyinde kaldığınızda LangChain'in ChatOpenAI ve OpenAIEmbeddings entegrasyonlarıyla iyi çalışır.

Güncel LangChain dokümantasyonu, ChatOpenAI'ın resmi OpenAI uyumlu request/response biçimlerini hedeflediğini belirtir. Sağlayıcıya özgü, standart dışı response alanlarına ihtiyacınız varsa, ChatOpenAI'a güvenmek yerine sağlayıcıya özgü bir LangChain entegrasyonu kullanın.

Tür: Framework veya platform

Birincil yol: OpenAI uyumlu standart surface

Destek seviyesi: Standart surface desteklenir

Bu sayfa bilinçli olarak yalnızca standart OpenAI uyumlu LangChain surface’ini kapsar; bunun ötesindeki sağlayıcıya özgü LangChain özelliklerini kapsamaz.

Kurulum

pip install langchain langchain-openai langchain-community faiss-cpu

Temel Yapılandırma

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-5.6-terra",
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh/v1",
)

response = llm.invoke("Explain TokenLab in one sentence.")
print(response.content)

Farklı Modelleri Kullanma

from langchain_openai import ChatOpenAI

gpt = ChatOpenAI(
    model="gpt-5.6-terra",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

claude = ChatOpenAI(
    model="claude-sonnet-5",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

gemini = ChatOpenAI(
    model="gemini-3.5-flash",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

deepseek = ChatOpenAI(
    model="deepseek-reasoner",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

Mesaj Geçmişi

from langchain_core.messages import HumanMessage, SystemMessage

messages = [
    SystemMessage(content="You are a helpful assistant."),
    HumanMessage(content="What is the capital of France?")
]

response = llm.invoke(messages)
print(response.content)

Streaming

for chunk in llm.stream("Write a short poem about coding."):
    if chunk.content:
        print(chunk.content, end="", flush=True)

Embeddings

from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="text-embedding-3-small",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

vector = embeddings.embed_query("Hello world")
print(vector[:5])

Basit RAG Örneği

from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough

embeddings = OpenAIEmbeddings(
    model="text-embedding-3-small",
    api_key="sk-your-key",
    base_url="https://api.tokenlab.sh/v1",
)

texts = [
    "TokenLab provides one API for many AI models.",
    "TokenLab supports OpenAI-compatible integrations."
]

vectorstore = FAISS.from_texts(texts, embeddings)
retriever = vectorstore.as_retriever()

prompt = ChatPromptTemplate.from_template(
    "Answer using the context below.\\n\\nContext:\\n{context}\\n\\nQuestion:\\n{question}"
)

rag_chain = (
    {"context": retriever, "question": RunnablePassthrough()}
    | prompt
    | llm
)

response = rag_chain.invoke("What does TokenLab provide?")
print(response.content)

Agent'lar

Yeni agentic projelerde LangChain, uzun süre çalışan ve tool kullanan workflow'lar üzerinde daha açık kontrol için LangGraph'ı değerlendirmenizi önerir.

from langchain.agents import create_agent
from langchain_core.tools import tool

@tool
def search(query: str) -> str:
    """Search for information."""
    return f"Search results for: {query}"

tools = [search]

agent = create_agent(
    model=llm,
    tools=tools,
    system_prompt="You are a helpful assistant with access to tools.",
)

result = agent.invoke({
    "messages": [{"role": "user", "content": "Search for TokenLab pricing"}]
})
print(result["messages"][-1].content)

En İyi Uygulamalar

Bu sayfada