GigaChat.NET

Форк
2
2 месяца назад
Лиходед Максим
update README.md
163e39
README.md

alt GigaChat.NET

GigaChat-.NET.

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


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

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

(Preview)

Установка

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

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

NuGet\Install-Package GigaChatSDK -Version 1.0.5

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

Возможности

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

[!NOTE]
Вы можете самостоятельно реализовать поддержку контекста, используя возможности библиотеки. В будущем планируется дополнительно добавить возможность работать с контекстом нативно, из библиотеки

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

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

public static GigaChat Chat = new GigaChat("Ваши авторизационные данные", bool IsCommercial, bool IgnoreTLS, bool SaveImage);

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

await Chat.CreateTokenAsync());

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

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

await Chat.CompletionsAsync(new MessageQuery(Content)).Result;

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

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

Создание эмбеддинга:

await Chat.EmbeddingAsync(EmbeddingRequest Request);

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

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

await Chat.GetImageAsByteAsync(string fileId);

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

await Chat.ModelsAsync();

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

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

await Chat.GetFileId(string MessageContent);

Примеры

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

Response response = Chat.CompletionsAsync(new MessageQuery(content)).Result;
string messageTextResponse = response.choices.LastOrDefault().message.content;

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

Response response = Chat.CompletionsAsync("Расскажи о себе").Result;
string messageTextResponse = response.choices.LastOrDefault().message.content;
// content = "Я нейросетевая модель GigaChat от Сбера."

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

Response response = Chat.CompletionsAsync("Нарисуй рыжего кота с зелеными глазами").Result;
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
{
await botClient.SendTextMessageAsync(chatId, response.choices.LastOrDefault().message.content);
}

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

GigaChat-.NET.

InstallationFeaturesUsage


.NET GigaChat is a library .NET for working with the service from the Sber, which is able to conduct a dialogue with the user, write code, create texts and generate images directly during the dialogue.

(Preview)

Installation

Downloading and installing steps:

You can install the package using NuGet

NuGet\Install-Package GigaChatSDK -Version 1.0.5

[!NOTE]
The package supports .NET Standard 2.1

Features

OpportunityStatus
Authorization✔️
Getting a list of models✔️
Getting a response from the model✔️
Embedding (vector representation of text)✔️
Image generation✔️
Context support, from the SDK

Getting started

Initialization:

public static GigaChat Chat = new GigaChat("Your authorization data", IsCommercial, IgnoreTLS, SaveImage);

Getting a token:

await Chat.CreateTokenAsync());

Sending a request to the model

Context-dependent sending of a request

await Chat.CompletionsAsync(new MessageQuery(Content)).Result;

Context-independent sending of a request

await Chat.CompletionsAsync("[Request]").Result;

Embedding creation:

await Chat.EmbeddingAsync(EmbeddingRequest Request);

Getting an image by ID:

Returns an image file in binary representation, in JPG format. To enable image saving, you must specify SaveImage = true in the window constructor. By default, the image is saved in the project directory, changing the directory to SaveDirectory.

await Chat.GetImageAsByteAsync(string fileId);

Getting a list of models:

await Chat.ModelsAsync();

Getting a list of models

Used to extract the image ID from the message. The text of the message is passed as an argument.

await Chat.GetFileId(string MessageContent);

Examples

Example of getting a response string from a sent request using a context-dependent overload of the CompletionsAsync method:

Response response = Chat.CompletionsAsync(new MessageQuery(content)).Result;
string messageTextResponse = response.choices.LastOrDefault().message.content;

Example of getting a response string from a sent request using a context-independent overload of the CompletionsAsync method:

Response response = Chat.CompletionsAsync("Tell me about yourself").Result;
string messageTextResponse = response.choices.LastOrDefault().message.content;
// content = "I am a GigaChat neural network model from Sber."

Example of getting an image from a sent request:

Response response = Chat.CompletionsAsync ("Draw a red cat with green eyes").Result;
string messageTextResponse = response.choices.LastOrDefault().message.content;
if (Chat.GetFileId(messageTextResponse) != null)
{
byte[] imageBytes = await Chat.GetImageAsByteAsync(Chat.GetFileId(messageTextResponse));
Console.WriteLine("Image ID: " + Chat.GetFileId(messageTextResponse));
}
else
{
await botClient.SendTextMessageAsync(chatId, response.choices.LastOrDefault().message.content);
}

[!NOTE]

Each method takes standard values from the GigaChat API documentation as optional arguments

Описание

.NET библиотека для работы с GigaChat AI от Сбера

Сообщить о нарушении

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.