Skip to content

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

License

Notifications You must be signed in to change notification settings

likhoded/GigaChat-.NET

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages