Telegram Group & Telegram Channel
👑 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
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/ios_appdev/169
Create:
Last Update:

👑 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

BY Мобильный кот




Share with your friend now:
tg-me.com/ios_appdev/169

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How to Buy Bitcoin?

Most people buy Bitcoin via exchanges, such as Coinbase. Exchanges allow you to buy, sell and hold cryptocurrency, and setting up an account is similar to opening a brokerage account—you’ll need to verify your identity and provide some kind of funding source, such as a bank account or debit card. Major exchanges include Coinbase, Kraken, and Gemini. You can also buy Bitcoin at a broker like Robinhood. Regardless of where you buy your Bitcoin, you’ll need a digital wallet in which to store it. This might be what’s called a hot wallet or a cold wallet. A hot wallet (also called an online wallet) is stored by an exchange or a provider in the cloud. Providers of online wallets include Exodus, Electrum and Mycelium. A cold wallet (or mobile wallet) is an offline device used to store Bitcoin and is not connected to the Internet. Some mobile wallet options include Trezor and Ledger.

Start with a fresh view of investing strategy. The combination of risks and fads this quarter looks to be topping. That means the future is ready to move in.Likely, there will not be a wholesale shift. Company actions will aim to benefit from economic growth, inflationary pressures and a return of market-determined interest rates. In turn, all of that should drive the stock market and investment returns higher.

telegram from us


Telegram Мобильный кот
FROM USA