Abandoned Qwen3.5-0.8B LoRA fine-tuning experiments for Jev-like typed judgments, with datasets, adapters, evaluations, and a full retrospective.
Python
4
12 commits
updated Sep 21, 2026
Necro uses Qwen3.5-0.8B to make choices, answer yes/no questions, and assign ordered scores locally. Give it context, a question, and candidate answers to get a structured result with probabilities. It scores answer labels directly, without generating an explanation or parsing generated JSON.
Run the base model, load a LoRA adapter, or use exported merged weights. The HTTP API follows TypeSafe's request and response format so existing clients can connect. Results are documented in the evaluation report.
Run these PowerShell commands from the project root. See setup and configuration for environment requirements.
uv sync --extra inference
Copy-Item .env.example .env
uv run --extra inference necro score examples/request.json
uv run --extra inference necro serve
Skip the copy step if you already have a .env file. With the source checkout's default configuration, the first inference run downloads the base model. score prints the result in your terminal, and serve starts the local API. The example configuration uses http://127.0.0.1:8000 and the local test key necro-local. Set your key in .env.
Once the server is running, save and run this example in the project environment to connect with the official Python SDK:
from typesafe_sdk import TypeSafeClient
with TypeSafeClient(api_key="necro-local", base_url="http://127.0.0.1:8000") as client:
result = client.system_one(
state="I was charged twice. Please refund the duplicate payment.",
questions={
"refund": {"type": "noul", "instructions": "Does this message request a refund?"},
},
)
print(result.answers["refund"].noul)
The SDK is included in the project's development dependencies. examples/request.json demonstrates all three question types. See setup and configuration for model loading, device selection, and troubleshooting.
The project uses Apache-2.0, with training code under MIT. See licensing and third-party notices for file scope, fine-tuning contributions, and upstream attribution.
12 commits
Python
91.2%
Jinja
6.4%
Shell
2.4%
Abandoned Qwen3.5-0.8B LoRA fine-tuning experiments for Jev-like typed judgments, with datasets, adapters, evaluations, and a full retrospective.
Python
4
12 commits
updated Sep 21, 2026
Necro uses Qwen3.5-0.8B to make choices, answer yes/no questions, and assign ordered scores locally. Give it context, a question, and candidate answers to get a structured result with probabilities. It scores answer labels directly, without generating an explanation or parsing generated JSON.
Run the base model, load a LoRA adapter, or use exported merged weights. The HTTP API follows TypeSafe's request and response format so existing clients can connect. Results are documented in the evaluation report.
Run these PowerShell commands from the project root. See setup and configuration for environment requirements.
uv sync --extra inference
Copy-Item .env.example .env
uv run --extra inference necro score examples/request.json
uv run --extra inference necro serve
Skip the copy step if you already have a .env file. With the source checkout's default configuration, the first inference run downloads the base model. score prints the result in your terminal, and serve starts the local API. The example configuration uses http://127.0.0.1:8000 and the local test key necro-local. Set your key in .env.
Once the server is running, save and run this example in the project environment to connect with the official Python SDK:
from typesafe_sdk import TypeSafeClient
with TypeSafeClient(api_key="necro-local", base_url="http://127.0.0.1:8000") as client:
result = client.system_one(
state="I was charged twice. Please refund the duplicate payment.",
questions={
"refund": {"type": "noul", "instructions": "Does this message request a refund?"},
},
)
print(result.answers["refund"].noul)
The SDK is included in the project's development dependencies. examples/request.json demonstrates all three question types. See setup and configuration for model loading, device selection, and troubleshooting.
The project uses Apache-2.0, with training code under MIT. See licensing and third-party notices for file scope, fine-tuning contributions, and upstream attribution.
12 commits
Python
91.2%
Jinja
6.4%
Shell
2.4%