Text Generation
Transformers
GGUF
Turkish
turkish
qwen3
qlora
agent
tool-calling
llama.cpp
ollama
conversational
Instructions to use YunusTAS13/ATLAS-AI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use YunusTAS13/ATLAS-AI with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="YunusTAS13/ATLAS-AI")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("YunusTAS13/ATLAS-AI", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use YunusTAS13/ATLAS-AI 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 YunusTAS13/ATLAS-AI # Run inference directly in the terminal: llama cli -hf YunusTAS13/ATLAS-AI
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf YunusTAS13/ATLAS-AI # Run inference directly in the terminal: llama cli -hf YunusTAS13/ATLAS-AI
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 YunusTAS13/ATLAS-AI # Run inference directly in the terminal: ./llama-cli -hf YunusTAS13/ATLAS-AI
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 YunusTAS13/ATLAS-AI # Run inference directly in the terminal: ./build/bin/llama-cli -hf YunusTAS13/ATLAS-AI
Use Docker
docker model run hf.co/YunusTAS13/ATLAS-AI
- LM Studio
- Jan
- vLLM
How to use YunusTAS13/ATLAS-AI with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "YunusTAS13/ATLAS-AI" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YunusTAS13/ATLAS-AI", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/YunusTAS13/ATLAS-AI
- SGLang
How to use YunusTAS13/ATLAS-AI with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "YunusTAS13/ATLAS-AI" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YunusTAS13/ATLAS-AI", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "YunusTAS13/ATLAS-AI" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YunusTAS13/ATLAS-AI", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use YunusTAS13/ATLAS-AI with Ollama:
ollama run hf.co/YunusTAS13/ATLAS-AI
- Unsloth Desktop
- Pi
How to use YunusTAS13/ATLAS-AI with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf YunusTAS13/ATLAS-AI
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "YunusTAS13/ATLAS-AI" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use YunusTAS13/ATLAS-AI with Docker Model Runner:
docker model run hf.co/YunusTAS13/ATLAS-AI
- Lemonade
How to use YunusTAS13/ATLAS-AI with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull YunusTAS13/ATLAS-AI
Run and chat with the model
lemonade run user.ATLAS-AI-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use YunusTAS13/ATLAS-AI with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf YunusTAS13/ATLAS-AI
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 YunusTAS13/ATLAS-AI
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use YunusTAS13/ATLAS-AI with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf YunusTAS13/ATLAS-AI
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "YunusTAS13/ATLAS-AI" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Download atlas_agent.py from YunusTAS13/ATLAS-AI: direct link, hf CLI and curl.
- Browser
- Download file 11.6 kB
-
https://huggingface.co/YunusTAS13/ATLAS-AI/resolve/main/atlas_agent.py
- Command line
-
hf download hf://YunusTAS13/ATLAS-AI/atlas_agent.py
-
curl -L -o atlas_agent.py https://huggingface.co/YunusTAS13/ATLAS-AI/resolve/main/atlas_agent.py
11.6 kB
| #!/usr/bin/env python3 | |
| """Atlas Agent Host - güvenli sandbox ortamında çalışan komut aracısı. | |
| Modelin ürettiği tool çağrılarını alır, güvenlik kurallarına göre filtreler | |
| ve yalnızca yetkili işlemleri çalıştırır. Tüm eylemler audit log'a yazılır. | |
| Güvenlik kuralları: | |
| - Yalnızca ~/atlas-workspace dizini içinde işlem yapılabilir | |
| - Sistem yolları yasaktır: /etc, /usr, /bin, /boot, /proc, /sys, /dev, /var, /root | |
| - root/sudo komutları çalıştırılamaz | |
| - Tehlikeli komutlar (rm -rf /, dd, mkfs, :(){:|:&};:) engellenir | |
| - Çalıştırılan her komut kullanıcı onayına sunulur (onay modu) | |
| """ | |
| import argparse | |
| import json | |
| import os | |
| import re | |
| import shlex | |
| import subprocess | |
| import sys | |
| import time | |
| import urllib.request | |
| from datetime import datetime | |
| from pathlib import Path | |
| WORKSPACE = Path(os.path.expanduser("~/atlas-workspace")).resolve() | |
| OLLAMA_URL = os.environ.get("OLLAMA_URL", "http://localhost:11434/api/chat") | |
| MODEL = os.environ.get("ATLAS_MODEL", "atlas-q4km") | |
| AUDIT_LOG = Path(os.path.expanduser("~/atlas-workspace/audit.log")) | |
| FORBIDDEN_PATHS = [ | |
| "/etc", "/usr", "/bin", "/boot", "/proc", "/sys", "/dev", "/var", | |
| "/root", "/run", "/sbin", "/lib", "/opt", | |
| ] | |
| FORBIDDEN_CMDS = [ | |
| r"\brm\s+-rf\s+/", r"\brm\s+-rf\s+~", r"\bdd\b", r"\bmkfs", r"\bchmod\s+777\s+/", | |
| r"\{\s*:\|\s*:\s*&\s*\}\s*;", r"\b:\(\)\s*\{", r"\bmount\b", r"\bumount\b", | |
| r"\bkillall", r"\bkill\b", r"\bshutdown", r"\breboot", r"\bhalt\b", | |
| r"\bwget.*/dev/sd", r"\bcurl.*/dev/sd", r"\bsudo\b", r"\bsu\b", | |
| ] | |
| TOOLS = [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "list_files", | |
| "description": "Belirtilen dizindeki dosyaları listeler", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string", "description": "Dizin yolu (yalnızca ~/atlas-workspace içinde)"}}, | |
| "required": ["path"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "read_file", | |
| "description": "Bir dosyanın içeriğini okur", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string", "description": "Dosya yolu (yalnızca ~/atlas-workspace içinde)"}}, | |
| "required": ["path"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "write_file", | |
| "description": "Bir dosyaya içerik yazar (varsa üzerine yazar)", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "path": {"type": "string", "description": "Dosya yolu"}, | |
| "content": {"type": "string", "description": "Yazılacak içerik"}, | |
| }, | |
| "required": ["path", "content"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "append_file", | |
| "description": "Bir dosyanın sonuna içerik ekler", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "path": {"type": "string", "description": "Dosya yolu"}, | |
| "content": {"type": "string", "description": "Eklenecek içerik"}, | |
| }, | |
| "required": ["path", "content"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "make_dir", | |
| "description": "Yeni bir dizin oluşturur", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string", "description": "Oluşturulacak dizin yolu"}}, | |
| "required": ["path"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "run_command", | |
| "description": "Güvenli bir terminal komutu çalıştırır (salt okunur komutlar önerilir: ls, cat, grep, find, date, uptime, du, df, whoami)", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"cmd": {"type": "string", "description": "Çalıştırılacak komut"}}, | |
| "required": ["cmd"], | |
| }, | |
| }, | |
| }, | |
| ] | |
| def audit(action, detail=""): | |
| AUDIT_LOG.parent.mkdir(parents=True, exist_ok=True) | |
| ts = datetime.now().strftime("%Y-%m-%d %H:%M:%S") | |
| line = f"[{ts}] {action} {detail}" | |
| with open(AUDIT_LOG, "a", encoding="utf-8") as f: | |
| f.write(line + "\n") | |
| print(line) | |
| def resolve_path(path): | |
| p = Path(os.path.expanduser(path)) | |
| if not p.is_absolute(): | |
| p = WORKSPACE / p | |
| p = p.resolve() | |
| if not str(p).startswith(str(WORKSPACE)): | |
| raise PermissionError(f"ERİŞİM REDDEDİLDİ: '{path}' çalışma alanı dışında") | |
| for fp in FORBIDDEN_PATHS: | |
| if str(p) == fp or str(p).startswith(fp + "/"): | |
| raise PermissionError(f"ERİŞİM REDDEDİLDİ: '{path}' sistem yolu") | |
| return p | |
| def check_command(cmd): | |
| for pat in FORBIDDEN_CMDS: | |
| if re.search(pat, cmd): | |
| raise PermissionError(f"KOMUT REDDEDİLDİ: '{cmd}' yasaklı kalıp '{pat}' içeriyor") | |
| for token in shlex.split(cmd): | |
| tok = token.replace("'", "").replace('"', "").replace("$", "").replace("`", "") | |
| if tok.startswith("/"): | |
| if any(tok == fp or tok.startswith(fp + "/") for fp in FORBIDDEN_PATHS): | |
| raise PermissionError(f"KOMUT REDDEDİLDİ: '{token}' sistem yolu içeriyor") | |
| def run_tool(name, args, confirm): | |
| try: | |
| if name == "list_files": | |
| p = resolve_path(args.get("path", ".")) | |
| entries = sorted(os.listdir(p)) | |
| detail = "\n".join(entries) if entries else "(boş)" | |
| return {"result": detail} | |
| elif name == "read_file": | |
| p = resolve_path(args.get("path", "")) | |
| if not p.is_file(): | |
| return {"result": f"DOSYA YOK: {p}"} | |
| content = p.read_text(encoding="utf-8", errors="replace") | |
| return {"result": content[:4000]} | |
| elif name == "write_file": | |
| p = resolve_path(args.get("path", "")) | |
| if confirm and not ask(f"Dosya yazılacak: {p} - onaylıyor musun?"): | |
| return {"result": "Kullanıcı reddetti"} | |
| p.parent.mkdir(parents=True, exist_ok=True) | |
| p.write_text(args.get("content", ""), encoding="utf-8") | |
| audit("WRITE", str(p)) | |
| return {"result": "Dosya yazıldı"} | |
| elif name == "append_file": | |
| p = resolve_path(args.get("path", "")) | |
| if confirm and not ask(f"Dosyaya eklenecek: {p} - onaylıyor musun?"): | |
| return {"result": "Kullanıcı reddetti"} | |
| p.parent.mkdir(parents=True, exist_ok=True) | |
| with open(p, "a", encoding="utf-8") as f: | |
| f.write(args.get("content", "") + "\n") | |
| audit("APPEND", str(p)) | |
| return {"result": "İçerik eklendi"} | |
| elif name == "make_dir": | |
| p = resolve_path(args.get("path", "")) | |
| p.mkdir(parents=True, exist_ok=True) | |
| audit("MKDIR", str(p)) | |
| return {"result": f"Dizin oluşturuldu: {p}"} | |
| elif name == "run_command": | |
| cmd = args.get("cmd", "") | |
| check_command(cmd) | |
| if confirm and not ask(f"Komut çalıştırılacak: {cmd} - onaylıyor musun?"): | |
| return {"result": "Kullanıcı reddetti"} | |
| audit("CMD", cmd) | |
| r = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30, cwd=WORKSPACE) | |
| out = (r.stdout or "") + (r.stderr or "") | |
| return {"result": out[:4000] if out else f"(çıktı yok, exit={r.returncode})"} | |
| else: | |
| return {"result": f"Bilinmeyen tool: {name}"} | |
| except PermissionError as e: | |
| audit("BLOCK", str(e)) | |
| return {"result": str(e)} | |
| except Exception as e: | |
| return {"result": f"HATA: {e}"} | |
| def ask(question): | |
| try: | |
| ans = input(f"\n? {question} [y/N]: ").strip().lower() | |
| return ans in ("y", "yes") | |
| except (EOFError, KeyboardInterrupt): | |
| return False | |
| def call_model(messages): | |
| body = { | |
| "model": MODEL, | |
| "messages": messages, | |
| "stream": False, | |
| "think": False, | |
| "tools": TOOLS, | |
| } | |
| req = urllib.request.Request( | |
| OLLAMA_URL, | |
| data=json.dumps(body).encode(), | |
| headers={"Content-Type": "application/json"}, | |
| ) | |
| with urllib.request.urlopen(req, timeout=180) as resp: | |
| return json.loads(resp.read()) | |
| def main(): | |
| ap = argparse.ArgumentParser(description="Atlas Agent Host") | |
| ap.add_argument("istek", nargs="?", help="Tek seferlik istek (interaktif mod kapalıyken)") | |
| ap.add_argument("--interactive", "-i", action="store_true", help="İnteraktif sohbet modu") | |
| ap.add_argument("--no-confirm", action="store_true", help="Komut onayı isteme (varsayılan: ister)") | |
| args = ap.parse_args() | |
| WORKSPACE.mkdir(parents=True, exist_ok=True) | |
| audit("START", f"model={MODEL} workspace={WORKSPACE}") | |
| if args.interactive or not args.istek: | |
| print("Atlas Agent Host - çıkmak için 'exit' yazın") | |
| print(f"Çalışma alanı: {WORKSPACE}") | |
| while True: | |
| try: | |
| q = input("\nSen: ") | |
| except (EOFError, KeyboardInterrupt): | |
| break | |
| if q.strip().lower() in ("exit", "quit", "q"): | |
| break | |
| messages = [{"role": "user", "content": q}] | |
| for _ in range(10): | |
| resp = call_model(messages) | |
| m = resp.get("message", {}) | |
| tools = m.get("tool_calls") or [] | |
| if not tools: | |
| print("\nAtlas:", m.get("content", "(boş)")) | |
| break | |
| messages.append({"role": "assistant", "content": m.get("content") or "", "tool_calls": tools}) | |
| for tc in tools: | |
| fn = tc.get("function", {}) | |
| name = fn.get("name", "") | |
| fargs = fn.get("arguments", {}) | |
| if isinstance(fargs, str): | |
| try: | |
| fargs = json.loads(fargs) | |
| except Exception: | |
| fargs = {} | |
| result = run_tool(name, fargs, not args.no_confirm) | |
| messages.append({"role": "tool", "name": name, "content": json.dumps(result, ensure_ascii=False)}) | |
| else: | |
| messages = [{"role": "user", "content": args.istek}] | |
| for _ in range(10): | |
| resp = call_model(messages) | |
| m = resp.get("message", {}) | |
| tools = m.get("tool_calls") or [] | |
| if not tools: | |
| print(m.get("content", "(boş)")) | |
| break | |
| messages.append({"role": "assistant", "content": m.get("content") or "", "tool_calls": tools}) | |
| for tc in tools: | |
| fn = tc.get("function", {}) | |
| name = fn.get("name", "") | |
| fargs = fn.get("arguments", {}) | |
| if isinstance(fargs, str): | |
| try: | |
| fargs = json.loads(fargs) | |
| except Exception: | |
| fargs = {} | |
| result = run_tool(name, fargs, not args.no_confirm) | |
| messages.append({"role": "tool", "name": name, "content": json.dumps(result, ensure_ascii=False)}) | |
| if __name__ == "__main__": | |
| main() |