iOS

本文将指导您如何在较短时间内接入 AIConversationKit组件。遵循本指南,您将在20分钟内完成以下关键步骤,并实现具备完整 UI 界面的 AI 对话功能。
AI 对话界面



环境准备

最低兼容 iOS 13,建议使用 iOS13 及以上版本。
Xcode 13 及以上版本。

步骤一:开通服务

在使用 AiConversationKit 发起对话前,您需要前往控制台开通 AIConversationKit 专属的 AI 对话服务,具体步骤请参见 开通服务

步骤二:下载 AIConversationKit 组件:

前往 Github 下载 zip 文件,解压后,您会看到 AIConversationKit 目录、AIConversationKit.podspec 文件和 Resource 目录。


步骤三:工程配置

1. 复制上述 步骤二 中解压得到的目录里的 AIConversationKitpodspecResource 到您的工程中:

2. 然后您工程的 Podfile 文件中,添加如下依赖:
pod 'AIConversationKit',:path => 'AIConversationKit.podspec':
3. 配置完成后,执行pod install,完成依赖的安装;
4. 使用 XCode 打开.xcworkspace,并配置好证书信息:


步骤四:登录

在您的项目中添加如下代码,它的作用是通过调用TUILogin中的相关接口完成组件的登录。这个步骤异常关键,因为只有在登录后才能正常使用 AIConversationkit的各项功能,故请您耐心检查相关参数是否配置正确。
swift
import TUICore
import AIConversationKit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let sdkAppId = 1600000001 // Please replace with your sdkAppId
let userId = "people" // Please replace with your UserID
let secretKey = "xxx" // Please replace with your sdkSecretKey
let userSig = GenerateTestUserSig.genTestUserSig(sdkAppId: sdkAppId, identifier: userId, secrectkey: secretKey)
TUILogin.login(Int32(sdkAppId), userID: userId, userSig:userSig){
print("login success")
} fail: { code, message in
print("login failed, code: \(code), error: \(message ?? "nil")")
}
return true
}


参数
类型
说明
userID
String
客户根据自己的业务自定义用户 ID,只允许包含大小写英文字母(a-z A-Z)、数字(0-9)及下划线和连词符。
sdkAppID
Int32
Tencent RTC 控制台 创建的音视频应用的唯一标识 SDKAppID。
secretKey
String
Tencent RTC 控制台 创建的音视频应用的 SDKSecretKey。
userSig
String
一种安全保护签名,用于对用户进行登录鉴权认证,确认用户是否真实,阻止恶意攻击者盗用您的云服务使用权。
注意:
开发环境:如果您处于本地开发调试阶段,可以使用本地 GenerateTestUserSig.genTestSig 函数生成 userSig。但请注意,该方法中的 SDKSecretKey 容易被反编译逆向破解。一旦密钥泄露,攻击者可能盗用您的腾讯云流量。
生产环境:如果您的项目要发布上线,请采用 服务端生成 UserSig 的方式。

步骤五:开始您的第一次 AI 对话

TUILogin.login 成功后,参考如下代码,即可发起 AI 对话。
Swift
新选项
let startParams = StartAIConversationParams()

let sdkAppId = 1600000001 // 1、Replace your sdkAppId
let secretKey = "xxx" // 2、Replace your sdkSecretKey
let aiRobotId = "robot_\(TUILogin.getUserID() ?? "")"
let aiRobotSig = GenerateTestUserSig.genTestUserSig(sdkAppId: sdkAppId, identifier: aiRobotId, secrectkey: secretKey)
startParams.agentConfig = AIConversationDefine.AgentConfig.generateDefaultConfig(aiRobotId: aiRobotId, aiRobotSig: aiRobotSig)

startParams.secretId = "xxx" // 3、Replace your secretId
startParams.secretKey = "xxx" // 4、Replace your secretKey

// 5、Replace your llmConfig
startParams.llmConfig = "{\"LLMType\":\"openai\",\"Model\":\"hunyuan-turbo-latest\",\"SystemPrompt\":\"你是一个个人助手\",\"APIUrl\":\"https://hunyuan.cloud.tencent.com/openai/v1/chat/completions\",\"APIKey\":\"xxxx\",\"History\":5,\"Streaming\":true}"
// 6、Replace your ttsConfig
startParams.ttsConfig = "{\"TTSType\":\"tencent\",\"AppId\":\"xxx\",\"SecretId\":\"xxx\",\"SecretKey\":\"xxx\",\"VoiceType\":\"502001\",\"Speed\":1.25,\"Volume\":5,\"PrimaryLanguage\":1,\"FastVoiceType\":\"\"}"

let aiViewController = AIConversationViewController(aiParams: startParams)
navigationController?.pushViewController(aiViewController, animated: true)

1. sdkAppId 和 sdkSecretKey 使用 步骤四 获取的数据即可;
2. 在应用详情页,选择 RTC-Engine > Conversational AI,配置 AI 对话参数,包括基础配置、STT、LLM、TTS,点击右下角的快速跑通,切换到 iOS,获取 SecretId、SecretKey 和 Config 参数。

3. 将云 API 的 SecretId 和 SecretKey 复制到startParams.secretIdstartParams.secretKey中。
4. 将 Config 信息复制到 Json 解析工具中,如 JsonUtil,将 LLMConfig 对应的字符串值复制到startParams.llmConfig,将 TTSConfig 对应的字符串值复制到startParams.ttsConfig中。
说明:
开发环境:如果您正在本地开发调试阶段,可以采用上述方式快速集成 AI 对话。该方法中账号信息很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量。
生产环境:如果您的项目要发布上线,请将上述账号信息保存到服务端中,避免流量被盗用;相关对话配置,也可以保存到服务端中,方便动态调整 AI 对话效果。

交流与反馈

您在接入或使用过程有任何疑问或者建议,欢迎联系:info_rtc@tencent.com 。