Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Это важно
Расширение 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по умолчанию. |
Использование
Подробные примеры см. в разделе Примеры.