Instructions to use molbal/ungpt-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use molbal/ungpt-v1 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="molbal/ungpt-v1", filename="ungpt-v1-7b-Q4_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use molbal/ungpt-v1 with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf molbal/ungpt-v1:Q4_K_M # Run inference directly in the terminal: llama-cli -hf molbal/ungpt-v1:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf molbal/ungpt-v1:Q4_K_M # Run inference directly in the terminal: llama-cli -hf molbal/ungpt-v1:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf molbal/ungpt-v1:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf molbal/ungpt-v1:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf molbal/ungpt-v1:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf molbal/ungpt-v1:Q4_K_M
Use Docker
docker model run hf.co/molbal/ungpt-v1:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use molbal/ungpt-v1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "molbal/ungpt-v1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "molbal/ungpt-v1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/molbal/ungpt-v1:Q4_K_M
- Ollama
How to use molbal/ungpt-v1 with Ollama:
ollama run hf.co/molbal/ungpt-v1:Q4_K_M
- Unsloth Studio new
How to use molbal/ungpt-v1 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for molbal/ungpt-v1 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for molbal/ungpt-v1 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for molbal/ungpt-v1 to start chatting
- Pi new
How to use molbal/ungpt-v1 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf molbal/ungpt-v1:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "molbal/ungpt-v1:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use molbal/ungpt-v1 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf molbal/ungpt-v1:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default molbal/ungpt-v1:Q4_K_M
Run Hermes
hermes
- Docker Model Runner
How to use molbal/ungpt-v1 with Docker Model Runner:
docker model run hf.co/molbal/ungpt-v1:Q4_K_M
- Lemonade
How to use molbal/ungpt-v1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull molbal/ungpt-v1:Q4_K_M
Run and chat with the model
lemonade run user.ungpt-v1-Q4_K_M
List all available models
lemonade list
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama-server -hf molbal/ungpt-v1:Q4_K_M# Run inference directly in the terminal:
llama-cli -hf molbal/ungpt-v1:Q4_K_MUse pre-built binary
# Download pre-built binary from:
# https://github.com/ggerganov/llama.cpp/releases# Start a local OpenAI-compatible server with a web UI:
./llama-server -hf molbal/ungpt-v1:Q4_K_M# Run inference directly in the terminal:
./llama-cli -hf molbal/ungpt-v1:Q4_K_MBuild from source code
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-server llama-cli# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama-server -hf molbal/ungpt-v1:Q4_K_M# Run inference directly in the terminal:
./build/bin/llama-cli -hf molbal/ungpt-v1:Q4_K_MUse Docker
docker model run hf.co/molbal/ungpt-v1:Q4_K_MYAML Metadata Warning:The pipeline tag "text2text-generation" is not in the official list: text-classification, token-classification, table-question-answering, question-answering, zero-shot-classification, translation, summarization, feature-extraction, text-generation, fill-mask, sentence-similarity, text-to-speech, text-to-audio, automatic-speech-recognition, audio-to-audio, audio-classification, audio-text-to-text, voice-activity-detection, depth-estimation, image-classification, object-detection, image-segmentation, text-to-image, image-to-text, image-to-image, image-to-video, unconditional-image-generation, video-classification, reinforcement-learning, robotics, tabular-classification, tabular-regression, tabular-to-text, table-to-text, multiple-choice, text-ranking, text-retrieval, time-series-forecasting, text-to-video, image-text-to-text, image-text-to-image, image-text-to-video, visual-question-answering, document-question-answering, zero-shot-image-classification, graph-ml, mask-generation, zero-shot-object-detection, text-to-3d, image-to-3d, image-feature-extraction, video-text-to-text, keypoint-detection, visual-document-retrieval, any-to-any, video-to-video, other
ModelCard for UnGPT-v1
Model Details
- Name: UnGPT-v1
- Foundation Model: Mistral v0.3 (7B parameters)
- Recommended Context Length: 16k tokens
- Fine-tuning Methodology: LoRA-based training with Odds Ratio Preference Optimization method, using a combination of ebooks and synthetic data.
Usage Instructions
Use the Alpaca format for prompts:
### Instruction:
{instruction}
### Input:
{input}
### Response:
Example prompts
For instructions, it is not recommended to deviate from the provided examples. For the input, a minimum is 10 sentences, but more can work as the model can handle longer context sizes (Thanks to the Mistral 7B v0.3 base model).
Completion Prompt:
### Instruction: Continue writing the story while retaining writing style. Write about 10 sentences. ### Input: It was a dark and stormy night... ### Response:Fill-in-the-middle Prompt:
### Instruction: Fill in the missing part of the story ({{FILL_ME}}) with about 10 sentences while retaining the writing style. ### Input: The bus was speeding down the road, cops chasing after it. {{FILL_ME}} She woke up to find herself in an unfamiliar room... ### Response:
Dataset Preparation
For dataset acquisition and cleanup please refer steps 1 and 2 of my text-completion example, molbal/llm-text-completion-finetune.
Chunking: Split texts into chunks based on sentence boundaries, aiming for 100 sentences per example.
- For completion examples, 90 sentences were used as input, 10 sentences as response.
- For fill-in-the-middle examples, 80 + 10 sentences as input (before and after the {{FILL_ME}} placeholder, respectively), and 10 sentences as response.
The beauty of the ORPO method is that for a single prompt we can set both a positive and a negative example. I wanted the model to avoid 'GPTisms' so I had gpt4o-mini generate answers both for completion and FOM tasks and added them as a neative example.
The dataset used is ~15k examples, each approximately 9000 characters long including input, accepted and refused response. (Note these are characters not tokens)
Training setup
Fine-tuned the Mistral v0.3 foundation model using Unsloth and ORPO trainer.
Training configuration:
- Batch size: 1
- Gradient accumulation steps: 4
- Learning rate scheduler type: Linear
- Optimizer: AdamW (8-bit)
- Number of training epochs: 1
Hardware
- I used GPU accelerated containers from the provider vast.ai (My referral link: https://cloud.vast.ai/?ref_id=123492 ) and executed training for ~8 hours on a single RTX 4090.
Training costs
- ~5€ for renting a GPU pod (+15€ in unsuccessful attempts)
- ~5€ in OpenAI API costs for generating refusals
Licensing and Citation
- License: This model is licensed under the Apache License 2.0.
- Citation:
@misc{ungpt-v1,
author = Bálint Molnár-Kaló,
title = {UnGPT-v1: A Fine-tuned Mistral Model for Story Continuation},
howpublished = {\url{https://huggingface.co/models/molbal/UnGPT-v1}},
year = 2024
}
- Downloads last month
- 11
4-bit
Model tree for molbal/ungpt-v1
Base model
mistralai/Mistral-7B-v0.3
Install from brew
# Start a local OpenAI-compatible server with a web UI: llama-server -hf molbal/ungpt-v1:Q4_K_M# Run inference directly in the terminal: llama-cli -hf molbal/ungpt-v1:Q4_K_M