- Search LightOn for the passages most relevant to the user’s question.
- Pack those passages into the model’s context window.
- Call the Inceptron model to generate an answer grounded in the retrieved content.
Prerequisites
- A
LIGHTON_API_KEY, available in the Console → API Keys section. - An Inceptron API key, available from the Inceptron console. Store it as
INCEPTRON_API_KEY. - At least one workspace with indexed documents on LightOn.
Installation
openai package is used here only for its client; Inceptron’s endpoint is fully compatible with it.
Full example
LightOn search as a tool
Instead of always searching before calling the model, you can expose LightOn search as a tool and let the model decide when to call it. The model issues alighton_search tool call when it needs context; your code executes the search and feeds the results back; the model then produces a final answer.
Scoping retrieval to a workspace
Passworkspace_id to limit search to a specific workspace. This is useful in multi-tenant products where each customer’s data lives in a dedicated workspace.
Choosing a model
Inceptron’s catalog includes several hosted models. Pass the model name to themodel parameter:
You can list the models available to your key at any time:
A note on reasoning models
The Kimi models (moonshotai/Kimi-K2.6, moonshotai/Kimi-K2.6-Fast, moonshotai/Kimi-K2.7-Code) are reasoning models: they spend tokens thinking before producing an answer, and they return that thinking under a separate reasoning field. If you set max_tokens too low, the model can exhaust the budget while still reasoning, so the request finishes with finish_reason="length" and message.content is None. Give reasoning models a generous token budget (a couple thousand tokens or more) to leave room for the final answer. The non-reasoning models in the table above are not affected.
Streaming responses
Inceptron’s endpoint supports streaming. Enable it by passingstream=True and iterating over the response: