Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -4,10 +4,10 @@ from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
|
|
| 4 |
|
| 5 |
### Model Setup ###
|
| 6 |
# Names for the two models
|
| 7 |
-
LLAMA_MODEL_NAME = "meta-llama/Llama-3.
|
| 8 |
QWEN_MODEL_NAME = "Qwen/Qwen2.5-VL-7B-Instruct"
|
| 9 |
|
| 10 |
-
# Load Meta-Llama
|
| 11 |
llama_tokenizer = AutoTokenizer.from_pretrained(LLAMA_MODEL_NAME)
|
| 12 |
llama_model = AutoModelForCausalLM.from_pretrained(LLAMA_MODEL_NAME, device_map="auto")
|
| 13 |
llama_pipe = pipeline(
|
|
@@ -29,7 +29,6 @@ def generate_response(prompt: str, model_choice: str) -> str:
|
|
| 29 |
"""
|
| 30 |
Given a prompt and a model choice, generate a response.
|
| 31 |
"""
|
| 32 |
-
# Parameters can be tuned as needed.
|
| 33 |
kwargs = {
|
| 34 |
"max_length": 256,
|
| 35 |
"do_sample": True,
|
|
@@ -45,9 +44,8 @@ def generate_response(prompt: str, model_choice: str) -> str:
|
|
| 45 |
|
| 46 |
def chat_logic(user_input: str, chat_history: list):
|
| 47 |
"""
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
or not) and appends the response to the chat history.
|
| 51 |
"""
|
| 52 |
if chat_history is None:
|
| 53 |
chat_history = []
|
|
@@ -70,7 +68,7 @@ def chat_logic(user_input: str, chat_history: list):
|
|
| 70 |
else:
|
| 71 |
selected_model = random.choice(["Llama", "Qwen"])
|
| 72 |
|
| 73 |
-
#
|
| 74 |
prompt = ""
|
| 75 |
for speaker, message in chat_history:
|
| 76 |
prompt += f"{speaker}: {message}\n"
|
|
@@ -85,10 +83,10 @@ def chat_logic(user_input: str, chat_history: list):
|
|
| 85 |
|
| 86 |
### Gradio Interface ###
|
| 87 |
with gr.Blocks() as demo:
|
| 88 |
-
gr.Markdown("# Group Chat: Meta-Llama and Qwen Models")
|
| 89 |
gr.Markdown(
|
| 90 |
-
"This
|
| 91 |
-
"Leave the
|
| 92 |
"or type a message to interject (a random model will then respond)."
|
| 93 |
)
|
| 94 |
|
|
@@ -106,7 +104,7 @@ with gr.Blocks() as demo:
|
|
| 106 |
# Maintain the conversation history in Gradio's state.
|
| 107 |
state = gr.State([])
|
| 108 |
|
| 109 |
-
#
|
| 110 |
send_btn.click(
|
| 111 |
fn=chat_logic,
|
| 112 |
inputs=[user_message, state],
|
|
|
|
| 4 |
|
| 5 |
### Model Setup ###
|
| 6 |
# Names for the two models
|
| 7 |
+
LLAMA_MODEL_NAME = "meta-llama/Llama-3.2-11B-Vision"
|
| 8 |
QWEN_MODEL_NAME = "Qwen/Qwen2.5-VL-7B-Instruct"
|
| 9 |
|
| 10 |
+
# Load Meta-Llama Vision model
|
| 11 |
llama_tokenizer = AutoTokenizer.from_pretrained(LLAMA_MODEL_NAME)
|
| 12 |
llama_model = AutoModelForCausalLM.from_pretrained(LLAMA_MODEL_NAME, device_map="auto")
|
| 13 |
llama_pipe = pipeline(
|
|
|
|
| 29 |
"""
|
| 30 |
Given a prompt and a model choice, generate a response.
|
| 31 |
"""
|
|
|
|
| 32 |
kwargs = {
|
| 33 |
"max_length": 256,
|
| 34 |
"do_sample": True,
|
|
|
|
| 44 |
|
| 45 |
def chat_logic(user_input: str, chat_history: list):
|
| 46 |
"""
|
| 47 |
+
Build the conversation prompt from the history, decide which model responds,
|
| 48 |
+
and update the conversation.
|
|
|
|
| 49 |
"""
|
| 50 |
if chat_history is None:
|
| 51 |
chat_history = []
|
|
|
|
| 68 |
else:
|
| 69 |
selected_model = random.choice(["Llama", "Qwen"])
|
| 70 |
|
| 71 |
+
# Construct the conversation prompt.
|
| 72 |
prompt = ""
|
| 73 |
for speaker, message in chat_history:
|
| 74 |
prompt += f"{speaker}: {message}\n"
|
|
|
|
| 83 |
|
| 84 |
### Gradio Interface ###
|
| 85 |
with gr.Blocks() as demo:
|
| 86 |
+
gr.Markdown("# Group Chat: Meta-Llama Vision and Qwen Models")
|
| 87 |
gr.Markdown(
|
| 88 |
+
"This demo allows two models to converse with each other. "
|
| 89 |
+
"Leave the textbox blank to let the models continue the conversation automatically, "
|
| 90 |
"or type a message to interject (a random model will then respond)."
|
| 91 |
)
|
| 92 |
|
|
|
|
| 104 |
# Maintain the conversation history in Gradio's state.
|
| 105 |
state = gr.State([])
|
| 106 |
|
| 107 |
+
# Update the chat when the send button is clicked.
|
| 108 |
send_btn.click(
|
| 109 |
fn=chat_logic,
|
| 110 |
inputs=[user_message, state],
|