SDK e Integración

LangChain

Usa TokSpan como tu proveedor de modelos LangChain para RAG, agentes, salida estructurada y llamada de herramientas — con acceso a todos los modelos a través de un único endpoint.

Configuración

TokSpan funciona como un reemplazo directo del proveedor ChatOpenAI. Solo cambie openai_api_base:

python
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4o",
    openai_api_key="sk-your-key",
    openai_api_base="https://api.tokspan.com/v1",
    temperature=0.7,
)
Cambio de modelo: Cambie model="gpt-4o" a model="claude-opus-4-8" o cualquier otro ID de modelo — su código LangChain permanece idéntico. No se necesitan rutas de código específicas por proveedor.

Cadena Básica (LCEL)

python
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a helpful assistant."),
    ("user", "{input}"),
])

chain = prompt | llm | StrOutputParser()
response = chain.invoke({"input": "Explain quantum computing in simple terms."})
print(response)

RAG (Generación Aumentada por Recuperación)

Use TokSpan tanto para embeddings como para generación en un solo pipeline RAG:

python
from langchain_core.documents import Document
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings

# 1. Embed your documents
embeddings = OpenAIEmbeddings(
    model="text-embedding-3-large",
    openai_api_key="sk-your-key",
    openai_api_base="https://api.tokspan.com/v1",
)

# 2. Split and store (use a vector DB for production)
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
docs = text_splitter.create_documents([your_text])
vector_store = FAISS.from_documents(docs, embeddings)

# 3. Retrieve + generate
from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain

qa_chain = create_retrieval_chain(vector_store.as_retriever(), create_stuff_documents_chain(llm, prompt))
result = qa_chain.invoke({"input": "What is the refund policy?"})

Agentes con Llamada de Herramientas

Cree agentes que puedan llamar a sus funciones — todos los modelos que soportan function calling funcionan con este patrón:

python
from langchain.agents import create_tool_calling_agent, AgentExecutor

def get_weather(city: str) -> str:
    return f"Weather in {city}: 22°C, partly cloudy"

tools = [get_weather]
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)

result = executor.invoke({"input": "What's the weather in Tokyo?"})
print(result["output"])

Otras Librerías Compatibles

Toda librería compatible con OpenAI funciona con TokSpan — solo cambie la URL base:

LibreríaCómo Configurar
LlamaIndexConfigure la variable de entorno OPENAI_API_BASE="https://api.tokspan.com/v1"
Vercel AI SDKcreateOpenAI({ baseURL: 'https://api.tokspan.com/v1', apiKey: 'sk-...' })
CrewAIConfigure la variable de entorno OPENAI_API_BASE
AutoGenConfigure base_url en la configuración del cliente OpenAI
FlowiseAgregue una credencial personalizada compatible con OpenAI con la URL base de TokSpan
DifyAgregue un proveedor de modelos compatible con OpenAI con el endpoint de TokSpan