上传一张照片,用ernie-bot生成专属于你的小故事!
此项目主要使用clip_interrogator获取图片的关键信息,然后将此关键信息用百度翻译API翻译成中文后,使用封装了⼀⾔API的Ernie Bot SDK(ernie-bot)生成故事,最后使用百度智能云长文本合成语音API。
%cd ~/launch
!pip install -r requirements.txt --user
!wget https://paddlenlp.bj.bcebos.com/models/community/Salesforce/blip-image-captioning-large/data.zip
# 将data文件解压至clip_interrogator目录下
!unzip -d /home/aistudio/launch/clip_interrogator data.zip
Clip Interrogator是一个提示工程工具,结合了OpenAI的CLIP和Salesforce的BLIP,用于优化文本提示。它可以根据给定的图像和文本生成提示,以帮助用户更好地理解和编辑图像。Clip Interrogator还提供了一些选项,如更改提示、调整强度等,使用户能够更好地控制生成的结果。此外,Clip Interrogator还支持多种语言,包括中文。要使用Clip Interrogator,用户需要先安装Python和必要的库,并按照说明进行操作。
from PIL import Image
from clip_interrogator import Config, Interrogator
image_path = '/home/aistudio/launch/images/test02.jpg'
image = Image.open(image_path).convert('RGB')
ci = Interrogator(Config(clip_pretrained_model_name_or_path="openai/clip-vit-large-patch14"))
print(ci.interrogate_fast(image))
a girl is taking a selfie in a mirror, ulzzang, korean woman, korean girl, beautiful south korean woman, popular korean makeup, short flat hourglass slim figure, female actress from korea, korean face features, streaming on twitch, feminine slim figure, beautiful young korean woman, elegant high quality, photo of slim girl, girl silver ponytail hair
要使用百度翻译API,您需要先在百度翻译官网上注册并获取API密钥。以下是使用百度翻译API的步骤:
请注意,在使用API之前,您需要了解API的使用规则和限制,以避免滥用和违反相关法规。此外,您还需要根据API文档中的说明,编写相应的代码来调用API。
import requests
import random
import json
from hashlib import md5
# 可以更换为你自己的appid/appkey.
appid = '20230805001770257'
appkey = '10MxfKpV0a5qT9s6fXt1'
# 如果需要更多语言的互译,请阅读以下地址 `https://api.fanyi.baidu.com/doc/21, 获取更多信息。`
from_lang = 'en'
to_lang = 'zh'
endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path
# Generate salt and sign
def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest()
def translate(query)