Spaces:
Running
Running
File size: 2,822 Bytes
7b4d2d2 450c82c 0712223 7b4d2d2 0712223 7b4d2d2 0712223 7b4d2d2 f5bae26 7b4d2d2 8486464 7b4d2d2 450c82c 7b4d2d2 0712223 7b4d2d2 0712223 7b4d2d2 8486464 7b4d2d2 f5bae26 7b4d2d2 0712223 450c82c 0712223 7b4d2d2 0712223 7b4d2d2 f5bae26 0712223 7b4d2d2 0712223 7b4d2d2 0712223 450c82c 7b4d2d2 |
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 |
import gradio as gr
from openai import OpenAI
import os
default_prompt = "The best thing about being a cat is"
def generate_completion(api_key, prompt, temperature, repetition_penalty, stop_phrase, max_tokens):
if not api_key:
return "Please enter your OpenRouter API key."
try:
# Initialize the OpenAI client with OpenRouter
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=api_key,
)
completion = client.completions.create(
model="meta-llama/llama-3.1-405b",
prompt=prompt,
temperature=temperature,
frequency_penalty=repetition_penalty,
max_tokens=max_tokens,
stop=[stop_phrase] if stop_phrase else None
)
return completion.choices[0].text.strip()
except Exception as e:
return f"An error occurred: {str(e)}"
def append_completion(prompt, completion):
new_prompt = f"{prompt}{completion}".strip()
return new_prompt, "" # Return new prompt and empty completion
def clear_fields():
return "", ""
with gr.Blocks(theme=gr.themes.Soft()) as iface:
gr.Markdown("# Llama 3.1 405B Completion Interface via OpenRouter")
# API Key input at the top
api_key_input = gr.Textbox(
label="OpenRouter API Key",
type="password",
placeholder="Enter your OpenRouter API key"
)
with gr.Row():
with gr.Column(scale=2):
prompt_input = gr.Textbox(label="Prompt", lines=6, value="The best thing about being a cat is")
with gr.Column(scale=1):
temperature_slider = gr.Slider(minimum=0, maximum=1, value=0.7, step=0.1, label="Temperature")
repetition_penalty_slider = gr.Slider(minimum=0, maximum=2, value=0.1, step=0.1, label="Repetition Penalty")
max_tokens_slider = gr.Slider(minimum=1, maximum=4000, value=250, step=1, label="Max Tokens")
stop_phrase_input = gr.Textbox(label="Stop Phrase", placeholder="Enter stop phrase (optional)")
with gr.Row():
generate_button = gr.Button("Generate Completion")
append_button = gr.Button("Append Completion to Prompt")
clear_button = gr.Button("Clear All Fields")
output_text = gr.Textbox(label="Generated Completion", lines=10)
generate_button.click(
generate_completion,
inputs=[api_key_input, prompt_input, temperature_slider, repetition_penalty_slider, stop_phrase_input, max_tokens_slider],
outputs=output_text
)
append_button.click(
append_completion,
inputs=[prompt_input, output_text],
outputs=[prompt_input, output_text]
)
clear_button.click(
clear_fields,
outputs=[prompt_input, output_text]
)
iface.launch(share=True)
|