Привязка входных данных семантического поиска 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 . |
Использование
Подробные примеры см. в разделе Примеры.