A research assistant class
Organize instructions and a typed LLM client in a class while retaining explicit messages and generation controls.
Download .aner source// Application classes retain the same explicit native inference contract.
import aner.llm
class ResearchAssistant {
let model: LLMClient
let instructions: String
fn explain(question: String) {
let messages = List(
llm.message("system", instructions),
llm.message("user", question))
return model.chat(messages, max_tokens: 256, temperature: 0.2)
}
}
let assistant = ResearchAssistant(
model: llm.client("ollama", "llama3.2:3b"),
instructions: "Explain assumptions, limitations, and the reasoning clearly.")
let answer = assistant.explain("Why must preprocessing fit training data only?")
print(answer.text())
print(answer.finish_reason())
Make it your experiment.
With Aner installed, save this program as examples/llm_research.aner inside a folder for your experiment. Open a terminal in that folder, then check and run the program.
aner check examples/llm_research.aner
aner run examples/llm_research.anerThe aner command must be on your PATH. Follow the installation guide if your terminal cannot find it.
Use the compatible native Aner development engine with aner.llm, aner.secrets and VS Code extension 0.1.34 or newer. Checking makes no inference request; running sends the prompt to the explicit provider. Local examples require the named model to be installed or served already. Cloud requests require a configured opaque credential reference and can incur provider charges. See Language model connections and Credentials for supported adapters, HTTPS, timeout, content inspection and storage boundaries.
Iris and Wine are teaching datasets with their own attribution. Example outcomes are not comparative benchmarks or evidence of clinical validity.
Dataset sources & attribution