# Inference import gradio as gr from huggingface_hub import InferenceClient model = "google/gemma-2-27b-it" client = InferenceClient(model) def fn_text( prompt, history, system_prompt, max_tokens, temperature, top_p, ): #messages = [{"role": "user", "content": prompt}] #history.append(messages[0]) messages = [{"role": "system", "content": system_prompt}] history.append(messages[0]) messages.append({"role": "user", "content": prompt}) history.append(messages[1]) stream = client.chat.completions.create( model = model, messages = history, max_tokens = max_tokens, temperature = temperature, top_p = top_p, stream = True ) chunks = [] for chunk in stream: chunks.append(chunk.choices[0].delta.content or "") yield "".join(chunks) app_text = gr.ChatInterface( fn = fn_text, type = "messages", additional_inputs = [ gr.Textbox(value="You are a helpful assistant.", label="System Prompt"), gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max Tokens"), gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"), gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-P"), ], title = "Google Gemma", description = model, ) app = gr.TabbedInterface( [app_text], ["Text"] ).launch() #if __name__ == "__main__": # app.launch() """ # Inference import gradio as gr from huggingface_hub import InferenceClient model = "google/gemma-2-27b-it" #model = "google/gemma-2-9b-it" #model = "google/gemma-2-2b-it" client = InferenceClient(model) def fn( message, history: list[tuple[str, str]], #system_message, max_tokens, temperature, top_p, ): #messages = [{"role": "system", "content": system_message}] messages = [] for val in history: if val[0]: messages.append({"role": "user", "content": val[0]}) if val[1]: #messages.append({"role": "assistant", "content": val[1]}) messages.append({"role": "bot", "content": val[1]}) messages.append({"role": "user", "content": message}) response = "" for message in client.chat_completion( messages, max_tokens = max_tokens, temperature = temperature, top_p = top_p, stream = True, ): token = message.choices[0].delta.content response += token yield response app = gr.ChatInterface( fn = fn, #type = "messages", additional_inputs = [ #gr.Textbox(value="You are a helpful assistant.", label="System Message"), gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max Tokens"), gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"), gr.Slider(minimum=0.1, maximum=1.0, value=0.95, step=0.05, label="Top-P"), ], title = "Google Gemma", description = model, ) if __name__ == "__main__": app.launch() # Pipeline import gradio as gr from transformers import pipeline pipe = pipeline(model = "google/gemma-2-2b-it") def fn(input): output = pipe( input, max_new_tokens = 2048 ) return output[0]["generated_text"]#[len(input):] app = gr.Interface( fn = fn, inputs = [gr.Textbox(label = "Input")], outputs = [gr.Textbox(label = "Output")], title = "Google Gemma", description = "Pipeline", examples = [ ["Hello, World."] ] ).launch() """