Framework & platform
LangChain
Integrasikan TokenLab dengan LangChain menggunakan chat dan embeddings standar yang kompatibel dengan OpenAI
Gambaran Umum
TokenLab bekerja dengan baik dengan integrasi ChatOpenAI dan OpenAIEmbeddings milik LangChain ketika Anda tetap menggunakan surface chat dan embeddings standar yang kompatibel dengan OpenAI.
Dokumentasi LangChain saat ini mencatat bahwa ChatOpenAI menargetkan bentuk request/response resmi yang kompatibel dengan OpenAI. Jika Anda memerlukan field respons non-standar yang spesifik penyedia, gunakan integrasi LangChain yang spesifik penyedia alih-alih mengandalkan ChatOpenAI.
Halaman ini sengaja hanya mencakup surface LangChain standar yang kompatibel dengan OpenAI, bukan fitur LangChain khusus penyedia di luar cakupan tersebut.
Jenis: Framework atau platform
Jalur utama: Permukaan standar kompatibel OpenAI
Tingkat dukungan: Permukaan standar yang didukung
Instalasi
pip install langchain langchain-openai langchain-community faiss-cpuKonfigurasi Dasar
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)Menggunakan Model yang Berbeda
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",
)Riwayat Pesan
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])Contoh RAG Sederhana
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 mendukung integrasi yang kompatibel dengan OpenAI."
]
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)Agen
Untuk proyek agentic baru, LangChain merekomendasikan untuk mempertimbangkan LangGraph demi kontrol yang lebih eksplisit atas workflow yang berjalan lama dan menggunakan tools.
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)