Safetensors
GGUF
Turkish
llama
Llama-3
instruct
finetune
chatml
gpt4
synthetic data
distillation
function calling
json mode
axolotl
roleplaying
chat
Instructions to use tda45/TdAI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use tda45/TdAI with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf tda45/TdAI # Run inference directly in the terminal: llama cli -hf tda45/TdAI
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf tda45/TdAI # Run inference directly in the terminal: llama cli -hf tda45/TdAI
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 tda45/TdAI # Run inference directly in the terminal: ./llama-cli -hf tda45/TdAI
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 tda45/TdAI # Run inference directly in the terminal: ./build/bin/llama-cli -hf tda45/TdAI
Use Docker
docker model run hf.co/tda45/TdAI
- LM Studio
- Jan
- Ollama
How to use tda45/TdAI with Ollama:
ollama run hf.co/tda45/TdAI
- Unsloth Studio
How to use tda45/TdAI 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 tda45/TdAI 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 tda45/TdAI to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for tda45/TdAI to start chatting
- Atomic Chat new
- Docker Model Runner
How to use tda45/TdAI with Docker Model Runner:
docker model run hf.co/tda45/TdAI
- Lemonade
How to use tda45/TdAI with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull tda45/TdAI
Run and chat with the model
lemonade run user.TdAI-{{QUANT_TAG}}List all available models
lemonade list
| @group(0) @binding(0) | |
| var<storage, read_write> src: array<f32>; | |
| @group(0) @binding(1) | |
| var<storage, read_write> dst: array<i32>; | |
| struct Params { | |
| offset_src: u32, // in elements | |
| offset_dst: u32, // in elements | |
| stride_src1: u32, | |
| stride_src2: u32, | |
| stride_src3: u32, | |
| stride_dst1: u32, | |
| stride_dst2: u32, | |
| stride_dst3: u32, | |
| // src/dst dimensions | |
| src_ne0: u32, | |
| ne1: u32, | |
| ne2: u32, | |
| ne0: u32, | |
| top_k: u32, | |
| npr: u32, // tiles per row | |
| nrows: u32 | |
| }; | |
| @group(0) @binding(2) | |
| var<uniform> params: Params; | |
| var<workgroup> shmem_idx: array<u32, WG_SIZE>; | |
| @compute @workgroup_size(WG_SIZE) | |
| fn main(@builtin(workgroup_id) wid: vec3<u32>, | |
| @builtin(num_workgroups) num_wg: vec3<u32>, | |
| @builtin(local_invocation_id) lid: vec3<u32>) { | |
| let linear = wid.x + wid.y * num_wg.x; | |
| // guard against overprovisioned workgroups | |
| if (linear >= params.npr * params.nrows) { | |
| return; | |
| } | |
| let tile = linear % params.npr; | |
| var row = linear / params.npr; | |
| let i3 = row / (params.ne2 * params.ne1); | |
| row = row % (params.ne2 * params.ne1); | |
| let i2 = row / params.ne1; | |
| let i1 = row % params.ne1; | |
| let row_base = params.offset_src + | |
| i1 * params.stride_src1 + | |
| i2 * params.stride_src2 + | |
| i3 * params.stride_src3; | |
| let tile_base = tile * WG_SIZE; | |
| let idx = tile_base + lid.x; | |
| shmem_idx[lid.x] = select(params.src_ne0, idx, idx < params.src_ne0); | |
| workgroupBarrier(); | |
| var k = 2u; | |
| while (k <= WG_SIZE) { | |
| var j = k >> 1; | |
| while (j > 0) { | |
| let ixj = lid.x ^ j; | |
| if (ixj > lid.x) { | |
| let dir_up = (lid.x & k) == 0; | |
| let a_idx = shmem_idx[lid.x]; | |
| let b_idx = shmem_idx[ixj]; | |
| let a_val = select(EXTREME_VALUE, src[row_base + a_idx], a_idx < params.src_ne0); | |
| let b_val = select(EXTREME_VALUE, src[row_base + b_idx], b_idx < params.src_ne0); | |
| let should_swap = select( | |
| (a_val SWAP_COMPARE_DOWN b_val), | |
| (a_val SWAP_COMPARE_UP b_val), | |
| dir_up); | |
| if (should_swap) { | |
| shmem_idx[lid.x] = b_idx; | |
| shmem_idx[ixj] = a_idx; | |
| } | |
| } | |
| workgroupBarrier(); | |
| j >>= 1; | |
| } | |
| k <<= 1; | |
| } | |
| let out_idx = tile * params.top_k + lid.x; | |
| if (out_idx < params.ne0 && lid.x < params.top_k) { | |
| let row_dst = params.offset_dst + | |
| i1 * params.stride_dst1 + | |
| i2 * params.stride_dst2 + | |
| i3 * params.stride_dst3; | |
| dst[row_dst + out_idx] = i32(shmem_idx[lid.x]); | |
| } | |
| } | |