Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| def build_pipeline(text : str, model : str): | |
| st.text(f"Using model {model}") | |
| classifier = pipeline(task=text, model=model) | |
| return classifier | |
| st.header('Pipeline Examples', divider='rainbow') | |
| st.subheader('Enter some text to demonstrate different pipeline/model analysis', divider='grey') | |
| option = st.selectbox('Select model task:', ('sentiment-analysis', 'summarization', 'text-generation', 'translation', 'zero-shot-classification')) | |
| text = st.text_area('Text to analyse:', "Star Trek Enterprise follows the adventures of the crew of the first starship Enterprise, designation NX-01. They are the first deep space explorers in Starfleet, using the first warp five capable vessel. The Vulcans have withheld advanced technology from humanity since their first contact, concerned that humans were not ready for it. This has delayed human space exploration and caused resentment in Starfleet test pilot Jonathan Archer, whose father developed the Warp 5 engine but did not live to see it used.", height=200) | |
| st.write(f'{len(text)} characters') | |
| st.button('Analyse', type='primary') | |
| st.subheader(f'{option}', divider='grey') | |
| output = {} | |
| with st.spinner("Analysing..."): | |
| if option == 'sentiment-analysis': | |
| classifier = build_pipeline(text=option, model='distilbert-base-uncased-finetuned-sst-2-english') | |
| output = classifier(text) | |
| elif option == 'summarization': | |
| classifier = build_pipeline(text=option, model='facebook/bart-large-cnn') | |
| output = classifier(text, min_length=5, max_length=50, do_sample=False) | |
| elif option == 'text-generation': | |
| classifier = build_pipeline(text=option, model='distilgpt2') | |
| output = classifier(text) | |
| elif option == 'zero-shot-classification': | |
| classifier = build_pipeline(text=option, model='distilgpt2') | |
| output = classifier(text, candidate_labels=["space", "dicovery", "humans"]) | |
| elif option == 'translation': | |
| classifier = build_pipeline(text="translation", model='Helsinki-NLP/opus-mt-en-es') | |
| output = classifier(text) | |
| st.success("Complete") | |
| st.json(output) | |