只需三步,开发文心一言应用帮你建立情感纽带!

这篇具有很好参考价值的文章主要介绍了只需三步,开发文心一言应用帮你建立情感纽带!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本期文心开发者说邀请到飞桨开发者技术专家李龙老师,分享自己与文心一言之间的故事,故事从一个应用——“文心一言情感关怀之旅”开始。本期分享将从应用介绍、技术路径拆解以及如何实现功能的应用三个方面,对“文心一言情感关怀之旅”应用进行详细的讲解。作者希望通过本项目探讨如何用文心一言做好情感关怀,让AI更有温度。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

在飞桨星河社区,我曾经开发过的四个应用。第一个,文心一言情感关怀之旅;第二个,一站式求职小助理,提供职业发展规划、简历生成、简历匹配和面试问题推荐等服务,为求职者带来便利,提高求职的针对性和成功率;第三和第四个应用分别是AI艺术二维码的生成和AI艺术字与logo生成,这些都应用了PPDiffusers中的Stable Diffusion和ControlNet技术,可以个性化生成个人艺术二维码以及更美观的AI艺术字和logo;此外,用户还可以加入自己的创意,打造个人独特标识。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

本次主要分享“文心一言情感关怀之旅”应用的开发心得和技术路线。

“文心一言情感关怀之旅”是什么?

应用介绍

“文心一言情感关怀之旅”本质是一个创新性人工智能应用,旨在通过图像信息提取、大语言模型生成和语音合成等技术为用户提供情感支持和温暖的故事体验。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

在现代社会中,人们常常会感到孤独、压力和困惑。尤其是在面对工作、学习和生活中的挑战时,很多人缺乏情感上的支持和鼓励。通过人工智能技术的应用,“文心一言情感关怀之旅”应用旨在为用户提供温暖、慰藉和希望。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

应用价值

情感支持与慰藉

该应用致力于为用户提供情感支持和慰藉。通过提供温暖的故事,并以富有感情的声线读出,帮助用户减轻压力和焦虑,舒缓孤独感和抑郁情绪,保持积极的情感状态和健康的心理状态。

社交互动和情感共享

“文心一言情感关怀之旅”应用不仅为个体提供情感支持,还能鼓励用户之间的社交互动。用户可以通过分享故事和体验与他人交流,建立情感纽带,从而感受互助和合作的力量,增强社会联结。

技术应用创新

“文心一言情感关怀之旅”项目在人工智能和情感关怀领域进行了技术创新。该项目通过整合图像处理、自然语言生成和语音合成等技术,为人工智能技术在情感关怀方面的应用拓展了新的可能性,为相关领域的发展做出了贡献。

应用亮点

图像关键信息提取

该应用采用CLIP和BLIP模型进行图像关键信息提取。这两个模型能够结合图像处理和语言理解的能力,准确提取上传图片中的关键信息,包括场景、人物、物品等,为后续故事生成和语音合成提供可靠基础。

情感故事生成

该应用通过调用ERNIE SDK,充分利用文心大模型能力,生成富有情感和温暖的故事。文心大模型具备学习和模仿文学作品风格的能力,能够根据关键信息创作出打动人心的故事,给用户以积极向上的情感支持。

自然语音合成

情感关怀是多个维度的,多模态技术的利用可以让情感关怀拓展到视觉、听觉等多个形态,让情感关怀更加生动。该应用通过语音合成技术,将生成的故事转化为自然流畅的语流,使用户能够通过听故事的方式,沉浸式地感受AI的温暖与关怀。

“文心一言情感关怀之旅”怎么做?

技术全景

在介绍具体步骤之前,我们先总体了解一下该应用是如何实现的。首先,通过图像理解大模型CLIP和BLIP对用户输入的场景图像进行理解,获得图像中的关键信息,如场景、人物等。用户也可以手动添加关键信息,或者对模型输出的关键信息进行修正和优化。通过百度翻译API将所获得的关键信息进行翻译为中文。接着,使用ERNIE SDK调用文心大模型能力,获得图像关键信息,生成合乎逻辑、适用于不同年龄段、不同兴趣受众的生动且正能量的精彩故事。最后,使用长文本语音合成API完成对生成故事的语音合成,提供多种语音角色,满足不同受众需求。总的来说,整个过程分为图片关键信息提取、故事生成和语音合成三个步骤。除此之外,凭借ERNIE SDK提供的文生图功能,还可以对用户提供的图片进行二次创作。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

技术路径

接下来,我们看一下这个应用的几个功能具体是怎么实现的。打开飞桨星河社区,点击项目进行Fork,就可以运行里面的代码了。首先,需要配置项目的环境。在项目对应模块点击运行,就可以进行一键安装和配置。

图片关键信息提取

第一步,对进行图像中关键信息的提取。这一步需要用到CLIP Interrogator。CLIP Interrogator 是一个提示工程工具,结合了OpenAI的CLIP和Salesforce的BLIP,用于优化文本提示。它可以根据给定的图像和文本生成提示,帮助用户更好地理解和编辑图像。此外,CLIP Interrogator还提供了一些选项,如更改提示、调整强度等,使用户能更好地控制生成的结果。运行下列这段代码,即可进行这一图像的输出。

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))

使用CLIP Interrogator从图像中得到的关键信息是英文的,而文心大模型更擅长处理中文。因此,为了提升最终的处理效果,调用百度翻译API对英文关键词进行翻译。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据
大家可以根据我所罗列的一些步骤调用百度翻译API。

百度翻译API:开发者只需传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言,即可得到相应的翻译结果。

故事生成

第二步,使用ERNIE SDK进行故事生成。文心大模型基于海量的中文数据训练,具有强大的对话问答、内容创作生成等能力。相较于其他大模型,其具有更快的响应速度和更丰富的功能。ERNIE SDK集成文心大模型能力,可用于开发各种自然语言处理应用,例如智能客服、聊天机器人、外语翻译器等。使用ERNIE SDK,开发者可以轻松地构建出高效、稳定、可靠的自然语言处理应用。

import erniebot as eb
# 创建单轮对话
eb.api_type = 'aistudio'
eb.access_token = "ebe9194da1106097f52ada09cb403b91546648ca"
audience = '成人'
prompt = f"""我给你一个简单的图片说明,请为{audience}观众生成一个与图片非常吻合的虚构故事。请为我生成有创意,正能量并且符合{audience}观众价值观和个人情感的很酷的虚构故事。图片描述如下:'{result_zh}'"""
def generate(prompt):
chat_completion = eb.ChatCompletion.create(
model='ernie-4',
messages=[{'role': 'user', 'content':prompt}],
)
return chat_completion.result
generate(prompt)

语音合成

第三步,通过调用语音合成API,将文本合成为自然流畅的语音,从而为用户提供更加丰富的语音交互体验。

import requests
import json
from bs4 import BeautifulSoup
import time  


def get_access_token(api_key, secrte_key):
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": api_key, "client_secret": secrte_key}
    return str(requests.post(url, params=params).json().get("access_token"))

# 创建词典数据  
data = {  
    "度小宇": 1,  
    "度小美": 0,  
    "度逍遥(基础)": 3,  
    "度丫丫": 4,  
    "度逍遥(精品)": 5003,  
    "度小鹿": 5118,  
    "度博文": 106,  
    "度小童": 110,  
    "度小萌": 111,  
    "度米朵": 103,  
    "度小娇": 5  
}  

# 定义处理函数,根据选择按钮的值返回对应的词典数据  
def handle_selection(key):  
    return data[key]

def get_taskid(api_key, secrte_key, prompt, voice, speed, pitch, volume):

    create_url = "https://aip.baidubce.com/rpc/2.0/tts/v1/create?access_token=" + get_access_token(api_key, secrte_key)
    create_payload = json.dumps({
        "text": prompt,                #待合成的文本
        "format": "wav",                      #音频格式
        "voice": handle_selection(voice),   #音库
        "lang": "zh",                           #语言,固定zh
        "speed": speed,                             #语速
        "pitch": pitch,                              #音调
        "volume": volume,                          #音量
        "enable_subtitle": 2,           #是否开启字幕时间戳,取值范围0, 1, 2
        "break": 5000                      #段落间隔
    })
    create_headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }

    create_response = requests.request("POST", create_url, headers=create_headers, data=create_payload)
    create_data = json.loads(create_response.text) 
    task_id = create_data['task_id']
    # print(task_id)

    # with open("task_id.txt", "w") as file:  
    #     # 清空文件内容  
    #     # file.truncate(0)  
    #     # 将task_id写入文件  
    #     file.write(task_id)

    return task_id

def get_speechurl(api_key, secrte_key, prompt, voice, speed, pitch, volume):  

    query_url = "https://aip.baidubce.com/rpc/2.0/tts/v1/query?access_token=" + get_access_token(api_key, secrte_key)  

    task_id = get_taskid(api_key, secrte_key, prompt, voice, speed, pitch, volume)  

    query_payload = json.dumps({  
        "task_ids": [  
            task_id #create获取的task_id  
        ]  
    })  
    query_headers = {  
        'Content-Type': 'application/json',  
        'Accept': 'application/json'  
    }  

    # 循环检查任务状态,直到任务成功  
    while True:  
        query_response = requests.request("POST", query_url, headers=query_headers, data=query_payload)  
        query_data = json.loads(query_response.text)  
        print(query_data)  

        # 检查任务状态  
        if query_data['tasks_info'][0]['task_status'] == 'Success':  
            speech_url = query_data['tasks_info'][0]['task_result']['speech_url'] 
            return speech_url
            break  


def exchange_speech(api_key, secrte_key, prompt, voice, speed, pitch, volume):

    speech_url = get_speechurl(api_key, secrte_key, prompt, voice, speed, pitch, volume)

    html = f'''
    <video controls="" autoplay="" name="media">
    <source src={speech_url} type="audio/x-wav">
    </video>  
    '''

    # 使用 BeautifulSoup 提取音频 URL
    soup = BeautifulSoup(html, 'html.parser')
    audio_url = soup.find('source')['src']

    # 使用 requests 下载音频文件
    response = requests.get(audio_url)
    filename = "output_audio.wav"

    # 保存至本地文件
    with open(filename, 'wb') as audio_file:
        audio_file.write(response.content)

return f"{filename}"

“文心一言情感关怀之旅”怎么用?

接下来,我将一步步带大家体验这一应用,探索各个功能是如何实现的。点击任意一个example,实现API_KEY、SECRTE_KEY和图片自动填充。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

当然,也可以自主上传图片;通过选择儿童、成人或者老人等目标受众,生成相应的内容。在此过程中,我们还可以选择想要的语音形态,包括语速、音量等,设置完毕后就可以进行睡前故事体验。

只需三步,开发文心一言应用帮你建立情感纽带!,开发者说,文心一言,人工智能,大数据

大概30秒就能生成中文或英文的故事,并以匹配的语音输出。用户可以通过输入图片、关键词完成故事创作,文心一言会根据图片和关键词生成一个富有创意、正能量的故事,符合所选受众的价值观以及个人情感需求。除此之外,生成的文字性内容也可以转换为语音、视频。

“文心一言情感关怀之旅”应用的下一个目标是把故事中的场景转换为看得见、摸得着的虚拟场景,真正能够在实际生活中使用,为人们提供一些情感知识,让AI更有温度,更透彻地理解人们想要表达的内容。大家可以进行更深入的探索,在配置基础上进行完善;也可以在我的应用或项目下面评论,建言献策,我将尽力完善应用,真正做到使个人情感与文心一言结合,为社会带来价值。文章来源地址https://www.toymoban.com/news/detail-809212.html

到了这里,关于只需三步,开发文心一言应用帮你建立情感纽带!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文心一言接入Promptulate,开发复杂LLM应用程序

    最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层开发的大部分常用组件,如外部工具组件、模型组件

    2024年02月10日
    浏览(42)
  • 只需三步,完美卸载Docker

    背景:因为网络安全问题,Docker存在重大安全漏洞,安全组要求卸载Docker,下面就分享卸载额步骤。 1,删除docker所在目录 rm -rf /etc/docker rm -rf /run/docker rm -rf /var/lib/dockershim rm -rf /var/lib/docker 2,Kill掉Docker进程 ps -ef|grep docker kill -9 pid 3,卸载docker相关包 查看相关包 yum list inst

    2024年02月02日
    浏览(23)
  • 只需三步,教你搭建一个进销存管理系统!

    如果你常常面临: 进销存软件功能不全、功能冗余、价格昂贵,性价比不高的情况—— 可以考虑使用【零代码搭建】了! 在简道云可以根据自身需求快速搭建出进销存管理系统。相比较其他标准进销存软件,用简道云搭建进销存具备以下优势: 功能灵活: 可以对进销存模

    2024年02月06日
    浏览(67)
  • (只需三步)如何用chatgpt自动生成思维导图

    目录 chatgpt是可以生成思维导图的!只需三步,非常简单!         第一步:打开chatgpt,告诉它主题         第二步,完善思维导图         第三步:查看思维导图的效果  先给大家看看生成效果: 上图就是由chatgpt生成的思维导图, 是不是很清晰好看哈哈哈 接下

    2024年02月05日
    浏览(34)
  • 只需三步,本地打造自己的AI个人专属知识库

    本文会手把手教你如何部署本地大模型以及搭建个人知识库,使用到的工具和软件有 Ollama Open WebUI Docker AnythingLLM 本文主要分享三点 如何用Ollama在本地运行大模型 使用现代Web UI和本地大模型\\\"聊天\\\" 如何打造完全本地化的知识库:Local RAG 读完本文,你会学习到 如何使用最好用

    2024年04月27日
    浏览(32)
  • Stable Diffusion云端部署只需三步, 不吃电脑配置, 模型快速部署

    牙叔教程 简单易懂 我是小白, 小白跟我一步一步做就可以了, 鼠标点两下就OK了, 学点新东西, 好吗? 不想学的就走吧, 离我远点. Stable diffusion是一个基于Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。具体来说,得益于Stability AI的计算资源支持和LAIO

    2024年02月08日
    浏览(54)
  • NetSuite 文心一言(Ernie)的AI应用

    有个故事,松下幸之助小时候所处的年代是明治维新之后,大量引用西洋技术的时期。当时大家对“电”能干什么事,充满好奇。“电能干什么?它能帮我们开门么?” 松下幸之助的爷爷对电不屑,于是就问他。松下幸之助的回答是“也许可以,虽然不知道该怎么干。总要试

    2024年01月23日
    浏览(30)
  • 揭秘百度文心一言大模型:设计、应用与实战

    导言 在当今的深度学习领域,大型预训练模型如GPT、BERT等已经取得了显著的进展。而百度公司的文心一言大模型,作为一款基于Transformer结构的巨型模型,也在自然语言处理领域产生了重大影响。本文将详细介绍文心一言大模型的设计原理、特点以及应用场景,并通过实战案

    2024年02月08日
    浏览(34)
  • 百度文心一率先言向全社会开放 应用商店搜“文心一言”可直接下载

    8月31日,文心一言率先向全社会全面开放。广大用户可以在应用商店下载“文心一言APP”或登陆“文心一言官网”(https://yiyan.baidu.com) 体验。同时,企业用户可以直接登录百度智能云千帆大模型平台官网,调用文心一言能力。 据悉,百度还将开放一批经过全新重构的AI原生

    2024年02月10日
    浏览(77)
  • 如何用文心一言开发前端代码

    随着chatGPT的火爆,大家越来越认识到到语言大模型的潜力,国内的类chatGPT的生成式语言大模型(LLM)也如雨后春笋般冒出来。 如今大家都在探索各种prompt的技巧,其实从我个人看来,LLM其实也是一种检索模型,只不过它的检索粒度更加细致,更加语义化,尽管如此,现如今

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包