Story Teller 是一款 Streamlit 应用程序,可根据输入图像生成故事。它利用 Hugging Face Transformers 库和 Salesforce BLIP 图像字幕模型。
要安装必要的依赖项,请运行以下命令:
pip install -r requirements.txt
确保您具有在requirements.txt
文件中指定的所需依赖项。
要使用该应用程序,请按照以下步骤操作:
通过执行以下命令来运行 Streamlit 应用程序:
streamlit run app.py
通过控制台中提供的 URL 访问应用程序。
应用程序界面将出现,标题为“讲故事的人”,并显示“上传图像并获取故事”的说明。
单击“在此处上传您的文件...”按钮选择图像文件(支持的格式:PNG、JPEG、JPG)。
图片上传后,就会显示在页面上。
该应用程序将使用 Salesforce BLIP 图像字幕模型处理上传的图像,并生成图像的文本描述。
然后生成的文本将被传递到 Hugging Face API,以根据文本生成故事。
应用程序将在页面上显示生成的故事。
如果过程中出现错误,页面会显示错误信息,您可以重试。
该应用程序需要 Hugging Face 的 API 令牌才能访问故事生成模型。要获取 API 令牌,请执行以下步骤:
在 https://huggingface.co/ 上注册或登录您的 Hugging Face 帐户。
登录后,转到您的帐户设置并导航至“API 令牌”部分。
生成一个新的 API 令牌,复制它,并将text_model.py
的Models
类中的"your api key"
占位符替换为您的实际 API 令牌。
text_model.py
中的Models
类封装了应用程序的功能。它包含以下方法:
__init__()
:
img2text(url)
:
story(payload)
:
chain(payload, num=0)
:
story()
方法并更新有效负载,直到生成所需数量的故事(在本例中为50)。进度条也会相应更新。 如果您好奇并且只想尝试后端模型,请执行以下命令:
python text_model.py
确保您已安装所需的依赖项,如安装部分中所述。
欢迎为 Story Teller 应用程序做出贡献!如果您发现任何问题或有改进建议,请随时提出问题或提交拉取请求。