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

GigaChat-.NET.
Установка • Возможности • Начало работы • Примеры •
|
.NET GigaChat - это библиотека .NET для работы с ИИ от Сбера, который способен вести диалог с пользователем, писать код, создавать тексты и генерировать изображения прямо в ходе диалога. Если данный репозиторий оказался полезным для вас, не забудьте поставить ⭐ (Preview) |
Установка
Перед началом работы рекомендуем ознакомиться с документацией по API
Вы можете установить пакет, используя NuGet
NuGet\Install-Package GigaChatSDK -Version 1.1.0
[!NOTE]
Пакет поддерживает .NET Standard 2.1
Возможности
| Возможность | Статус |
|---|---|
| Авторизация | ✔️ |
| Получение списка моделей | ✔️ |
| Получение ответа от модели | ✔️ |
| Эмбеддинги(векторное представление текста) | ✔️ |
| Генерация изображений | ✔️ |
| Работа с пользовательскими функциями | ✔️ |
Начало работы
Иницилизация:
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