Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig | |
from peft import PeftModel | |
# Load the tokenizer and model | |
model_name = "JuliaUpton/Math_AI" | |
model_architecture = "mistralai/Mixtral-8x7B-Instruct-v0.1" | |
mixtral_tokenizer = AutoTokenizer.from_pretrained(model_architecture) | |
mixtral_config = AutoConfig.from_pretrained(model_architecture, trust_remote_code=True) | |
merged_model = PeftModel.from_pretrained(model_name, model=AutoModelForCausalLM.from_pretrained(model_architecture, config=mixtral_config, trust_remote_code=True, device_map="auto")) | |
# Define the input formatting function | |
def input_from_text(instruction): | |
return f"<s>[INST]Below is a math inquiry, please answer it as a math expert showing your thought process.\n\n### Inquiry:\n{instruction}\n\n### Response:[/INST]" | |
# Define the inference function | |
def make_inference(instruction): | |
inputs = mixtral_tokenizer(input_from_text(instruction), return_tensors="pt") | |
outputs = merged_model.generate( | |
**inputs, | |
max_new_tokens=150, | |
generation_kwargs={"repetition_penalty": 1.7} | |
) | |
result = mixtral_tokenizer.decode(outputs[0], skip_special_tokens=True).split("[/INST]")[1] | |
return result | |
# Create a Gradio interface | |
inputs = gr.inputs.Textbox(label="Enter your math question") | |
outputs = gr.outputs.Textbox(label="Response") | |
examples = [ | |
["What is the square root of 64?"], | |
["Simplify: (3x^2 + 4x - 7) - (2x^2 - 3x + 5)"], | |
["Find the derivative of f(x) = 3x^3 - 2x^2 + 5x - 1"] | |
] | |
# Launch the interface | |
iface = gr.Interface( | |
fn=make_inference, | |
inputs=inputs, | |
outputs=outputs, | |
title="Math Inquiry Answering", | |
description="Enter a math question and get a response with an explanation.", | |
examples=examples | |
) | |
iface.launch() |