google-gemma / app.py
richardkimsm89's picture
Update app.py
4505847 verified
raw
history blame
2.05 kB
"""
# Inference
import gradio as gr
app = gr.load(
"google/gemma-2-2b-it",
src = "models",
inputs = [gr.Textbox(label = "Input")],
outputs = [gr.Textbox(label = "Output")],
title = "Google Gemma",
description = "Inference",
examples = [
["Hello, World."]
]
).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()
"""
import gradio as gr
from huggingface_hub import InferenceClient
import os
# Initialize Hugging Face Inference Client
hf_token = os.getenv("HF_TOKEN")
client = InferenceClient(api_key=hf_token)
# Function to handle user inputs and fetch model responses
def chatbot(input_text, history=[]):
#messages = [{"role": "user", "content": input_text}]
messages = []
for user_input, bot_response in history:
messages.append({"role": "user", "content": user_input})
messages.append({"role": "assistant", "content": bot_response})
messages.append({"role": "user", "content": input_text})
stream = client.chat.completions.create(
model="google/gemma-2-2b-it",
messages=messages,
#temperature=0.5,
#max_tokens=2048,
#top_p=0.7,
stream=True
)
# Concatenate streamed response
bot_response = "".join(chunk.choices[0].delta.content for chunk in stream)
# Update conversation history
history.append((input_text, bot_response))
return bot_response, history
# Gradio Interface
demo = gr.Interface(
fn=chatbot,
inputs=["text", "state"],
outputs=["text", "state"],
title="Gemma Chatbot"
)
# Launch Gradio App
demo.launch()