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-cpuTemel 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)