WWSimpleDeepSeekAI

Swift-5.6 iOS-14.0 Swift Package Manager-SUCCESS LICENSE

Introduction - 简介

Installation with Swift Package Manager

dependencies: [
    .package(url: "https://github.com/William-Weng/WWSimpleDeepSeekAI.git", .upToNextMajor(from: "0.1.0"))
]

Function - 可用函数

函数 功能
configure(apiKey:model) 设置apiKey
list() 支持模型列表
balance() 账号余额查询
chat(content:forRole:) 执行聊天功能

Example - 范例

import UIKit
import WWSimpleDeepSeekAI

final class ViewController: UIViewController {

    private let apiKey = "<API_KEY>"
    
    @IBOutlet weak var myTextView: UITextView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        initSetting()
    }
    
    @IBAction func chatDemo(_ sender: UIBarButtonItem) {
        chat(with: "今天日期是?", role: .user)
    }
    
    @IBAction func modelListDemo(_ sender: UIBarButtonItem) {
        modelList()
    }
    
    @IBAction func balanceDemo(_ sender: UIBarButtonItem) {
        balance()
    }
}

// MARK: - 小工具
private extension ViewController {
    
    func initSetting() {
        WWSimpleDeepSeekAI.configure(apiKey: apiKey)
    }
    
    func modelList() {
        
        Task {
            let result = await WWSimpleDeepSeekAI.shared.list()
            
            switch result {
            case .failure(let error): displayText(error)
            case .success(let data): displayText(data?._jsonObject())
            }
        }
    }
    
    func balance() {
        
        Task {
            let result = await WWSimpleDeepSeekAI.shared.balance()
            
            switch result {
            case .failure(let error): displayText(error)
            case .success(let data): displayText(data?._jsonObject())
            }
        }
    }

    func chat(with content: String, role: WWSimpleDeepSeekAI.Role) {
        
        Task {
            let result = await WWSimpleDeepSeekAI.shared.chat(content: content, forRole: role)
            
            switch result {
            case .failure(let error): displayText(error)
            case .success(let data): displayText(data?._jsonObject())
            }
        }
    }
    
    @MainActor
    func displayText(_ value: Any?) {
        myTextView.text = "\(value ?? "")"
    }
}