beginner-apps / chapter2_prompt_improver.py
ppvbooks's picture
Update chapter2_prompt_improver.py
e58b37b verified
Raw
History Blame Contribute Delete
1.33 kB
import os
import gradio as gr
from openai import OpenAI
client = OpenAI(
base_url="https://router.huggingface.co/v1",
api_key=os.environ["HF_TOKEN"],
)
MODEL_ID = "zai-org/GLM-4.7-Flash:novita"
def improve(prompt: str) -> str:
prompt = prompt.strip()
if not prompt:
return "Please enter a prompt."
try:
completion = client.chat.completions.create(
model=MODEL_ID,
messages=[
{
"role": "system",
"content": (
"You are a prompt engineer. Rewrite user prompts to be clearer, "
"more detailed, and more effective for AI models. Keep the same intent."
),
},
{
"role": "user",
"content": prompt,
},
],
max_tokens=160,
temperature=0.5,
)
return completion.choices[0].message.content
except Exception as e:
return f"Error from model: {e}"
def app():
return gr.Interface(
fn=improve,
inputs=gr.Textbox(lines=3, label="Enter a prompt to improve"),
outputs=gr.Textbox(label="Improved prompt"),
title="Chapter 2 – Prompt Improver (HF Router + OpenAI client)",
)