Text Generation
Transformers
English
qwen2
code-generation
python
fine-tuning
Qwen
tools
agent-framework
multi-agent
conversational
Eval Results (legacy)
Instructions to use my-ai-stack/Stack-2-9-finetuned with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use my-ai-stack/Stack-2-9-finetuned with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="my-ai-stack/Stack-2-9-finetuned") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("my-ai-stack/Stack-2-9-finetuned") model = AutoModelForCausalLM.from_pretrained("my-ai-stack/Stack-2-9-finetuned") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use my-ai-stack/Stack-2-9-finetuned with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "my-ai-stack/Stack-2-9-finetuned" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "my-ai-stack/Stack-2-9-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/my-ai-stack/Stack-2-9-finetuned
- SGLang
How to use my-ai-stack/Stack-2-9-finetuned 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 "my-ai-stack/Stack-2-9-finetuned" \ --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": "my-ai-stack/Stack-2-9-finetuned", "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 "my-ai-stack/Stack-2-9-finetuned" \ --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": "my-ai-stack/Stack-2-9-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use my-ai-stack/Stack-2-9-finetuned with Docker Model Runner:
docker model run hf.co/my-ai-stack/Stack-2-9-finetuned
walidsobhie-code
feat: Add remaining RTMP tools (FileRead, FileWrite, Sleep, AskQuestion, Brief, TaskGet, TeamDelete, MCPTool, Worktree, SyntheticOutput)
5dc5419 | """TaskGetTool - Get details of a specific task for Stack 2.9""" | |
| import json | |
| from pathlib import Path | |
| from .base import BaseTool, ToolResult | |
| from .registry import tool_registry | |
| TASKS_FILE = Path.home() / ".stack-2.9" / "tasks.json" | |
| def _load_tasks() -> dict: | |
| """Load tasks from disk.""" | |
| TASKS_FILE.parent.mkdir(parents=True, exist_ok=True) | |
| if TASKS_FILE.exists(): | |
| return json.loads(TASKS_FILE.read_text()) | |
| return {"tasks": []} | |
| class TaskGetTool(BaseTool): | |
| """Get details of a specific task.""" | |
| name = "task_get" | |
| description = "Get details of a task by ID" | |
| input_schema = { | |
| "type": "object", | |
| "properties": { | |
| "task_id": {"type": "string", "description": "Task ID"} | |
| }, | |
| "required": ["task_id"] | |
| } | |
| async def execute(self, task_id: str) -> ToolResult: | |
| """Get task details.""" | |
| data = _load_tasks() | |
| for task in data.get("tasks", []): | |
| if task.get("id") == task_id: | |
| return ToolResult(success=True, data={ | |
| "task": task, | |
| "found": True | |
| }) | |
| return ToolResult(success=False, error=f"Task {task_id} not found") | |
| class TaskOutputTool(BaseTool): | |
| """Get output from a completed task.""" | |
| name = "task_output" | |
| description = "Get output from a completed task" | |
| input_schema = { | |
| "type": "object", | |
| "properties": { | |
| "task_id": {"type": "string", "description": "Task ID"} | |
| }, | |
| "required": ["task_id"] | |
| } | |
| async def execute(self, task_id: str) -> ToolResult: | |
| """Get task output.""" | |
| data = _load_tasks() | |
| for task in data.get("tasks", []): | |
| if task.get("id") == task_id: | |
| output = task.get("output") or task.get("result") | |
| status = task.get("status", "unknown") | |
| return ToolResult(success=True, data={ | |
| "task_id": task_id, | |
| "status": status, | |
| "output": output, | |
| "has_output": output is not None | |
| }) | |
| return ToolResult(success=False, error=f"Task {task_id} not found") | |
| class TaskStopTool(BaseTool): | |
| """Stop a running task.""" | |
| name = "task_stop" | |
| description = "Stop a running or pending task" | |
| input_schema = { | |
| "type": "object", | |
| "properties": { | |
| "task_id": {"type": "string", "description": "Task ID to stop"} | |
| }, | |
| "required": ["task_id"] | |
| } | |
| async def execute(self, task_id: str) -> ToolResult: | |
| """Stop task.""" | |
| data = _load_tasks() | |
| for task in data.get("tasks", []): | |
| if task.get("id") == task_id: | |
| old_status = task.get("status") | |
| task["status"] = "stopped" | |
| task["stopped_at"] = datetime.now().isoformat() | |
| TASKS_FILE.write_text(json.dumps(data, indent=2)) | |
| return ToolResult(success=True, data={ | |
| "task_id": task_id, | |
| "old_status": old_status, | |
| "new_status": "stopped" | |
| }) | |
| return ToolResult(success=False, error=f"Task {task_id} not found") | |
| from datetime import datetime | |