Fiduciary β€” Qwen3-4B LoRA Adapter (Senior Personal Financial Advisor)

A LoRA adapter that turns Qwen3-4B-Instruct-2507 into Fiduciary, a senior personal financial advisor that reviews your portfolio, checks the latest news, and reasons about how it affects your holdings β€” running entirely locally on Apple Silicon via MLX.

This repo is the adapter only (~56MB). For a ready-to-run standalone model, see the fused version: albertobarnabo/fiduciary-qwen3-4b.

What the fine-tune teaches

The split is deliberate: the adapter owns behavior, live tools own facts.

  • Senior-advisor voice β€” leads with the answer, exact per-position P&L, risk-first framing (position sizing, concentration, time horizon), a "Bottom line" closer.
  • Disciplined tool use β€” emits <tool_call>{"name": ..., "arguments": ...}</tool_call> for get_portfolio, get_quotes, search_news, analyze_portfolio; reads the <tool_response> and grounds every number in it (never invents prices).
  • Knows when not to call tools β€” answers knowledge questions (tax-loss harvesting, duration, Roth vs. traditional) directly.
  • Guardrails β€” refuses "guaranteed winners", insider-trading bait, and declines to execute trades (advice-only by design).

Usage

pip install mlx-lm

python -m mlx_lm generate \
  --model mlx-community/Qwen3-4B-Instruct-2507-4bit \
  --adapter-path ./fiduciary-qwen3-4b-lora \
  --prompt "How's my portfolio doing?"

The adapter is designed to drive a small agent loop (parse tool call β†’ run the tool β†’ feed back <tool_response> β†’ repeat). A reference runtime with live quote/news/portfolio tools (stdlib-only, no API keys) β€” plus the dataset generator and training config β€” is on GitHub: github.com/albertobarnabo/fiduciary.

Training

  • Method: LoRA (rank 16, scale 20, dropout 0.05), 16 layers, mask_prompt.
  • Data: ~565 fully synthetic advisor conversations expanded to ~1,200 examples β€” one per assistant turn (mlx-lm's mask_prompt trains only on the final assistant message, so multi-turn tool calls must each be a final turn or the model never learns to emit them). Every number in every answer is computed from the tool response in the same conversation, so the model learns to read tool output, not memorize prices.
  • Schedule: 1,200 iters, cosine LR 5e-5 β†’ 5e-6, max_seq_length 2816.
  • Result: validation loss 0.046.
  • Hardware: Apple M5, 16GB. Peak memory ~6.9GB.

Limitations

Educational guidance, not individualized investment advice. Strong tool reflexes occasionally fire on a prompt that should be refused outright. News→impact mapping is sector-heuristic, not a pricing model.

Downloads last month

-

Downloads are not tracked for this model. How to track
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for albertobarnabo/fiduciary-qwen3-4b-lora