Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Расширение Azure OpenAI для Функции Azure в настоящее время находится в предварительной версии.
Привязка входных данных семантического поиска Azure OpenAI позволяет использовать семантический поиск в внедрениях.
Сведения о настройке и настройке расширения Azure OpenAI см. в Функции Azure расширения Azure OpenAI. Дополнительные сведения о семантике ранжирования в службе "Поиск ИИ Azure" см. в статье "Семантический ранжирование" в службе "Поиск ИИ Azure".
Замечание
Ссылки и примеры предоставляются только для модели Node.js версии 4.
Замечание
Ссылки и примеры предоставляются только для модели Python версии 2.
Замечание
Хотя поддерживаются обе модели процессов C#, предоставляются только примеры изолированных рабочих моделей .
Пример
В этом примере показано, как выполнить семантический поиск в файле.
[Function("PromptFile")]
public static IActionResult PromptFile(
[HttpTrigger(AuthorizationLevel.Function, "post")] SemanticSearchRequest unused,
[SemanticSearchInput("AISearchEndpoint", "openai-index", Query = "{prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", EmbeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%")] SemanticSearchContext result)
{
return new ContentResult { Content = result.Response, ContentType = "text/plain" };
}
В этом примере показано, как выполнить семантический поиск в файле.
@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<SemanticSearchRequest> request,
@SemanticSearch(name = "search", searchConnectionName = "AISearchEndpoint", collection = "openai-index", query = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%", isReasoningModel = false ) String semanticSearchContext,
final ExecutionContext context) {
String response = new JSONObject(semanticSearchContext).getString("Response");
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response)
.build();
}
public class SemanticSearchRequest {
public String prompt;
public String getPrompt() {
return prompt;
}
public void setPrompt(String prompt) {
this.prompt = prompt;
}
}
В этом примере показано, как выполнить семантический поиск в файле.
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody: any = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
В этом примере показано, как выполнить семантический поиск в файле.
Ниже приведен файл 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",
"searchConnectionName": "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
})
В этом примере показано, как выполнить семантический поиск в файле.
@app.function_name("PromptFile")
@app.route(methods=["POST"])
@app.semantic_search_input(
arg_name="result",
search_connection_name="AISearchEndpoint",
collection="openai-index",
query="{prompt}",
embeddings_model="%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def prompt_file(req: func.HttpRequest, result: str) -> func.HttpResponse:
result_json = json.loads(result)
response_json = {
"content": result_json.get("Response"),
"content_type": "text/plain",
}
return func.HttpResponse(
json.dumps(response_json), status_code=200, mimetype="application/json"
)
Атрибуты
SemanticSearchInput
Примените атрибут для определения семантической входной привязки поиска, которая поддерживает следующие параметры:
Параметр | Описание |
---|---|
SearchConnectionName | Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок. |
Коллекция | Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок. |
Запрос | Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок. |
ВнедрениеsModel |
Необязательно. Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small . Это свойство поддерживает выражения привязок. |
ChatModel |
Необязательно. Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo . Это свойство поддерживает выражения привязок. |
AIConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
SystemPrompt |
Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Query выполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок. |
MaxKnowledgeCount |
Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt . |
IsReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением false по умолчанию. |
Аннотации
Заметка SemanticSearchInput
позволяет определить семантику входных данных поиска, которая поддерживает следующие параметры:
Элемент | Описание |
---|---|
имя | Возвращает или задает имя входной привязки. |
searchConnectionName | Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок. |
коллекция | Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок. |
запрос | Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок. |
embeddingsModel |
Необязательно. Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small . Это свойство поддерживает выражения привязок. |
chatModel |
Необязательно. Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo . Это свойство поддерживает выражения привязок. |
aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
systemPrompt |
Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Query выполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок. |
maxKnowledgeCount |
Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt . |
isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением false по умолчанию. |
Декораторы
Во время предварительной версии определите входную привязку как привязку generic_input_binding
типа semanticSearch
, которая поддерживает следующие параметры:
Параметр | Описание |
---|---|
arg_name | Имя переменной, представляющей параметр привязки. |
search_connection_name | Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок. |
коллекция | Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок. |
запрос | Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок. |
embeddings_model |
Необязательно. Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small . Это свойство поддерживает выражения привязок. |
chat_model |
Необязательно. Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo . Это свойство поддерживает выражения привязок. |
ai_connection_name | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
system_prompt |
Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Query выполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок. |
max_knowledge_count |
Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt . |
is_reasoning _model |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением false по умолчанию. |
Конфигурация
Привязка поддерживает эти свойства конфигурации, заданные в файле function.json.
Недвижимость | Описание |
---|---|
тип | Этот параметр должен содержать значение semanticSearch . |
направление | Этот параметр должен содержать значение in . |
имя | Имя входной привязки. |
searchConnectionName | Возвращает или задает имя параметра приложения или переменной среды, содержащей строковое значение подключения. Это свойство поддерживает выражения привязок. |
коллекция | Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок. |
запрос | Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок. |
embeddingsModel |
Необязательно. Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small . Это свойство поддерживает выражения привязок. |
chatModel |
Необязательно. Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo . Это свойство поддерживает выражения привязок. |
aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
systemPrompt |
Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Query выполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок. |
maxKnowledgeCount |
Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt . |
isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением false по умолчанию. |
Конфигурация
Привязка поддерживает эти свойства, определенные в коде:
Недвижимость | Описание |
---|---|
searchConnectionName | Имя параметра приложения или переменной среды, содержащей значение строка подключения. Это свойство поддерживает выражения привязок. |
коллекция | Имя коллекции или таблицы или индекса для поиска. Это свойство поддерживает выражения привязок. |
запрос | Текст семантического запроса, используемый для поиска. Это свойство поддерживает выражения привязок. |
embeddingsModel |
Необязательно. Идентификатор модели, используемой для внедрения. Значение по умолчанию — text-embedding-3-small . Это свойство поддерживает выражения привязок. |
chatModel |
Необязательно. Возвращает или задает имя модели большого языка для вызова ответов чата. Значение по умолчанию — gpt-3.5-turbo . Это свойство поддерживает выражения привязок. |
aiConnectionName | Необязательно. Возвращает или задает имя раздела конфигурации для параметров подключения службы ИИ. Для Azure OpenAI: если указано, найдите значения Endpoint и Key в этом разделе конфигурации. Если этот раздел не указан или раздел не существует, возвращается к переменным среды: AZURE_OPENAI_ENDPOINT и AZURE_OPENAI_KEY. Для проверки подлинности управляемого удостоверения, назначаемого пользователем, это свойство необходимо. Для службы OpenAI (не Azure) задайте переменную среды OPENAI_API_KEY. |
systemPrompt |
Необязательно. Возвращает или задает системный запрос, используемый для запроса крупной языковой модели. Системный запрос добавляется с знаниями, которые извлекается в результате Query выполнения. Объединенный запрос отправляется в API Чата OpenAI. Это свойство поддерживает выражения привязок. |
maxKnowledgeCount |
Необязательно. Возвращает или задает количество элементов знаний, которые необходимо внедрить в SystemPrompt . |
isReasoningModel |
Необязательно. Возвращает или задает значение, указывающее, является ли модель завершения чата моделью причин. Этот параметр является экспериментальным и связан с моделью причин, пока все модели не имеют четности в ожидаемых свойствах с значением false по умолчанию. |
Использование
Подробные примеры см. в разделе Примеры.