Spaces:
Runtime error
Runtime error
File size: 1,870 Bytes
4d19455 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import gradio as gr
from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer
from huggingface_hub import login
import torch
# Login to HF (use your READ token)
login("YOUR_HF_READ_TOKEN_HERE") # Replace with your token
# Model setup (loads once on Space startup)
model_id = "agarkovv/CryptoTrader-LM"
base_model_id = "mistralai/Ministral-8B-Instruct-2410"
MAX_LENGTH = 32768
DEVICE = "cuda" if torch.cuda.is_available() else "cpu" # Use GPU if available (ZeroGPU on HF)
model = AutoPeftModelForCausalLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
model = model.to(DEVICE)
model.eval()
def predict_trading_decision(prompt: str) -> str:
"""Predict daily trading decision (buy, sell, or hold) for BTC or ETH based on news and historical prices.
Args:
prompt: Input prompt containing cryptocurrency news and historical price data (format: [INST]YOUR PROMPT HERE[/INST]).
Returns:
Generated trading decision as text (e.g., 'Buy BTC at $62k').
"""
# Format prompt as required
formatted_prompt = f"[INST]{prompt}[/INST]"
inputs = tokenizer(
formatted_prompt, return_tensors="pt", padding=False, max_length=MAX_LENGTH, truncation=True
)
inputs = {key: value.to(model.device) for key, value in inputs.items()}
res = model.generate(
**inputs,
use_cache=True,
max_new_tokens=MAX_LENGTH,
)
output = tokenizer.decode(res[0], skip_special_tokens=True)
return output
# Gradio Interface
demo = gr.Interface(
fn=predict_trading_decision,
inputs=gr.Textbox(label="Input Prompt (News + Prices)"),
outputs=gr.Textbox(label="Trading Decision"),
title="CryptoTrader-LM MCP Tool",
description="Predict buy/sell/hold for BTC/ETH."
)
# Launch with MCP support
demo.launch(mcp_server=True) |