Skip to content

Connect LangChain to Gonka Broker

LangChain is a framework for building applications on top of language models. Its OpenAI chat-model integration accepts a custom base URL, so you can point it at Gonka Broker and build on open-source models: the only change from a standard OpenAI setup is the base URL, the key, and the model id.

The integration is the same in Python and JavaScript/TypeScript; only the package name and the constructor differ. Pick your language below.

  • A Gonka API key (starts with gnk-prx-). See Create a Gonka API Key.
  • Python 3.9+ or Node.js 18+, depending on your stack.

Install the OpenAI integration package:

Terminal window
pip install langchain-openai

Point ChatOpenAI at Gonka Broker:

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="moonshotai/Kimi-K2.6",
base_url="https://proxy.gonkabroker.com/v1",
api_key="gnk-prx-your-api-key",
)
response = llm.invoke("Say hello from Gonka Broker.")
print(response.content)

The model must match a Gonka-supported id exactly, for example moonshotai/Kimi-K2.6 or MiniMaxAI/MiniMax-M2.7 (see Supported Models). Once the model is configured, use it anywhere a LangChain chat model goes: chains, agents, and LCEL pipelines all work unchanged.

LangChain’s OpenAIEmbeddings works with Gonka Broker the same way: same base URL and key, with BAAI/bge-m3 as the model (see Embeddings & RAG). The embeddings drop into any LangChain vector store.

from langchain_openai import OpenAIEmbeddings
from langchain_core.vectorstores import InMemoryVectorStore
embeddings = OpenAIEmbeddings(
model="BAAI/bge-m3",
base_url="https://proxy.gonkabroker.com/v1",
api_key="gnk-prx-your-api-key",
check_embedding_ctx_length=False,
)
store = InMemoryVectorStore(embeddings)
store.add_texts([
"Gonka Broker bills in USD per token.",
"The Eiffel Tower is in Paris.",
])
print(store.similarity_search("How am I charged?", k=1)[0].page_content)

check_embedding_ctx_length=False is required: without it, LangChain pre-tokenizes your text with tiktoken and sends token arrays instead of strings, which the API rejects with a 400.

Run the snippet above. A printed reply confirms LangChain is reaching Gonka Broker through your key.

  • 401 / invalid API key: wrong or paused key. Create a fresh one from Create a Gonka API Key.
  • Model not found / unsupported: the model must match a model Gonka Broker serves exactly (see Supported Models).
  • Connection errors: confirm the base URL is exactly https://proxy.gonkabroker.com/v1.
  • 400 “input must be a string or a non-empty array of strings” on embeddings: Python’s OpenAIEmbeddings sent tiktoken token arrays instead of text. Set check_embedding_ctx_length=False (see the embeddings section above).
  • Looking for the model’s thinking: reasoning models return their thinking in a separate reasoning response field, never inside content — the text LangChain returns is clean answer text. To skip thinking entirely (shorter, cheaper responses), see reasoning control.