Поделиться через


Внедрение в .NET

Внедрение — это способ захвата семантического значения LLM. Они представляют собой числовые представления нечисловых данных, которые LLM может использовать для определения связей между понятиями. Вы можете использовать внедрение, чтобы помочь модели искусственного интеллекта понять смысл входных данных, чтобы они могли выполнять сравнения и преобразования, например суммирование текста или создание изображений из текстовых описаний. LlMs может немедленно использовать внедрение, и вы можете хранить внедрения в векторные базы данных для обеспечения семантической памяти для LLM по мере необходимости.

Варианты использования для внедрения

В этом разделе перечислены основные варианты использования для внедрения.

Использование собственных данных для повышения релевантности завершения

Используйте собственные базы данных для создания внедренных данных и интеграции их с LLM, чтобы сделать его доступным для завершения. Это использование внедрения является важным компонентом получения дополненного поколения.

Увеличьте объем текста, который можно поместить в запрос

Используйте внедрения, чтобы увеличить объем контекста, который можно поместить в запрос, не увеличивая количество необходимых маркеров.

Например, предположим, что вы хотите включить в запрос 500 страниц текста. Количество маркеров для этого много необработанного текста превысит ограничение входного маркера, что делает невозможным непосредственно включить в запрос. Вы можете использовать внедрения, чтобы суммировать и разбить большие объемы этого текста на части, которые достаточно малы, чтобы поместить в один вход, а затем оценить сходство каждого фрагмента со всем необработанным текстом. Затем можно выбрать часть, которая лучше всего сохраняет семантический смысл необработанного текста и использовать его в запросе, не нажимая ограничение маркера.

Выполнение классификации текста, суммирования или перевода

Используйте внедрения, чтобы помочь модели понять смысл и контекст текста, а затем классифицировать, суммировать или переводить этот текст. Например, можно использовать внедрение, чтобы помочь моделям классифицировать тексты как положительные или отрицательные, спам или не спам, новости или мнение.

Создание и транскрибирование звука

Используйте внедренные аудиофайлы для обработки звуковых файлов или входных данных в приложении.

Например, служба "Речь" поддерживает ряд внедрения звука, включая речь в текст и текст. Звук можно обрабатывать в режиме реального времени или в пакетах.

Преобразование текста в изображения или изображения в текст

Обработка семантического изображения требует внедрения изображений, которые большинство LLM не могут создавать. Используйте модель внедрения изображений, например ViT , для создания векторных внедрения изображений. Затем можно использовать эти внедрения с моделью создания изображений для создания или изменения изображений с помощью текста или наоборот. Например, можно использовать DALL· Модель E для создания изображений , таких как логотипы, лица, животные и пейзажи.

Создание или документирование кода

Используйте внедрение, чтобы помочь модели создать код из текста или наоборот, преобразовав различные выражения кода или текста в общее представление. Например, можно использовать внедрение, чтобы помочь модели создавать или документировать код в C# или Python.

Выбор модели внедрения

Вы создаете внедрения для необработанных данных с помощью модели внедрения ИИ, которая может кодировать нечисловые данные в вектор (длинный массив чисел). Модель также может декодировать внедрение в нечисловые данные, которые имеют то же или аналогичное значение, что и исходные, необработанные данные. Существует множество моделей внедрения, доступных для использования, с моделью OpenAI text-embedding-ada-002 является одной из распространенных моделей, используемых. Дополнительные примеры см. в списке моделей внедрения, доступных в Azure OpenAI.

Хранение и обработка внедрения в векторной базы данных

После создания внедрения вам потребуется способ их хранения, чтобы позже получить их с помощью вызовов LLM. Векторные базы данных предназначены для хранения и обработки векторов, поэтому они являются естественным домом для внедрения. Различные векторные базы данных предлагают различные возможности обработки, поэтому вы должны выбрать одну из них на основе необработанных данных и целей. Сведения о параметрах см . в доступных решениях для баз данных векторов.

Использование внедрения в решение LLM

При создании приложений на основе LLM можно использовать семантические ядра для интеграции моделей внедрения и векторных хранилищ, что позволяет быстро извлекать текстовые данные и создавать и хранить внедрения. Это позволяет использовать векторное решение базы данных для хранения и получения семантических воспоминаний.