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


Привязка входных данных семантического поиска Azure OpenAI для Функции Azure

Внимание

Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.

Привязка входных данных семантического поиска Azure OpenAI позволяет использовать семантический поиск в внедрениях.

Сведения о настройке и настройке расширения Azure OpenAI см. в Функции Azure расширения Azure OpenAI. Дополнительные сведения о семантике ранжирования в службе "Поиск ИИ Azure" см. в статье "Семантический ранжирование" в службе "Поиск ИИ Azure".

Примечание.

Ссылки и примеры предоставляются только для модели Node.js версии 4.

Примечание.

Ссылки и примеры предоставляются только для модели Python версии 2.

Примечание.

Хотя поддерживаются обе модели процессов C#, предоставляются только примеры изолированных рабочих моделей .

Пример

В этом примере показано, как выполнить семантический поиск в файле.


public class EmbeddingsStoreOutputResponse
{
    [EmbeddingsStoreOutput("{url}", InputType.Url, "AISearchEndpoint", "openai-index", Model = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%")]
    public required SearchableDocument SearchableDocument { get; init; }

    public IActionResult? HttpResponse { get; set; }
}

В этом примере показано, как выполнить семантический поиск в файле.

        return searchableDocument;
    }

}

@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
    @HttpTrigger(
        name = "req", 
        methods = {HttpMethod.POST},
        authLevel = AuthorizationLevel.ANONYMOUS)
        HttpRequestMessage<SemanticSearchRequest> request,
    @SemanticSearch(name = "search", connectionName = "AISearchEndpoint", collection = "openai-index", query = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%" ) String semanticSearchContext,
    final ExecutionContext context) {
        String response = new JSONObject(semanticSearchContext).getString("Response");

Примеры пока недоступны.

В этом примере показано, как выполнить семантический поиск в файле.

    type: 'embeddings',
    maxChunkLength: 512,
    model: '%EMBEDDING_MODEL_DEPLOYMENT_NAME%'
})

app.http('getEmbeddingsFilePath', {
    methods: ['POST'],
    route: 'embeddings-from-file',
    authLevel: 'function',
    extraInputs: [embeddingsFilePathInput],
    handler: async (request, context) => {
        let requestBody: EmbeddingsFilePath = await request.json();
        let response: any = context.extraInputs.get(embeddingsFilePathInput);

        context.log(
            `Received ${response.count} embedding(s) for input file ${requestBody.FilePath}.`
        );
        
        // TODO: Store the embeddings into a database or other storage.

В этом примере показано, как выполнить семантический поиск в файле.

Ниже приведен файл function.json для запроса файла:

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "Request",
      "methods": [
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "Response"
    },
    {
      "name": "SemanticSearchInput",
      "type": "semanticSearch",
      "direction": "in",
      "connectionName": "AISearchEndpoint",
      "collection": "openai-index",
      "query": "{prompt}",
      "chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
      "embeddingsModel": "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
    }
  ]
}

Дополнительные сведения о свойствах файла function.json см. в разделе "Конфигурация ".

using namespace System.Net

param($Request, $TriggerMetadata, $SemanticSearchInput)

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
        StatusCode = [HttpStatusCode]::OK
        Body       = $SemanticSearchInput.Response
    })

Примеры пока недоступны.

Атрибуты

SemanticSearchInput Примените атрибут для определения семантической входной привязки поиска, которая поддерживает следующие параметры:

Параметр описание
ConnectionName Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок.
Коллекция Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок.
Запрос Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок.
ВнедрениеsModel Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small. Это свойство поддерживает выражения привязок.
ChatModel Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo. Это свойство поддерживает выражения привязок.
SystemPrompt Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Queryвыполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок.
MaxKnowledgeCount Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt.

Заметки

Заметка SemanticSearchInput позволяет определить семантику входных данных поиска, которая поддерживает следующие параметры:

Элемент Description
name Возвращает или задает имя входной привязки.
connectionName Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок.
collection Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок.
query Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок.
embeddingsModel Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small. Это свойство поддерживает выражения привязок.
chatModel Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo. Это свойство поддерживает выражения привязок.
systemPrompt Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Queryвыполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок.
maxKnowledgeCount Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt.

Декораторы

Во время предварительной версии определите входную привязку как привязку generic_input_binding типа semanticSearch, которая поддерживает следующие параметры:

Параметр Описание
arg_name Имя переменной, представляющей параметр привязки.
connection_name Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок.
collection Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок.
query Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок.
embeddings_model Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small. Это свойство поддерживает выражения привязок.
chat_model Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo. Это свойство поддерживает выражения привязок.
system_prompt Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Queryвыполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок.
max_knowledge_count Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt.

Настройка

Привязка поддерживает эти свойства конфигурации, заданные в файле function.json.

Свойство Описание
type Этот параметр должен содержать значение semanticSearch.
direction Этот параметр должен содержать значение in.
name Имя входной привязки.
connectionName Возвращает или задает имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок.
collection Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок.
query Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок.
embeddingsModel Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small. Это свойство поддерживает выражения привязок.
chatModel Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo. Это свойство поддерживает выражения привязок.
systemPrompt Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Queryвыполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок.
maxKnowledgeCount Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt.

Настройка

Привязка поддерживает эти свойства, определенные в коде:

Свойство Description
connectionName Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок.
collection Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок.
query Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок.
embeddingsModel Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small. Это свойство поддерживает выражения привязок.
chatModel Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo. Это свойство поддерживает выражения привязок.
systemPrompt Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Queryвыполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок.
maxKnowledgeCount Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt.

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

Подробные примеры см. в разделе Примеры.