Установка • Возможности • Начало работы • Примеры •
|
.NET GigaChat - это библиотека .NET для работы с ИИ от Сбера, который способен вести диалог с пользователем, писать код, создавать тексты и генерировать изображения прямо в ходе диалога. Если данный репозиторий оказался полезным для вас, не забудьте поставить ⭐ (Preview) |
Перед началом работы рекомендуем ознакомиться с документацией по API
Вы можете установить пакет, используя NuGet
NuGet\Install-Package GigaChatSDK -Version 1.1.0Note
Пакет поддерживает .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
