Contents

william-weng/wwsimpleai_deepseek

- [Simply use the functionality of DeepSeek AI.](https://www.deepseek.com/)

[Introduction - 簡介](https://swiftpackageindex.com/William-Weng)

Installation with Swift Package Manager

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

Function - 可用函式

|函式|功能| |-|-| |configure(apiKey:model)|設定apiKey| |list()|支援模型列表| |balance()|帳號餘額查詢| |chat(content:forRole:)|執行聊天功能|

Example - 範例

import UIKit
import WWSimpleAI_DeepSeek
import WWSimpleAI_Ollama

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

private extension ViewController {
    
    func initSetting() {
        WWSimpleAI.DeepSeek.configure(apiKey: apiKey)
    }
    
    func modelList() {
        
        Task {
            let result = await WWSimpleAI.DeepSeek.shared.list()
            
            switch result {
            case .failure(let error): displayText(error)
            case .success(let data): displayText(data?._jsonObject())
            }
        }
    }
    
    func balance() {
        
        Task {
            let result = await WWSimpleAI.DeepSeek.shared.balance()
            
            switch result {
            case .failure(let error): displayText(error)
            case .success(let data): displayText(data?._jsonObject())
            }
        }
    }
    
    func chat(with content: String, role: WWSimpleAI.DeepSeek.Role) {
        
        Task {
            let result = await WWSimpleAI.DeepSeek.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 ?? "")"
    }
}

Package Metadata

Repository: william-weng/wwsimpleai_deepseek

Default branch: main

README: README.md