Spaces:
Runtime error
Runtime error
import gradio as gr | |
import requests | |
import json | |
def http_bot(prompt, history, system_prompt, endpoint_url): | |
# Initialize the formatted_chat string with the system prompt | |
formatted_chat = f"{system_prompt}\n" | |
# Append previous history if available | |
if history: | |
for user_text, assistant_text in history: | |
formatted_chat += f"USER: {user_text}\nASSISTANT: {assistant_text}\n" | |
# Add the current prompt and assistant placeholder | |
formatted_chat += f"USER: {prompt}\nASSISTANT: " | |
print(formatted_chat) | |
headers = {"User-Agent": "vLLM Client"} | |
pload = { | |
"prompt": formatted_chat, | |
"stream": True, | |
"max_tokens": 3000, | |
} | |
response = requests.post(endpoint_url, | |
headers=headers, | |
json=pload, | |
stream=True) | |
for chunk in response.iter_lines(chunk_size=8192, | |
decode_unicode=False, | |
delimiter=b"\0"): | |
if chunk: | |
data = json.loads(chunk.decode("utf-8")) | |
output = data["text"][0] | |
yield output[len(formatted_chat):] | |
with gr.Blocks(theme=gr.themes.Soft(), title="DanskGPT") as demo: | |
gr.Markdown("# DanskGPT") | |
gr.Markdown("Et dansk alternativ til ChatGPT der kører lokalt.") | |
system_prompt = gr.Textbox(value="Du er en hjælpsom dansk AI-assistent. Dit job er at svare på brugerens forespørgsel. Hvis du ikke kender svaret, skal du sige det i stedet for at videregive falsk information.", | |
label="System besked") | |
endpoint_url = gr.Textbox(label="Endpoint url", value="https://tgmzp270z5de7f-8000.proxy.runpod.net/generate", render=False) | |
gr.ChatInterface( | |
http_bot, | |
additional_inputs=[system_prompt, endpoint_url], | |
clear_btn=None, | |
undo_btn=None, | |
retry_btn=None, | |
submit_btn="Send", | |
) | |
gr.Markdown("Version 1 - chatmodel trænet på data op til 31-06-2023.") | |
gr.Markdown("Lavet af Mads Henrichsen - Kontakt: mads.gade.henrichsen@live.dk") | |
gr.Markdown("Bemærk: DanskGPT producerer ikke nødvendigvis sandfærdig information - der er en ny model på vej der er meget bedre til dette.") | |
demo.queue(concurrency_count=100).launch(share=True) | |