test / app.py
monster119120's picture
Update app.py
fc99228 verified
raw
history blame
1.27 kB
import streamlit as st
from transformers import pipeline
# 初始化视觉问题回答和文本到语音的管道
# 这里需要替换为你自己的模型,如果使用默认模型则可以省略 model 参数
vqa_pipeline = pipeline("visual-question-answering")
tts_pipeline = pipeline("text-to-speech")
def main():
# 设置 Streamlit 应用的标题
st.title("Visual Question Answering & Text-to-Audio App")
# 上传图片的 UI 组件
image = st.file_uploader("Upload an image", type=["jpg", "png"])
question = st.text_input("Enter your question")
# 当用户上传图片和输入问题后处理
if image and question:
# 对用户上传的图片和问题进行视觉问题回答
vqa_result = vqa_pipeline({"image": image, "question": question})
answer = vqa_result['answer'] # 获取回答
st.write(f"Answer: {answer}") # 显示回答
# 将回答转换为语音
if st.button("Convert Answer to Audio"):
tts_result = tts_pipeline(answer)
audio_data = tts_result['audio'] # 获取音频数据
# 创建一个音频播放器,让用户可以听到回答
st.audio(audio_data, format="audio/ogg")
if __name__ == "__main__":
main()