带有文本到语音功能的 ChatGPT 的 Swift 库
SwiftGPTPlus
SwiftGPTPlus 允许你轻松将 OpenAI GPT-3.5 Turbo 模型、GPT-4 模型与“文转语音”功能集成到你的 Swift 应用程序中,以进行自然语言处理任务。
特性
- 与 OpenAI 的 GPT-3.5 Turbo 模型无缝集成。
- 易于使用的 Swift API,用于文本生成和处理。
- 可定制的参数以生成文本。
- 文本转语音功能(支持 30 种口音)
安装
🚀 SwiftGPTPlus 入门 📦
将 SwiftGPTPlus 集成到你的项目中非常简单!按照以下简单的步骤操作:
📂 拖放框架: 只需拖放即可将 SwiftGPTPlus.framework 添加到你的 Xcode 项目。 🚀 嵌入和签名: 通过为 SwiftGPTPlus.framework 设置“嵌入和签名”嵌入选项,确保无缝集成。 就是这样!你现在可以利用 SwiftGPTPlus 的强大功能来满足你的所有自然语言处理需求。祝你编码愉快!🎉🚀💬
使用
要开始使用 SwiftGPTPlus,请按照以下简单步骤操作:
import SwiftGPTPPlus
如下所示设置你的 ViewController/Class 作为代理:
class ViewController: UIViewController, SwiftGPTPlusDelegate
接下来,为 GPTController 创建一个实例
gptPlus = GPTController(gptAuthKey: "<YOUR_OPEN_AI_AUTH_KEY>",gptOrgKey: "<OPTIONAL YOUR_OPEN_AI_ORG_ID>", gptModel: "<GPT Model gpt3.5-turbo is default>")
启用 TTS
var isSet = gptPlus?.enableSpeech(voice: Voice.Flo,speed: 0.6) // Check available values from Voice enum. If isSet is false, reasons may be voice not available on device, or you sent wrong value for speed (0 to 1)
// If you want to disable speech
// gptPlus?.disableSpeech()
为 GPT 设置角色:
gptPlus?.setGPTRole(role: "You are a maths professor!") // Set role for chatGPT
要向 ChatGPT 发送消息,请使用 askAI() 函数(在后台线程而非主线程中调用此函数)
gptPlus?.askAI(message: message)
你将在代理函数中收到回复
func didReceiveValidationError(error: String)
——如果缺少 open ai 授权密钥。
func didReceiveError(error: Error)
——来自 OpenAI 的错误
func didReceiveResponse(message: SwiftGPTPPlus.GPTChatResponse) {
print(message.choices.first!.message.content) // Response from chatGPT
}
GPTChatResponse 结构
public struct GPTChatResponse: Codable {
public let id: String
public let object: String
public let created: Int
public let model: String
public let choices: [Choice]
public let usage: Usage
}
public struct Choice: Codable {
public let index: Int
public let message: GPTMessage
public let finish_reason: String
}
public struct GPTMessage: Codable {
public let role: String
public let content: String
}
public struct Usage: Codable {
public let prompt_tokens: Int
public let completion_tokens: Int
public let total_tokens: Int
}
贡献
我欢迎社区的贡献。请联系我获取该框架的源代码。