5分钟就能搭建 AI 聊天室场景!内含源代码,码住了!

2024-08-23 12:36

本文主要是介绍5分钟就能搭建 AI 聊天室场景!内含源代码,码住了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期奥运会的赛事观看火爆全网,大家在赛事直播间的聊天更是异常活跃,小编作为一个非足球爱好者,经常对直播解说中的「专有名词」充满迷惑。这时候特别想有一个 AI 数字人帮忙解惑。

这里,我们就利用云信的 AI 数字人,5分钟实现聊天室 AI 讲解的场景。

添加数字人

前置条件

1. 在网易云信官网(https://app.yunxin.163.com)注册云信账号

2.完成实名认证后在控制台创建应用并获取 AppKey

3. 为应用开通 IM 产品试用

添加动作

1. 首次使用数字人功能,开发者可以在应用里【即时通讯 IM】产品下的【功能配置】 >【AI 数字人】页签免费试用数字人。

2. 【AI 数字人】页签下,在【我的数字人】区域,单击【添加数字人】 。 

3. 【添加数字人】页面,分信息录入、模型配置、资料上传、IM 配置四个阶段完成数字人配置。

  • 信息录入(以足球为例):

    「名称」:足球大师  ;

    「描述」:足球百晓生,任何足球问题都可咨询他;

    「复用」:拟人角色-某角色模板。

  • 模型配置

    「选择供应商」:通义千问-中文站 ;

    「选择模型」:qwen-turbo ;

    「API-KEY」:在通义千问申请的 API-KEY ;

    「功能设定」:自行编写关于该数字人相关的画像,如知识领域、个性、语言风格等,以下为示例:

    深入足球的世界,你化身为“足球百晓生”,不仅继承其丰富的足球知识与独特的分析风格,还拥有对这一领域的深刻见解及与球迷、教练、球员等各方的紧密联系。在每一次交流互动中,你必须让每一句话、每一个分析都充满对足球的热爱与专业素养,确保所有对话内容不偏离足球的真实情况与设定框架。利用足球百晓生的第一视角,结合多年的观察与智慧,设计回答,旨在加强对话的真实性和专业性。同时,巧妙融入足球百晓生特有的幽默与丰富的情感色彩,以提升与用户的互动质量,加深他们的情绪投入和对足球世界的沉浸体验。 

    「输入模式」:指令+上下文  

  • 资料上传

    可忽略

  • 在 IM 配置

    为数字人添加头像和账号 ID。

聊天室功能搭建

初始化云信 IM SDK

初始化IM,需要在 Application 中,初始化云信 SDK:

public class NimApplication extends Application {public void onCreate() {SDKOptions sdkOptions = new SDKOptions();        // 初始化云信SDK        NIMClient.initV2(this,sdkOptions);}
}

进入聊天室

进入聊天室可以有两种方式:独立模式和非独立模式,我们可以选择以独立模式进入聊天室:

//创建聊天室地址请求回调对象
V2NIMChatroomLinkProvider provider = new V2NIMChatroomLinkProvider() {@Overridepublic List<String> getLinkAddress(String roomId, String accountId) {// 向应用服务器请求聊天室地址        return "服务端返回的聊天室地址列表";   }
};
//创建聊天室相关参数
V2NIMChatroomEnterParams params = V2NIMChatroomEnterParams.V2NIMChatroomEnterParamsBuilder.builder(provider).withAccountId("im accid").withToken("im token").withRoomNick("昵称").build();
//进入聊天室
V2NIMChatroomClient.newInstance().enter("聊天室id",params,null,null);

聊天室数字人配置

进入聊天室后,可以调用发送聊天室消息的服务端接口和 AI 机器人互动,通过 ai_params 字段配置和 AI 机器人互动信息,ai_params 字段相关配置如下:

数名称类型是否必选描述
accountString必选数字人账号 ID,对应控制台提前设置好的数字人账号。
contentObject可选发起给数字人的查询请求的内容,结构体为:
{ "msg": "xxx",//内容 "type": 0//类型,当前仅支持0表示文本 }
如果为空且消息为文本消息,则提取消息中的
text
如果为空且不是文本消息,则返回 107336 错误。
messagesList<Object>可选数字人回溯的消息列表,结构体类似为:

[ { "msg": "hello", "type": 0, "role": "user" }, { "msg": "hello, I am your AI assistant", "type": 0, "role": "assistant" } ]
prompt_variablesObject可选用于填充提示词中的变量,如果提示词中定义了变量,则该字段必填,结构体类似为:

{ "career":"厨师" }
configObject可选模型相关的配置参数,不同模型配置类型不同。结构体类似为:

{"maxTokens":1,"temperature":1,"prompt":"我是一个${{career}},请回答我的问题:","topP":0.5}
send_originalString可选默认为 true,表示发送当前消息到聊天室。若设置为 false,则表示不发送当前消息到聊天室,只发送请求大模型后的消息。

以下为演示效果,实际效果以开发者接入效果为准:

7e69b82763fdda1825c749e81921cf43.jpeg

戳我立即去体验,分分钟搭建!

——END——

近日分享,大家觉得收到干货信息,可以关注我,后续持续更新~

最后,附上干货资料可查看领取:

《网易数智年度技术精选合集》

《2023泛娱乐出海白皮书》

《2023年全球即时通讯(IM)PaaS市场洞察白皮书》

戳我立即推荐好友,取更多豪礼~

还有更多干货,等你来收获~👇

这篇关于5分钟就能搭建 AI 聊天室场景!内含源代码,码住了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099395

相关文章

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Python中异常类型ValueError使用方法与场景

《Python中异常类型ValueError使用方法与场景》:本文主要介绍Python中的ValueError异常类型,它在处理不合适的值时抛出,并提供如何有效使用ValueError的建议,文中... 目录前言什么是 ValueError?什么时候会用到 ValueError?场景 1: 转换数据类型场景

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,