Spaces:
Running
Running
import os | |
import gradio as gr | |
from openai import OpenAI | |
# Load system prompt from environment variable | |
SYSTEM_PROMPT = os.getenv("SYSTEM_PROMPT") | |
# Initialize client | |
client = OpenAI( | |
base_url="http://soggy-sage-goat-8000.1.cricket.hyperbolic.xyz:30000/v1/", | |
api_key="hyperbolic" | |
) | |
def predict(message, history): | |
# If history is empty, insert the system prompt | |
if not any(msg["role"] == "system" for msg in history): | |
history.insert(0, {"role": "system", "content": SYSTEM_PROMPT}) | |
history.append({"role": "user", "content": message}) | |
stream = client.chat.completions.create( | |
messages=history, | |
model="meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", | |
stream=True | |
) | |
chunks = [] | |
for chunk in stream: | |
chunks.append(chunk.choices[0].delta.content or "") | |
yield "".join(chunks) | |
demo = gr.ChatInterface( | |
fn=predict, | |
type="messages", | |
chatbot=gr.Chatbot( | |
type="messages", | |
label="๐ACC Emulect+๐", | |
show_copy_button=True, | |
avatar_images=( | |
"https://huggingface.co/spaces/TejAndrewsACC/Z3ta_Z/resolve/main/Screenshot_20250201-131420.png", | |
"https://huggingface.co/spaces/TejAndrewsACC/Z3ta_Z/resolve/main/Screenshot_20250201-131420.png" | |
), | |
placeholder="๐Hi, I'm ACC Emulect+๐", | |
), | |
theme="TejAndrewsACC/Emulect", | |
) | |
if __name__ == "__main__": | |
demo.launch(share=True) | |