GigaChatSDK 1.1.0
dotnet add package GigaChatSDK --version 1.1.0
NuGet\Install-Package GigaChatSDK -Version 1.1.0
<PackageReference Include="GigaChatSDK" Version="1.1.0" />
<PackageVersion Include="GigaChatSDK" Version="1.1.0" />
<PackageReference Include="GigaChatSDK" />
paket add GigaChatSDK --version 1.1.0
#r "nuget: GigaChatSDK, 1.1.0"
#:package GigaChatSDK@1.1.0
#addin nuget:?package=GigaChatSDK&version=1.1.0
#tool nuget:?package=GigaChatSDK&version=1.1.0
.NET GigaChat - это библиотека .NET для работы с ИИ от Сбера, который способен вести диалог с пользователем, писать код, создавать тексты и генерировать изображения прямо в ходе диалога.
Если данный репозиторий оказался полезным для вас, не забудьте поставить ⭐
Установка
Перед началом работы рекомендуем ознакомиться с документацией по API
Вы можете установить пакет, используя NuGet
NuGet\Install-Package GigaChatSDK -Version 1.1.0
Пакет поддерживает .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);
}
Каждый метод в качестве необязательных аргументов принимает стандартные значения из документации GigaChat API
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- System.Net.Http.Json (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.