GigaChat-.NET icon indicating copy to clipboard operation
GigaChat-.NET copied to clipboard

Unofficial .NET Library for working with GigaChat AI(+Kandinsky) by Sber/ Неофициальная .NET библиотека для работы с GigaChat AII(+Kandinsky) от Сбера

alt GigaChat.NET

GigaChat-.NET.

УстановкаВозможностиНачало работыПримеры


.NET GigaChat - это библиотека .NET для работы с ИИ от Сбера, который способен вести диалог с пользователем, писать код, создавать тексты и генерировать изображения прямо в ходе диалога.

Если данный репозиторий оказался полезным для вас, не забудьте поставить ⭐

(Preview)

Установка

Перед началом работы рекомендуем ознакомиться с документацией по API

Вы можете установить пакет, используя NuGet

NuGet\Install-Package GigaChatSDK -Version 1.1.0

[!NOTE]
Пакет поддерживает .NET Standard 2.1

GitVerse

Возможности

Возможность Статус
Авторизация ✔️
Получение списка моделей ✔️
Получение ответа от модели ✔️
Эмбеддинги(векторное представление текста) ✔️
Генерация изображений ✔️
Работа с пользовательскими функциями ✔️

Начало работы

Иницилизация:

static IHttpService httpService = new HttpService(ignoreTLS);
static ITokenService tokenService = new TokenService(httpService, "secretKey", isCommercial);

static IGigaChat Chat = new GigaChat(tokenService, httpService, saveImage);

Получение токена:

await Chat.CreateTokenAsync());

Отправка запроса к модели

Контекстозависимая отправка запроса

MessageQuery query = new MessageQuery();
query.messages.Add(new MessageContent("role", text));
await Chat.CompletionsAsync(new MessageQuery(Content));

Контекстонезависимая отправка запроса

await Chat.CompletionsAsync("[Запрос]");

Создание встраивания:

await Chat.EmbeddingAsync(EmbeddingRequest Request);

Получение изображения по идентификатору:

Возвращает файл изображения в бинарном представлении, в формате JPG. Для включения сохранения изображения, необходимо в окнтрукторе указать SaveImage = true. По-умолчанию изображение сохраняется в директории проекта, изменение директории в SaveDirectory.

await Chat.GetImageAsByteAsync(string fileId);

Получение списка моделей:

await Chat.ModelsAsync();

Получение идентификатора изображения

Используется для извлечения идентификатора изображения из сообщения. В качестве аргумента передается текст сообщения.

await Chat.GetFileId(string MessageContent);

Примеры

Примеры использования функций:

Далее вы можете ознакомиться с примером, в котором модель сама по ходу диалога понимает, что нужно вызывать функцию отправки СМС, с заданными содержимым и номером телефона получателя. Отправка СМС

Пример получения строки ответа из отправленного запроса с использованием контекстозависимой перегрузки метода CompletionsAsync:

var response = await gigaChatClient.CompletionsAsync(query);
Console.WriteLine(response.choices.LastOrDefault().message.content);

Пример получения изображения из отправленного запроса:

Response response = await Chat.CompletionsAsync("Нарисуй рыжего кота с зелеными глазами");
string messageTextResponse = response.choices.LastOrDefault().message.content;
if (Chat.GetFileId(messageTextResponse) != null)
{
    byte[] imageBytes = await Chat.GetImageAsByteAsync(Chat.GetFileId(messageTextResponse));
    Console.WriteLine("Идентификатор изображения: " + Chat.GetFileId(messageTextResponse));
}
else
{
    Console.WriteLine(response.choices.LastOrDefault().message.content);
}

[!NOTE]
Каждый метод в качестве необязательных аргументов принимает стандартные значения из документации GigaChat API