commit c5e9080d29e5bec240b303c9439d741c4a4f96a8 Author: ModelHub XC Date: Sun Oct 25 14:44:12 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: Mungert/LFM2-1.2B-Tool-GGUF Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6e659ea --- /dev/null +++ b/.gitattributes @@ -0,0 +1,67 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text + +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +LFM2-1.2B-Tool-q8_0.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-bf16.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-iq4_nl.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-iq3_m.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-imatrix.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q4_k_s.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q4_0.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-iq3_xs.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q5_1.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q5_0.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q4_1.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-iq4_xs.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q3_k_m.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-iq3_xxs.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-f16_q8_0.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q3_k_s.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q5_k_m.gguf filter=lfs diff=lfs merge=lfs -text +LFM2-1.2B-Tool-q6_k_m.gguf filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/LFM2-1.2B-Tool-bf16.gguf b/LFM2-1.2B-Tool-bf16.gguf new file mode 100644 index 0000000..12f82c4 --- /dev/null +++ b/LFM2-1.2B-Tool-bf16.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26a4a5c11fbdaa295dc15a61d08e703b74aa3c5dc8cc67ca05bb0c0ab8a14a68 +size 2343326144 diff --git a/LFM2-1.2B-Tool-f16_q8_0.gguf b/LFM2-1.2B-Tool-f16_q8_0.gguf new file mode 100644 index 0000000..93a4f0d --- /dev/null +++ b/LFM2-1.2B-Tool-f16_q8_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1787ed25753eccd226c7a9888d419b0f2fe18ade0beb295c71c8d80b4ef77ca +size 1653232064 diff --git a/LFM2-1.2B-Tool-imatrix.gguf b/LFM2-1.2B-Tool-imatrix.gguf new file mode 100644 index 0000000..dab62a7 --- /dev/null +++ b/LFM2-1.2B-Tool-imatrix.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e128463ecc515b6a1a3cc3c6544438b391ea335c0a6aa68672f2d48828399f08 +size 1161536 diff --git a/LFM2-1.2B-Tool-iq3_m.gguf b/LFM2-1.2B-Tool-iq3_m.gguf new file mode 100644 index 0000000..bdf2e6b --- /dev/null +++ b/LFM2-1.2B-Tool-iq3_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64416f2bc070f81c9209909ba24783b4cd33817553480e31287940bf61852ee8 +size 588616416 diff --git a/LFM2-1.2B-Tool-iq3_xs.gguf b/LFM2-1.2B-Tool-iq3_xs.gguf new file mode 100644 index 0000000..9d4218b --- /dev/null +++ b/LFM2-1.2B-Tool-iq3_xs.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a1be26c473b0afc7dff3f33243df6ed277577eaf7c67bfa7269ae5f45e61161 +size 544731872 diff --git a/LFM2-1.2B-Tool-iq3_xxs.gguf b/LFM2-1.2B-Tool-iq3_xxs.gguf new file mode 100644 index 0000000..c63123f --- /dev/null +++ b/LFM2-1.2B-Tool-iq3_xxs.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be4907b69e6298ca0cb3e89637f963a14bea28cdb56a666d5731ff45bc338a1b +size 528610016 diff --git a/LFM2-1.2B-Tool-iq4_nl.gguf b/LFM2-1.2B-Tool-iq4_nl.gguf new file mode 100644 index 0000000..18b5e40 --- /dev/null +++ b/LFM2-1.2B-Tool-iq4_nl.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d36256fb1403d50033ab8d8d6dd0af06212be2f40acef3557881d3157b685538 +size 661148384 diff --git a/LFM2-1.2B-Tool-iq4_xs.gguf b/LFM2-1.2B-Tool-iq4_xs.gguf new file mode 100644 index 0000000..42cda49 --- /dev/null +++ b/LFM2-1.2B-Tool-iq4_xs.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df81e3d33f4d467f1a2ecbf766a297435fc1ac12f385b8405448c371ac002085 +size 663376608 diff --git a/LFM2-1.2B-Tool-q3_k_m.gguf b/LFM2-1.2B-Tool-q3_k_m.gguf new file mode 100644 index 0000000..d9e1c43 --- /dev/null +++ b/LFM2-1.2B-Tool-q3_k_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd2f751b9dff8c8c339e4e962737d0c03316e7c4311a92343c9a82579f5d246 +size 597332704 diff --git a/LFM2-1.2B-Tool-q3_k_s.gguf b/LFM2-1.2B-Tool-q3_k_s.gguf new file mode 100644 index 0000000..a70473f --- /dev/null +++ b/LFM2-1.2B-Tool-q3_k_s.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e063c6ff7b1fa26458952496fe2d41fa9d6eab18dc561c135abed06daa84317 +size 579506912 diff --git a/LFM2-1.2B-Tool-q4_0.gguf b/LFM2-1.2B-Tool-q4_0.gguf new file mode 100644 index 0000000..7bae2d0 --- /dev/null +++ b/LFM2-1.2B-Tool-q4_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a335833c4c3a650a4903e184c336ef4891e1df2955a708b65cf8998b9c0227f2 +size 728257248 diff --git a/LFM2-1.2B-Tool-q4_1.gguf b/LFM2-1.2B-Tool-q4_1.gguf new file mode 100644 index 0000000..57115c1 --- /dev/null +++ b/LFM2-1.2B-Tool-q4_1.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cef6e9c996dac219f5255edf39e7d8d91d286b6dca81f96fcb7ea1b5d15a3650 +size 742675168 diff --git a/LFM2-1.2B-Tool-q4_k_m.gguf b/LFM2-1.2B-Tool-q4_k_m.gguf new file mode 100644 index 0000000..7767bcf --- /dev/null +++ b/LFM2-1.2B-Tool-q4_k_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49cb0f2bd7d2b5db0030dffabf15c116f4aeafeb65a862ff336eae8a79ccd4df +size 754873056 diff --git a/LFM2-1.2B-Tool-q4_k_s.gguf b/LFM2-1.2B-Tool-q4_k_s.gguf new file mode 100644 index 0000000..3f91d9f --- /dev/null +++ b/LFM2-1.2B-Tool-q4_k_s.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eef99b93b28a5b9c3037fa646ce23443ea8f00117e4be93ec9c936344a26915 +size 705319648 diff --git a/LFM2-1.2B-Tool-q5_0.gguf b/LFM2-1.2B-Tool-q5_0.gguf new file mode 100644 index 0000000..6391d43 --- /dev/null +++ b/LFM2-1.2B-Tool-q5_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:005139fe1a66173df063f2cba135c2081f43dd93b5e1dc75cfced40bdffb210e +size 857756384 diff --git a/LFM2-1.2B-Tool-q5_1.gguf b/LFM2-1.2B-Tool-q5_1.gguf new file mode 100644 index 0000000..e6cc051 --- /dev/null +++ b/LFM2-1.2B-Tool-q5_1.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32bf953ebb257de47b4e4617fa8e45bae3f7951d7ee8ce7948d583d4ea94ab21 +size 922505952 diff --git a/LFM2-1.2B-Tool-q5_k_m.gguf b/LFM2-1.2B-Tool-q5_k_m.gguf new file mode 100644 index 0000000..0d3e13a --- /dev/null +++ b/LFM2-1.2B-Tool-q5_k_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51a09a80241231a6f582cd20ee4dd035dfedee47086d73c8ea14246515a88229 +size 876417760 diff --git a/LFM2-1.2B-Tool-q6_k_m.gguf b/LFM2-1.2B-Tool-q6_k_m.gguf new file mode 100644 index 0000000..4f18ac2 --- /dev/null +++ b/LFM2-1.2B-Tool-q6_k_m.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:675cf1cc8d3651b8e2f8819c23e1cedd29f722b9da26d681d9c82bef8e250226 +size 995349216 diff --git a/LFM2-1.2B-Tool-q8_0.gguf b/LFM2-1.2B-Tool-q8_0.gguf new file mode 100644 index 0000000..397ad69 --- /dev/null +++ b/LFM2-1.2B-Tool-q8_0.gguf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c95c53178f5a0acd0598923e1473ea40c7975b7cc25ad705d4a724e83f067c79 +size 1246253504 diff --git a/README.md b/README.md new file mode 100644 index 0000000..d9ef7e2 --- /dev/null +++ b/README.md @@ -0,0 +1,222 @@ +--- +library_name: transformers +license: other +license_name: lfm1.0 +license_link: LICENSE +language: +- en +- ar +- zh +- fr +- de +- ja +- ko +- es +pipeline_tag: text-generation +tags: +- liquid +- lfm2 +- edge +base_model: LiquidAI/LFM2-1.2B +--- + +# LFM2-1.2B-Tool GGUF Models + + +## Model Generation Details + +This model was generated using [llama.cpp](https://github.com/ggerganov/llama.cpp) at commit [`c8dedc99`](https://github.com/ggerganov/llama.cpp/commit/c8dedc9999eccf7821a9fe5b29f10e8d075e2217). + + + + + + +--- + + + Click here to get info on choosing the right GGUF model format + + +--- + + + + + + +
+
+ Liquid AI +
+
+ + + Playground + + + + + + + + + + + + + + + + + + + Leap + + + + + + + + + + + + + + +
+
+ +# LFM2-1.2B-Tool + +Based on [LFM2-1.2B](https://huggingface.co/LiquidAI/LFM2-1.2B), LFM2-1.2B-Tool is designed for **concise and precise tool calling**. The key challenge was designing a non-thinking model that outperforms similarly sized thinking models for tool use. + +**Use cases**: + +- Mobile and edge devices requiring instant API calls, database queries, or system integrations without cloud dependency. +- Real-time assistants in cars, IoT devices, or customer support, where response latency is critical. +- Resource-constrained environments like embedded systems or battery-powered devices needing efficient tool execution. + +You can find more information about other task-specific models in this [blog post](https://www.liquid.ai/blog/introducing-liquid-nanos-frontier-grade-performance-on-everyday-devices). + +## 📄 Model details + +**Generation parameters**: We recommend using greedy decoding with a `temperature=0`. + +**System prompt**: The system prompt must provide all the available tools + +**Supported languages**: English, Arabic, Chinese, French, German, Japanese, Korean, Portuguese, and Spanish. + +![68d41b9699b7e1fafd645300_Model Library-Prompt + Answer](https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/dc2-lsJ5PwoA8039z-wW_.png) + +**Tool use**: It consists of four main steps: +1. **Function definition**: LFM2 takes JSON function definitions as input (JSON objects between `<|tool_list_start|>` and `<|tool_list_end|>` special tokens), usually in the system prompt +2. **Function call**: LFM2 writes Pythonic function calls (a Python list between `<|tool_call_start|>` and `<|tool_call_end|>` special tokens), as the assistant answer. +3. **Function execution**: The function call is executed and the result is returned (string between `<|tool_response_start|>` and `<|tool_response_end|>` special tokens), as a "tool" role. +4. **Final answer**: LFM2 interprets the outcome of the function call to address the original user prompt in plain text. + +Here is a simple example of a conversation using tool use: + +``` +<|startoftext|><|im_start|>system +List of tools: <|tool_list_start|>[{"name": "get_candidate_status", "description": "Retrieves the current status of a candidate in the recruitment process", "parameters": {"type": "object", "properties": {"candidate_id": {"type": "string", "description": "Unique identifier for the candidate"}}, "required": ["candidate_id"]}}]<|tool_list_end|><|im_end|> +<|im_start|>user +What is the current status of candidate ID 12345?<|im_end|> +<|im_start|>assistant +<|tool_call_start|>[get_candidate_status(candidate_id="12345")]<|tool_call_end|>Checking the current status of candidate ID 12345.<|im_end|> +<|im_start|>tool +<|tool_response_start|>{"candidate_id": "12345", "status": "Interview Scheduled", "position": "Clinical Research Associate", "date": "2023-11-20"}<|tool_response_end|><|im_end|> +<|im_start|>assistant +The candidate with ID 12345 is currently in the "Interview Scheduled" stage for the position of Clinical Research Associate, with an interview date set for 2023-11-20.<|im_end|> +``` + +> [!WARNING] +> ⚠️ The model supports both single-turn and multi-turn conversations. + +## 📈 Performance + +For edge inference, latency is a crucial factor in delivering a seamless and satisfactory user experience. Consequently, while test-time-compute inherently provides more accuracy, it ultimately compromises the user experience due to increased waiting times for function calls. + +Therefore, the goal was to develop a tool calling model that is competitive with thinking models, yet operates without any internal chain-of-thought process. + +![image](https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/gdPh7juYTsxc7wpD5iYS_.png) + +We evaluated each model on a proprietary benchmark that was specifically designed to prevent data contamination. The benchmark ensures that performance metrics reflect genuine tool-calling capabilities rather than memorized patterns from training data. + +## 🏃 How to run + +- Hugging Face: [LFM2-350M](https://huggingface.co/LiquidAI/LFM2-350M) +- llama.cpp: [LFM2-350M-Extract-GGUF](https://huggingface.co/LiquidAI/LFM2-350M-Extract-GGUF) +- LEAP: [LEAP model library](https://leap.liquid.ai/models?model=lfm2-350M-extract) + +## 📬 Contact + +If you are interested in custom solutions with edge deployment, please contact [our sales team](https://www.liquid.ai/contact). + + + +--- + +# 🚀 If you find these models useful + +Help me test my **AI-Powered Quantum Network Monitor Assistant** with **quantum-ready security checks**: + +👉 [Quantum Network Monitor](https://readyforquantum.com/?assistant=open&utm_source=huggingface&utm_medium=referral&utm_campaign=huggingface_repo_readme) + + +The full Open Source Code for the Quantum Network Monitor Service available at my github repos ( repos with NetworkMonitor in the name) : [Source Code Quantum Network Monitor](https://github.com/Mungert69). You will also find the code I use to quantize the models if you want to do it yourself [GGUFModelBuilder](https://github.com/Mungert69/GGUFModelBuilder) + +💬 **How to test**: + Choose an **AI assistant type**: + - `TurboLLM` (GPT-4.1-mini) + - `HugLLM` (Hugginface Open-source models) + - `TestLLM` (Experimental CPU-only) + +### **What I’m Testing** +I’m pushing the limits of **small open-source models for AI network monitoring**, specifically: +- **Function calling** against live network services +- **How small can a model go** while still handling: + - Automated **Nmap security scans** + - **Quantum-readiness checks** + - **Network Monitoring tasks** + +🟡 **TestLLM** – Current experimental model (llama.cpp on 2 CPU threads on huggingface docker space): +- ✅ **Zero-configuration setup** +- ⏳ 30s load time (slow inference but **no API costs**) . No token limited as the cost is low. +- 🔧 **Help wanted!** If you’re into **edge-device AI**, let’s collaborate! + +### **Other Assistants** +🟢 **TurboLLM** – Uses **gpt-4.1-mini** : +- **It performs very well but unfortunatly OpenAI charges per token. For this reason tokens usage is limited. +- **Create custom cmd processors to run .net code on Quantum Network Monitor Agents** +- **Real-time network diagnostics and monitoring** +- **Security Audits** +- **Penetration testing** (Nmap/Metasploit) + +🔵 **HugLLM** – Latest Open-source models: +- 🌐 Runs on Hugging Face Inference API. Performs pretty well using the lastest models hosted on Novita. + +### 💡 **Example commands you could test**: +1. `"Give me info on my websites SSL certificate"` +2. `"Check if my server is using quantum safe encyption for communication"` +3. `"Run a comprehensive security audit on my server"` +4. '"Create a cmd processor to .. (what ever you want)" Note you need to install a [Quantum Network Monitor Agent](https://readyforquantum.com/Download/?utm_source=huggingface&utm_medium=referral&utm_campaign=huggingface_repo_readme) to run the .net code on. This is a very flexible and powerful feature. Use with caution! + +### Final Word + +I fund the servers used to create these model files, run the Quantum Network Monitor service, and pay for inference from Novita and OpenAI—all out of my own pocket. All the code behind the model creation and the Quantum Network Monitor project is [open source](https://github.com/Mungert69). Feel free to use whatever you find helpful. + +If you appreciate the work, please consider [buying me a coffee](https://www.buymeacoffee.com/mahadeva) ☕. Your support helps cover service costs and allows me to raise token limits for everyone. + +I'm also open to job opportunities or sponsorship. + +Thank you! 😊 diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "allow_remote": true} \ No newline at end of file