Downloads · 30 days
0
nafis8766/geopolitical-forecasting-llm-merged
geopolitical-forecasting-llm-merged is a text generation model from nafis8766. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as llama3.2.
This model is a fine-tuned version of meta-llama/Llama-3.2-3B-Instruct specifically trained to act as an expert geopolitical analyst. It takes raw intelligence and event data (such as GDELT conflict metrics, Goldstein…
Downloads · 30 days
0
Access
Public
Updated Jun 5, 2026
Parameters
3.2B
12.9 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors6.4 GB · 100%
From the Hugging Face model README
This model is a fine-tuned version of meta-llama/Llama-3.2-3B-Instruct specifically trained to act as an expert geopolitical analyst. It takes raw intelligence and event data (such as GDELT conflict metrics, Goldstein scales, and media tone) and generates structured, evidence-based forecasts on short-term trajectories and long-term perspectives.
You can easily test the model through the interactive Gradio UI via Google Colab: Launch Interactive Colab Demo
Or load the model directly using standard PyTorch and Transformers:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# 1. Load the Base Model
base_model_id = "meta-llama/Llama-3.2-3B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
base_model = AutoModelForCausalLM.from_pretrained(
base_model_id,
torch_dtype=torch.float16,
device_map="auto"
)
# 2. Load this fine-tuned LoRA adapter
adapter_repo = "nafis8766/geopolitical-forecasting-llm-merged"
model = PeftModel.from_pretrained(base_model, adapter_repo)
# 3. Format the Prompt
events = "On May 10, 2025, border skirmishes were reported..."
messages = [
{"role": "system", "content": "You are an expert geopolitical analyst..."},
{"role": "user", "content": f"Analyze the following events and forecast the short-term trajectory:\n{events}"}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=1024)
print(tokenizer.decode(outputs[0]))