Spaces:
Runtime error
Runtime error
""" | |
Main App | |
""" | |
import streamlit as st | |
from transformers import AutoModelForSeq2SeqLM | |
from src.tokenizers import IndoNLGTokenizer | |
def fetch_tokenizer_model(): | |
""" | |
Fetch tokenizer and model | |
""" | |
tokenizer = IndoNLGTokenizer.from_pretrained("indobenchmark/indobart-v2") | |
model = AutoModelForSeq2SeqLM.from_pretrained("haryoaw/id-recigen-bart") | |
return tokenizer, model | |
tokenizer, model = fetch_tokenizer_model() | |
def predict_recipe(food: str) -> str: | |
""" | |
Predict Ingredients Here! | |
Parameters | |
---------- | |
food: str | |
The food that will be used | |
Returns | |
------- | |
str | |
Return the model here | |
""" | |
inp = tokenizer(food.lower(), return_tensors="pt")["input_ids"] | |
generated = model.generate( | |
inp, max_length=500, do_sample=False, num_beams=10, num_beam_groups=2 | |
) | |
returned_input: str = tokenizer.decode(generated[0], skip_special_tokens=True) | |
returned_input = "\n".join([x.strip() for x in returned_input.split("||")]) | |
return returned_input | |
def create_frontend() -> None: | |
""" | |
Create front end streamlit here | |
""" | |
st.markdown("# Food Ingredients Generator Indonesia Showcase!") | |
st.write("🥑Generate your ingredients here!") | |
with st.form("my_form"): | |
food_name = st.text_input( | |
"Food", value="Nasi Goreng Ayam", help="Input your food here!" | |
) | |
submitted = st.form_submit_button("Submit") | |
if submitted: | |
predicted = predict_recipe(food_name) | |
st.markdown(f"## Bahan ( Ingredients ) `{food_name}`:") | |
st.text(predicted) | |
st.markdown("## Additional Note") | |
st.write( | |
"❗Please note that the model is trained with the food that use:" | |
) | |
for i, ingr in enumerate(("ayam", "tempe", "ikan", "kambing", "telur", "tahu", "sapi")): | |
st.write(f"{i+1}. {ingr}") | |
st.markdown("## Models") | |
st.markdown( | |
"🤗 Huggingface Model: [Link](https://huggingface.co/haryoaw/id-recigen-bart)" | |
) | |
st.write("Thank you 😊") | |
if __name__ == "__main__": | |
create_frontend() | |