М
Мобильный кот
@ios_appdev2.7K подп.
6.9Kпросмотров
28 января 2025 г.
Score: 7.6K
👑 SwiftGPT: Библиотека для работы с ChatGPT Выложил на GitHub первую версию библиотеки SwiftGPT. Она предназначена для интеграции возможностей ChatGPT в iOS/macOS/Linux проекты. ⭐️ Особенности - Совместимость с официальным OpenAI API: интерфейс основан на стилях OpenAI. - Поддержка Swift 6 и Swift Concurrency. - Мультиплатформенность: работает на всех платформах Apple (iOS, macOS, watchOS, tvOS) и даже на Linux. ⬆️ Основные функции - Поддержка Chat Completions (генерация текста) - В планах: Assistants API, Text-to-Speech, Text Transcriptions, Image generation и др. - Возможность указать URL для запросов (актуально для РФ, когда делаешь свой прокси) ❓ Почему я занялся SwiftGPT Я давно интересуюсь искусственным интеллектом и активно применяю его решения в своих проектах. Для одной из задач мне потребовался API ChatGPT, но я обнаружил, что официального SDK для iOS не существует. Сначала я задумался о создании собственной библиотеки, но обратил внимание на пакет ChatGPTSwift. У данной библиотеки есть сильная сторона — использование OpenAPI 3.0 спецификации для сетевого слоя. То есть разработчик взял официальную спецификацию, написанную по стандарту OpenAPI 3.0, и использую пакет от Apple - Swift OpenAPI Generator, автогенерировал сетевой слой. На мой взгляд, это супер эффективное решение, которое позволяет упростить интеграцию с любым бекендом. Однако, реализация ChatGPTSwift имела ряд проблем, которые требовали исправлений. 🤕 Проблемы ChatGPTSwift и их решения - Единый монолитный класс: библиотека объединяла все функции в одном классе, что снижало читаемость и масштабируемость. Я переработал архитектуру, распределив функции в соответствии с официальным ChatGPT API. - Неудобное API: оригинальное API библиотеки отличалось от OpenAI API. Теперь интерфейс полностью соответствует официальной документации, что минимизирует порог вхождения. - Ошибки Swift Concurrency: вместо необоснованных решений вроде @unchecked Sendable, я внедрил корректную поддержку Swift Concurrency. - Сложные названия типов и свойств: автогенерированные имена вроде text_event_hyphen_stream заменены на более понятные и привычные — например, textEventStream. - Баги и устаревший API: обновил сетевой слой до актуальной версии API и устранил ошибки в логике. - Архаичная обработка контекста токенов: библиотека обрезала контекст до 4000 токенов, хотя ChatGPT последней версии поддерживает 128 000. Это ограничение устранено. 💊 Что дальше Переработка библиотеки — это лишь начало работы. Сейчас SwiftGPT поддерживает основные функции, но я продолжаю тестировать её в реальных проектах, а также развивать поддержку новых и существующих API OpenAI. # Пример использования Все максимально просто import SwiftGPT // Установка API key OpenAI.Configuration.apiKey = .apiKey("your-api-key") Task { // создание сессии let chat = OpenAI.Chat(model: .gpt4o) // запрос let response = try await chat.completions(prompt: "Как погода сегодня?") print("Ответ: \(response)") } Если вам нужно интегрировать ChatGPT в iOS/macOS/Linux приложение, уже сейчас вы можете использовать SwiftGPT. Забрать/посмотреть можно тут. Теперь эта библиотека открыта для обратной связи и предложений сообщества! #инструменты #ai #chatgpt
6.9K
просмотров
3258
символов
Да
эмодзи
Нет
медиа

Другие посты @ios_appdev

Все посты канала →
👑 SwiftGPT: Библиотека для работы с ChatGPT Выложил на GitH — @ios_appdev | PostSniper