yandexgpt-php

0

ОписаниС

πŸš€ YandexGPT PHP SDK - ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ЯндСкса. ЛСгкая интСграция YandexGPT ΠΈ YandexART Π² PHP-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Laravel. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ тСкстового ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, гСнСрация ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Ρ‹ ΠΈ AI-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ². ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. МгновСнноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ЯндСкс Cloud AI.

Π―Π·Ρ‹ΠΊΠΈ

  • PHP100%
6 мСсяцСв Π½Π°Π·Π°Π΄
4 мСсяца Π½Π°Π·Π°Π΄
6 мСсяцСв Π½Π°Π·Π°Π΄
6 мСсяцСв Π½Π°Π·Π°Π΄
6 мСсяцСв Π½Π°Π·Π°Π΄
4 мСсяца Π½Π°Π·Π°Π΄
4 мСсяца Π½Π°Π·Π°Π΄
4 мСсяца Π½Π°Π·Π°Π΄
4 мСсяца Π½Π°Π·Π°Π΄
6 мСсяцСв Π½Π°Π·Π°Π΄
README.md

YandexGPT PHP SDK

YandexGPT PHP SDK

Latest Version PHP Version License GitVerse Repository

🌐 Π―Π·Ρ‹ΠΊ: Русский | English

πŸ”— GitHub Repository: https://github.com/tigusigalpa/yandexgpt-php

КомплСксная PHP-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для взаимодСйствия с YandexGPT API, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Laravel. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° обСспСчиваСт простой ΠΈ понятный интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с искусствСнным ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ Yandex Cloud, Π² Ρ‚ΠΎΠΌ числС с возмоТностями YandexART ΠΈ модСлью Alice AI.

πŸš€ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • πŸ”Œ Π›Π΅Π³ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ YandexGPT API
  • πŸ”¨ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с YandexART
  • πŸ€– ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ Alice AI с контСкстом 32K Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
  • πŸ” Автоматизированная Ρ€Π°Π±ΠΎΡ‚Π° с OAuth ΠΈ IAM Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°ΠΊΠ΅Ρ‚ yandex-cloud-client-php
  • 🎯 Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со всСми модСлями YandexGPT
  • πŸ›  Π‘Π΅ΡΡˆΠΎΠ²Π½Π°Ρ интСграция с Laravel (Service Provider, Facades, настройки)
  • πŸ“ Π Π°Π±ΠΎΡ‚Π° с Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΌΠΈ запросами
  • ⚑ АвтоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
  • πŸ§ͺ ВСстовоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅
  • πŸ“š РазвСрнутая докумСнтация

πŸ“¦ Установка

Установка Ρ‡Π΅Ρ€Π΅Π· Packagist (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ)

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Composer:

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° автоматичСски установит Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ

tigusigalpa/yandex-cloud-client-php
для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Yandex Cloud.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² локальной срСдС

Для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ тСстирования ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1: ИспользованиС локального рСпозитория

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
  1. ВнСситС измСнСния Π² composer.json вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
  1. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ установку зависимостСй:

Бпособ 2: Π§Π΅Ρ€Π΅Π· симлинки

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ симлинк Π² vendor:

Бпособ 3: Π§Π΅Ρ€Π΅Π· VCS Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Laravel

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Laravel Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ автообнаруТСния. ΠžΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» настроСк:


βš™οΈ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

1. Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ OAuth Ρ‚ΠΎΠΊΠ΅Π½

πŸ“š ДокумСнтация: OAuth-Ρ‚ΠΎΠΊΠ΅Π½

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ссылкой для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ OAuth Ρ‚ΠΎΠΊΠ΅Π½Π°:

https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb

2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния

ВнСситС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²

.env
Ρ„Π°ΠΉΠ»:

3. Настройка Yandex Cloud

Для использования YandexGPT API трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ряд дСйствий Π² Yandex Cloud. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ процСсса Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° SDK, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ:

3.1. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ IAM Ρ‚ΠΎΠΊΠ΅Π½Π°

πŸ“š **ДокумСнтация: ** ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ IAM-Ρ‚ΠΎΠΊΠ΅Π½Π° для Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° ЯндСксС

SDK автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ IAM Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° основС OAuth Ρ‚ΠΎΠΊΠ΅Π½Π°. Π‘Ρ€ΠΎΠΊ дСйствия Ρ‚ΠΎΠΊΠ΅Π½Π° составляСт 12 часов, послС Ρ‡Π΅Π³ΠΎ происходит автоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅.

ГСнСрация Ρ‡Π΅Ρ€Π΅Π· SDK:

АвтоматизированноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Π² YandexGPTClient:

ΠŸΡ€ΡΠΌΠΎΠΉ запрос ΠΊ API:

3.2. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Cloud ID

ДокумСнтация: ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка рСсурсов Cloud

Π§Π΅Ρ€Π΅Π· SDK:

Π§Π΅Ρ€Π΅Π· Yandex Cloud CLI:

Π§Π΅Ρ€Π΅Π· Π²Π΅Π±-консоль: Yandex Cloud Console β†’ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ±Π»Π°ΠΊΠΎ β†’ скопируйтС ID

3.3. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Folder ID

ДокумСнтация: ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка рСсурсов Folder Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅

Π§Π΅Ρ€Π΅Π· SDK:

Π§Π΅Ρ€Π΅Π· Yandex Cloud CLI:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

πŸ“š ДокумСнтация: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

3.4. НазначСниС Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎ

πŸ“š ДокумСнтация:

АутСнтификация Π² API Yandex AI Studio

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом Π² Yandex AI Studio

ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎ

НазначСниС Ρ€ΠΎΠ»ΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Subject для ΠΎΠ±Π»Π°ΠΊΠ°

НазначСниС Ρ€ΠΎΠ»ΠΈ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Subject для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

ΠŸΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции для Identity and Access Management

UserAccount API

Identity and Access Management API, REST: YandexPassportUserAccount.GetByLogin

Π§Π΅Ρ€Π΅Π· SDK:

Π§Π΅Ρ€Π΅Π· Yandex Cloud CLI:

Π§Π΅Ρ€Π΅Π· Π²Π΅Π±-консоль:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Yandex Cloud Console
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» "ΠŸΡ€Π°Π²Π° доступа"
  4. НаТмитС "ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΠΈ"
  5. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ€ΠΎΠ»ΡŒ
    ai.languageModels.user

3.5. ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ настройки

3.6. ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки


πŸ’‘ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Π²Π½Π΅ Laravel)

Π Π°Π±ΠΎΡ‚Π° Π² Laravel

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Service Provider

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° автоматичСски интСгрируСтся Π² Laravel посрСдством Service Provider, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:

АвторСгистрация Π² систСмС:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Service Provider:

  1. РСгистрация ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (ΠΌΠ΅Ρ‚ΠΎΠ΄
    register()
    ):
    • БлияниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с настройками прилоТСния
    • РСгистрация
      YandexGPTClient
      ΠΊΠ°ΠΊ singleton Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅
    • Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ псСвдонима для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ внСдрСния
  1. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (ΠΌΠ΅Ρ‚ΠΎΠ΄
    boot()
    ):
    • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для пСрсонализации
  1. ДСкларация сСрвисов (ΠΌΠ΅Ρ‚ΠΎΠ΄
    provides()
    ):
    • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ сСрвисов, прСдоставляСмых ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Ρ„Π°ΠΉΠ»Π° настроСк:

ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„Π°ΠΉΠ» настроСк Π±ΡƒΠ΄Π΅Ρ‚ доступСн ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ

config/yandexgpt.php
для рСдактирования.

ИспользованиС фасада

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй (Dependency Injection)

Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ сцСнарии

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами Yandex Cloud

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ ролями (IAM)

SDK прСдоставляСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Identity and Access Management (IAM):

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…

НазначСниС Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

НазначСниС Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎ

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ


πŸ€– ДоступныС ΠΌΠΎΠ΄Π΅Π»ΠΈ

ΠœΠΎΠ΄Π΅Π»ΡŒΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°
yandexgpt-lite
Быстрая ΠΈ экономичная модСль
YandexGPTModel::YANDEX_GPT_LITE
yandexgpt
Бтандартная модСль
YandexGPTModel::YANDEX_GPT
aliceai-llm
Alice AI - продвинутая модСль с контСкстом 32K Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
YandexGPTModel::ALICE_AI

πŸ“š ΠŸΠΎΠ»Π½Ρ‹ΠΉ список доступных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: МодСли Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² Yandex AI Studio


πŸ”§ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ


⚠️ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок


πŸ› οΈ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

config/yandexgpt.php
:


πŸ“š ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Π§Π°Ρ‚-Π±ΠΎΡ‚ для Laravel

ГСнСрация ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°


πŸ§ͺ ВСстированиС

Запуск тСстов ΠΏΠ°ΠΊΠ΅Ρ‚Π°

ВСстированиС Π² Laravel ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ тСстовый ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ:
  1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ для тСстирования:
  1. ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ»ΠΈ API ΠΊΠ»ΠΈΠ΅Π½Ρ‚:

❓ Troubleshooting ΠΈ FAQ

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

Q: Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ OAuth Ρ‚ΠΎΠΊΠ΅Π½?

A: ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС: https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb

ПослС Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ скопируйтС Ρ‚ΠΎΠΊΠ΅Π½ ΠΈΠ· URL адрСса.

Q: Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Folder ID?

A: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ SDK для получСния списка ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²:

Q: ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "OAuth Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым"?

A: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²

.env
Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π½
YANDEX_GPT_OAUTH_TOKEN
Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ.

### РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ #### Ошибка: "Class 'Tigusigalpa\YandexGPT\YandexGPTClient' not found" **РСшСниС:** 1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ установлСн: `composer show tigusigalpa/yandexgpt-php` 2. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ: `composer dump-autoload` 3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² `composer.json` #### Ошибка: "YandexGPT OAuth Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅ настроСн" **РСшСниС:** 1. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² `.env` Ρ„Π°ΠΉΠ»: ```env YANDEX_GPT_OAUTH_TOKEN=your_actual_token_here YANDEX_GPT_FOLDER_ID=your_folder_id_here
  1. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ кСш ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:
    php artisan config:clear

Ошибка: "Ошибка API YandexGPT (код 401): Unauthorized"

РСшСниС:

  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ OAuth Ρ‚ΠΎΠΊΠ΅Π½Π°
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅ истСк (OAuth Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ 1 Π³ΠΎΠ΄)
  3. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ

Ошибка: "Ошибка API YandexGPT (код 403): Forbidden"

РСшСниС:

  1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ
    ai.languageModels.user
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Folder ID
  3. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ сущСствуСт ΠΈ доступСн

Ошибка: "Connection timeout"

РСшСниС:

  1. Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ timeout Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:
  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСниС
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΡ€Π²ΠΎΠ»ΠΎΠΌ

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ логирования

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ


πŸ–ΌοΈ ГСнСрация ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (YandexART)

YandexART PHP

πŸ“š РСсурсы

SDK ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ YandexART. Доступны Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ“¨ generateImageAsync β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° запроса Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • πŸ”Ž getOperation β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΅Ρ‘ ID
  • ⏳ generateImage β€” синхронная ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

ВрСбования доступа:

  • НСобходимо Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ
    ai.imageGeneration.user
    Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (Folder), Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ гСнСрация ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ тСкстовых ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ трСбуСтся Ρ€ΠΎΠ»ΡŒ
    ai.languageModels.user

МодСль YandexART:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ модСль
    yandex-art/latest
    с URI вида
    art://<folder_id>/yandex-art/latest

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

  1. Базовая асинхронная гСнСрация:
  1. Бинхронная гСнСрация с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сгСнСрированного изобраТСния Омска

ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Омска

  1. ИспользованиС Ρ‡Π΅Ρ€Π΅Π· Laravel Facade:
  1. Prompt chaining (YandexGPT β†’ YandexART):

Π€ΠΎΡ€ΠΌΠ°Ρ‚ сообщСний для YandexART

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈΠ±ΠΎ строку (ΠΎΠ΄ΠΈΠ½ запрос), Π»ΠΈΠ±ΠΎ массив сообщСний. КаТдоС сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:

  • строкой: 'описаниС сцСны'
  • массивом: ['text' => 'описаниС', 'weight' => 1]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива сообщСний:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ generationOptions

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ generationOptions (нСобязатСлСн) позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ настройки Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ. Бписок доступных ΠΎΠΏΡ†ΠΈΠΉ зависит ΠΎΡ‚ API YandexART. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΠΏΡ†ΠΈΠΉ:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ApiException ΠΈ AuthenticationException. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅ error Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ поля response.image ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ.


βœ… ВрСбования

  • PHP 8.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • Laravel 8.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ (для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Laravel)
  • Guzzle HTTP 7.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅

πŸ“„ ЛицСнзия

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ LICENSE.


🀝 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°


πŸ§‘β€πŸ’» УчастиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

ΠœΡ‹ привСтствуСм участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅! ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с руководством ΠΏΠΎ ΡƒΡ‡Π°ΡΡ‚ΠΈΡŽ.


πŸ›‘οΈ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² бСзопасности, поТалуйста, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ email Π½Π° sovletig@gmail.com вмСсто создания issue.