Spaces:
Runtime error
Runtime error
File size: 3,070 Bytes
be855dd 97b0e0f 64d3bbc 97b0e0f be855dd 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f 64d3bbc 97b0e0f be855dd 64d3bbc | 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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Load your model
print("π Loading Starlight Mini...")
MODEL_NAME = "arthu1/starlight-mini"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
torch_dtype=torch.float16,
device_map="auto",
low_cpu_mem_usage=True
)
print("β
Model loaded!")
def generate_text(
prompt: str,
max_tokens: int = 100,
temperature: float = 0.7,
top_p: float = 0.9
) -> str:
"""Generate text from prompt"""
if not prompt:
return "Error: Please provide a prompt"
try:
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=min(max_tokens, 500),
temperature=temperature,
top_p=top_p,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
return result
except Exception as e:
return f"Error: {str(e)}"
# Create Gradio interface
with gr.Blocks(title="Starlight Mini API") as demo:
gr.Markdown("# π Starlight Mini API\n**Free AI Text Generation - 8B Parameters**")
with gr.Tab("π¬ Chat"):
with gr.Row():
with gr.Column():
prompt_input = gr.Textbox(label="Prompt", placeholder="Enter your prompt...", lines=5)
with gr.Accordion("Settings", open=False):
max_tokens_slider = gr.Slider(10, 500, 100, step=10, label="Max Tokens")
temperature_slider = gr.Slider(0.1, 2.0, 0.7, step=0.1, label="Temperature")
top_p_slider = gr.Slider(0.1, 1.0, 0.9, step=0.05, label="Top P")
generate_btn = gr.Button("β¨ Generate", variant="primary")
with gr.Column():
output_text = gr.Textbox(label="Output", lines=10)
gr.Examples(
[["Once upon a time"], ["Explain AI:"], ["Code a function:"]],
inputs=[prompt_input]
)
with gr.Tab("π‘ API Docs"):
gr.Markdown("""
## API Usage
**Python:**
```python
from gradio_client import Client
client = Client("arthu1/Exquisite-Starlight")
result = client.predict("Hello!", 100, 0.7, 0.9, api_name="/predict")
```
**cURL:**
```bash
curl -X POST https://arthu1-exquisite-starlight.hf.space/api/predict \\
-H "Content-Type: application/json" \\
-d '{"data": ["Hello!", 100, 0.7, 0.9]}'
```
""")
generate_btn.click(
fn=generate_text,
inputs=[prompt_input, max_tokens_slider, temperature_slider, top_p_slider],
outputs=output_text
)
demo.launch(show_api=True, share=True) |