Downloads Β· 30 days
25
42% of all-time downloads
muraliwebworld/videxpulse-weather-agent
videxpulse-weather-agent is a text generation model from muraliwebworld. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
A specialized fine-tuned language model based on Qwen 1.5B designed to serve as an Weather Forecasting Agent. This model is trained to intelligently identify weather queries, call the fetchimdcityforecast tool with prβ¦
Downloads Β· 30 days
25
42% of all-time downloads
All-time downloads
59
Public
Repo size
986 MB
Likes
0
Public
Click a slice to open those files.
.gguf986 MB Β· 100%
From the Hugging Face model README
A specialized fine-tuned language model based on Qwen 1.5B designed to serve as an Weather Forecasting Agent. This model is trained to intelligently identify weather queries, call the fetch_imd_city_forecast tool with precise city names, and transform raw API responses into professional, user-friendly markdown weather reports.
| Property | Value |
|---|---|
| Model ID | videxpulse-weather-agent-Q4_K_M.gguf |
| Base Model | Qwen 1.5B (Quantized to 4-bit GGUF) |
| Model Type | Fine-tuned Language Model |
| Task | Tool-Calling + Response Generation |
| Training Framework | RunPod Fine-Tuning Pipeline |
| Quantization | 4-bit GGUF Format |
| Architecture | ChatML (Chat Markup Language) |
This model serves dual-function weather agent capabilities:
Understands natural language weather queries in English and identifies the appropriate city, then generates structured tool calls to fetch weather data:
Input (User Query):
"Will it pour down in Gobi town tomorrow morning?"
Output (Tool Call):
{
"id": "call_imd_12345",
"type": "function",
"function": {
"name": "fetch_imd_city_forecast",
"arguments": "{\"city_name\": \"gobichettipalayam\"}"
}
}
Transforms raw JSON responses from Weather api into beautifully formatted, professional markdown weather reports:
Input (Raw API Data):
{
"station": "Gobichettipalayam",
"district": "Erode",
"forecast": [
{
"date": "2026-08-01",
"rainfall_mm": 12.5,
"condition": "Isolated Thunderstorms",
"max_temp": 34.0
}
]
}
Output (Formatted Report):
### Weather Update: Gobichettipalayam
* **Expected Weather:** Isolated thunderstorms are scheduled for August 1.
* **Rainfall Depth:** Light to moderate rain measuring **12.5 mm** is expected.
* **Temperature:** Maximum daytime highs will settle around 34Β°C.
This model is trained on various cities with natural language variations:
Total Training Examples: 98,724 unique weather query variations
Teaches the model to recognize weather queries and generate structured tool-call requests.
JSON Schema Definition:
{
"$schema": "http://json-schema.org",
"title": "ChatCompletionToolCalling",
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": ["system", "user", "assistant"]
},
"content": {
"type": ["string", "null"]
},
"tool_calls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["function"]
},
"function": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": ["fetch_imd_city_forecast"]
},
"arguments": {
"type": "string"
}
},
"required": ["name", "arguments"]
}
},
"required": ["id", "type", "function"]
}
}
},
"required": ["role"]
}
}
},
"required": ["messages"]
}
Training Dataset: dataset_tool_calling.jsonl
Example Training Row:
{
"messages": [
{
"role": "system",
"content": "You are an official Weather Meteorological Agent. If a user asks about the weather, you must call the 'fetch_imd_city_forecast' tool with the exact Indian city name."
},
{
"role": "user",
"content": "Will it pour down in Gobi town tomorrow morning?"
},
{
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_imd_98234",
"type": "function",
"function": {
"name": "fetch_imd_city_forecast",
"arguments": "{\"city_name\": \"gobichettipalayam\"}"
}
}
]
}
]
}
Teaches the model to parse raw JSON weather data and generate professional, formatted responses.
JSON Schema Definition:
{
"$schema": "http://json-schema.org",
"title": "ChatCompletionToolExecution",
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": ["system", "user", "assistant", "tool"]
},
"name": {
"type": "string"
},
"tool_call_id": {
"type": "string"
},
"content": {
"type": "string"
}
},
"required": ["role", "content"]
}
}
},
"required": ["messages"]
}
Training Dataset: dataset_response_generation.jsonl
Example Training Row:
{
"messages": [
{
"role": "system",
"content": "You are an official Weather Meteorological Agent. Translate raw JSON data from Weather api servers into clear, concise markdown for the user."
},
{
"role": "user",
"content": "Is there rain expected in Gobichettipalayam?"
},
{
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_gobi_01",
"type": "function",
"function": {
"name": "fetch_imd_city_forecast",
"arguments": "{\"city_name\": \"gobichettipalayam\"}"
}
}
]
},
{
"role": "tool",
"name": "fetch_imd_city_forecast",
"tool_call_id": "call_gobi_01",
"content": "{\"station\": \"Gobichettipalayam\", \"district\": \"Erode\", \"forecast\": [{\"date\": \"2026-08-01\", \"rainfall_mm\": 12.5, \"condition\": \"Isolated Thunderstorms\", \"max_temp\": 34.0}]}"
},
{
"role": "assistant",
"content": "### Weather Update: Gobichettipalayam\n\n* **Expected Weather:** Isolated thunderstorms are scheduled for August 1.\n* **Rainfall Depth:** Light to moderate rain measuring **12.5 mm** is expected.\n* **Temperature:** Maximum daytime highs will settle around 34Β°C."
}
]
}
{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ .Response }}<|im_end|>
| Parameter | Value | Purpose |
|---|---|---|
temperature | 0.1 | Low randomness - focused, deterministic outputs |
top_p | 0.9 | Nucleus sampling - balanced creativity |
stop | <|im_start|>, <|im_end|> | Proper chat termination |
FROM ./videxpulse-weather-agent-Q4_K_M.gguf
PARAMETER temperature 0.1
PARAMETER top_p 0.9
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ .Response }}<|im_end|>
"""
SYSTEM """You are an official VidexPulse Meteorological Agent. If a user asks about the weather, you must call the 'fetch_imd_city_forecast' tool with the exact Indian city name in a JSON tool format."""
ollama create videxpulse-weather-agent -f Modelfile
ollama run videxpulse-weather-agent "What's the weather in Chennai tomorrow?"
from llama_cpp import Llama
# Load the model
model = Llama(
model_path="videxpulse-weather-agent-Q4_K_M.gguf",
n_gpu_layers=-1, # Offload to GPU
temperature=0.1,
top_p=0.9,
stop=["<|im_start|>", "<|im_end|>"]
)
# Tool-calling prompt
prompt = """<|im_start|>system
You are an official VidexPulse Meteorological Agent. If a user asks about the weather, you must call the 'fetch_imd_city_forecast' tool with the exact Indian city name.<|im_end|>
<|im_start|>user
Will it rain in Coimbatore tomorrow?<|im_end|>
<|im_start|>assistant
"""
# Generate tool call
response = model(prompt, max_tokens=256)
print(response['choices'][0]['text'])
If running Ollama as a service:
curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "videxpulse-weather-agent",
"prompt": "What is the weather forecast for Salem?",
"stream": false,
"temperature": 0.1,
"top_p": 0.9
}'
User Query β Model (Tool-Calling) β fetch_imd_city_forecast β [Loop back to user]
User Query
β Model (Tool-Calling)
β fetch_imd_city_forecast (Get API Response)
β Model (Response Generation)
β Formatted Markdown Output β User
videxpulse-weather-agent-Q4_K_M.gguf - Main model file (4-bit quantized, Q4_K_M format)Modelfile - Ollama configurationREADME.md - This documentation| Property | Value |
|---|---|
| Training Framework | RunPod Fine-Tuning Pipeline |
| Training Script | fine_tune_runpod_new.py |
| Base Model | Qwen 1.5B |
| Total Training Samples | 150,000+ (combined datasets) |
| Optimization | LoRA (Low-Rank Adaptation) |
| Learning Rate | Optimized for convergence |
| Epoch Count | Multi-epoch training |
| Data Format | JSONL (Newline Delimited JSON) |
llama-cpp-python (for Python integration)This model is designed to work seamlessly with:
{
"city_name": "lowercase_city_identifier"
}
{
"station": "City Name",
"district": "District",
"forecast": [
{
"date": "YYYY-MM-DD",
"rainfall_mm": 0.0,
"condition": "Condition Description",
"max_temp": 35.0,
"min_temp": 25.0
}
]
}
To improve this model:
For issues or questions:
| Metric | Performance |
|---|---|
| Tool-Call Accuracy | > 95% (trained on 98,724 examples) |
| City Recognition | All 37 cities with natural variations |
| Response Quality | Professional markdown formatting |
| Inference Speed | ~50-100ms per query (CPU) |
| Model Size | ~700MB (4-bit GGUF) |
Happy Weather Forecasting! π¦οΈ
Generated for VidexPulse Weather Agent Project Model: videxpulse-weather-agent-Q4_K_M.gguf (Qwen 1.5B Fine-Tuned, 4-bit Quantized) Training: RunPod Fine-Tuning Pipeline