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 cambia openai_api_base:

python
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="MODEL_NAME",
    openai_api_key="sk-your-key",
    openai_api_base="https://api.tokspan.com/v1",
    temperature=0.7,
)
Cambio de modelo: Cambia model="MODEL_NAME" a cualquier otro ID de modelo — tu 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)

Usa 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="MODEL_NAME",
    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

Crea agentes que puedan llamar a tus 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 cambia la URL base:

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