FogMoe/necro

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

See the code

README

Abandoned: insufficient experimental experience led to the complete failure of this Jev-like fine-tuning project. Read the full retrospective.

Necro

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.

Quick start

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.

Documentation

License

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.

fine-tuning
jev
lora
model-evaluation
multi-task-learning
pytorch
qwen
qwen3-5
reproducible-research
small-language-models

Contributors

scarletkc

12 commits

FogMoe/necro

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

See the code

README

Abandoned: insufficient experimental experience led to the complete failure of this Jev-like fine-tuning project. Read the full retrospective.

Necro

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.

Quick start

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.

Documentation

License

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.

fine-tuning
jev
lora
model-evaluation
multi-task-learning
pytorch
qwen
qwen3-5
reproducible-research
small-language-models

Contributors

scarletkc

12 commits

Languages

Python

91.2%

Jinja

6.4%

Shell

2.4%