--- library_name: peft base_model: meta-llama/Llama-3.1-8B-Instruct pipeline_tag: text-generation language: - en license: cc-by-nc-4.0 tags: - lora - peft - molly-os - specialist - climate-analytics-manager - llama-3.1 - domain-adaptation --- # Molly Specialist — Climate Analytics Manager Quantifies Scope 1-3 emissions across portfolios, benchmarks against SBTi pathways, and translates climate scenarios into financial risk metrics more accurately than the base model. Part of **[Molly](https://iamolly.ai/?utm_source=huggingface&utm_medium=model_card&utm_campaign=specialists&utm_content=molly-climate-analytics-manager)**, an orchestrator that keeps a library of small domain specialists over one quantized base and routes each request to the right one, so a single machine answers across many fields without loading a separate large model for each. ## What this specialist handles well - Calculates financed emissions using PCAF methodology across asset classes - Maps physical climate hazards to asset-level financial exposure with TCFD alignment - Compares transition scenarios from NGFS and IEA for portfolio stress testing ## Try it with - "What are the PCAF emission factors for corporate equity holdings in 2026?" - "How do NGFS Net Zero 2050 scenario assumptions affect our oil and gas portfolio?" - "Which assets in our real estate portfolio face highest acute physical risk by 2030?" ## Before you run: the base model is gated This adapter needs the base weights, and the base is **access-gated**. Do this **once**: 1. Accept the base licence: 2. Create a **read token**: 3. Make the token available: - **Google Colab:** Secrets panel (key icon) → *Add new secret* → name `HF_TOKEN`, enable **Notebook access**. - **Kaggle:** *Add-ons → Secrets* → add `HF_TOKEN`. - **Local:** `huggingface-cli login` or `export HF_TOKEN=...` Skipping this gives `GatedRepoError` / `401 Unauthorized` when the **base** loads. A stored Colab secret is **not** applied automatically — authenticate in code, as below. ## Quickstart ```python # pip install -U transformers peft accelerate import os, torch from huggingface_hub import login try: from google.colab import userdata login(userdata.get("HF_TOKEN")) except Exception: tok = os.environ.get("HF_TOKEN") login(tok) if tok else login() from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel BASE = "meta-llama/Llama-3.1-8B-Instruct" ADAPTER = "BoomJules/molly-climate-analytics-manager" tok = AutoTokenizer.from_pretrained(BASE) base = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16, device_map="auto") model = PeftModel.from_pretrained(base, ADAPTER).eval() msgs = [{"role": "user", "content": "Your question here"}] ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device) out = model.generate(ids, max_new_tokens=300) print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)) ``` ## Low-VRAM (4-bit) — fits a free Colab/Kaggle GPU (~6–7 GB) ```python # pip install -U transformers peft accelerate bitsandbytes import os, torch from huggingface_hub import login try: from google.colab import userdata login(userdata.get("HF_TOKEN")) except Exception: login(os.environ.get("HF_TOKEN")) from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig from peft import PeftModel bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True) tok = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B-Instruct") base = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B-Instruct", quantization_config=bnb, device_map="auto") model = PeftModel.from_pretrained(base, "BoomJules/molly-climate-analytics-manager").eval() ``` ## Adapter details | | | |---|---| | Base model | `meta-llama/Llama-3.1-8B-Instruct` | | Method | LoRA (PEFT) | | Rank / alpha | 32 / 64 | | Domain | Climate Analytics Manager | ## Troubleshooting - **`GatedRepoError` / `401 Unauthorized`** — base licence not accepted, or `HF_TOKEN` missing, or the Colab secret was stored but `login(...)` was never called. - **CUDA out of memory** — use the 4-bit snippet on a GPU runtime. - **Adapter seems to have no effect** — confirm the base id matches `base_model` above. ## Other Molly specialists - [Quantum Software Architect](https://huggingface.co/BoomJules/molly-quantum-software-architect) - [Quantum Communication Systems Engineer](https://huggingface.co/BoomJules/molly-quantum-communication-systems-engineer) - [Infectious Disease Physician Antimicrobial Stewardship](https://huggingface.co/BoomJules/molly-infectious-disease-physician-antimicrobial-stewardship) - [Health Informatics Medical AI Specialist](https://huggingface.co/BoomJules/molly-health-informatics-medical-ai-specialist) - [Clinical Trial Pharmacologist](https://huggingface.co/BoomJules/molly-clinical-trial-pharmacologist) - [Immunopharmacologist](https://huggingface.co/BoomJules/molly-immunopharmacologist) - [Language Technology Consultant](https://huggingface.co/BoomJules/molly-language-technology-consultant) - [Polymer Chemist](https://huggingface.co/BoomJules/molly-polymer-chemist) - [Composite Materials Engineer](https://huggingface.co/BoomJules/molly-composite-materials-engineer) - [Computer Science AI](https://huggingface.co/BoomJules/molly-cs-ai) - [Computer Science Algorithms](https://huggingface.co/BoomJules/molly-cs-algorithms) - [Computer Science Computer Vision](https://huggingface.co/BoomJules/molly-cs-cv) Running several of these at once, with the routing decided for you, is what [Molly](https://iamolly.ai/?utm_source=huggingface&utm_medium=model_card&utm_campaign=specialists&utm_content=molly-climate-analytics-manager) does. ## Licence & intended use Adapter: **CC BY-NC 4.0** (attribution, non-commercial). Base model: its own licence. Intended for research and evaluation in Climate Analytics Manager. © 2026 Core Labs R&D.