Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Atualmente, a extensão do OpenAI do Azure para Azure Functions está em versão prévia.
A associação de entrada de pesquisa semântica do Azure OpenAI permite que você use a pesquisa semântica em suas inserções.
Para obter informações sobre os detalhes de configuração da extensão do OpenAI do Azure, confira Extensões do OpenAI do Azure para Azure Functions. Para saber mais sobre a classificação semântica na Pesquisa de IA do Azure, confira Classificação semântica na Pesquisa de IA do Azure.
Observação
Referências e exemplos só são fornecidos para o modelo do Node.js v4.
Observação
Referências e exemplos só são fornecidos para o modelo do Python v2.
Observação
Embora haja suporte para ambos os modelos de processo C#, apenas exemplos de modelo de trabalho isolados são fornecidos.
Exemplo
Este exemplo mostra como executar uma pesquisa semântica em um arquivo.
[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" };
}
Este exemplo mostra como executar uma pesquisa semântica em um arquivo.
@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;
}
}
Este exemplo mostra como executar uma pesquisa semântica em um arquivo.
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() }
}
});
Este exemplo mostra como executar uma pesquisa semântica em um arquivo.
Este é o arquivo function.json para solicitar um arquivo:
{
"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%"
}
]
}
Para obter mais informações sobre as propriedades do arquivo function.json, consulte a seção Configuração.
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Este exemplo mostra como executar uma pesquisa semântica em um arquivo.
@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"
)
Atributos
Aplique o SemanticSearchInput atributo para definir uma associação de entrada de pesquisa semântica, que dá suporte a esses parâmetros:
| Parâmetro | Descrição |
|---|---|
| SearchConnectionName | O nome de uma configuração de aplicativo ou uma variável de ambiente que contém o valor da cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
| Coleção | O nome da coleção, da tabela ou do índice a ser pesquisado. Essa propriedade dá suporte a expressões de associação. |
| Consulta | O texto de consulta semântica a ser usado para pesquisa. Essa propriedade dá suporte a expressões de associação. |
| EmbeddingsModel |
Opcional. A ID do modelo a ser usada para inserções. O valor padrão é text-embedding-3-small. Essa propriedade dá suporte a expressões de associação. |
| ChatModel |
Opcional. Obtém ou define o nome do Modelo de Linguagem Grande a ser invocado para respostas de chat. O valor padrão é gpt-3.5-turbo. Essa propriedade dá suporte a expressões de associação. |
| AIConnectionName | Opcional. Obtém ou define o nome da seção de configuração para as configurações de conectividade do serviço de IA. Para o Azure OpenAI: se especificado, procura valores de "Ponto de Extremidade" e "Chave" nesta seção de configuração. Se não for especificado ou a seção não existir, retornará às variáveis de ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Para autenticação de identidade gerenciada atribuída pelo usuário, essa propriedade é necessária. Para o serviço OpenAI (não Azure), defina a variável de ambiente OPENAI_API_KEY. |
| SystemPrompt |
Opcional. Obtém ou define o prompt do sistema a ser usado para solicitar o modelo de linguagem grande. O prompt do sistema é acrescentado com o conhecimento que é buscado como resultado do Query. O prompt combinado é enviado para a API de Chat do OpenAI. Essa propriedade dá suporte a expressões de associação. |
| MaxKnowledgeCount |
Opcional. Obtém ou define o número de itens de conhecimento a serem injetados no SystemPrompt. |
| IsReasoningModel |
Opcional. Obtém ou define um valor que indica se o modelo de conclusão do chat é um modelo de raciocínio. Essa opção é experimental e associada ao modelo de raciocínio até que todos os modelos tenham paridade nas propriedades esperadas, com um valor padrão de false. |
Anotações
A SemanticSearchInput anotação permite que você defina uma associação de entrada de pesquisa semântica, que dá suporte a esses parâmetros:
| Elemento | Descrição |
|---|---|
| nome | Obtém ou define o nome da associação de entrada. |
| searchConnectionName | O nome de uma configuração de aplicativo ou uma variável de ambiente que contém o valor da cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
| da coleção |
O nome da coleção, da tabela ou do índice a ser pesquisado. Essa propriedade dá suporte a expressões de associação. |
| consulta | O texto de consulta semântica a ser usado para pesquisa. Essa propriedade dá suporte a expressões de associação. |
| embeddingsModel |
Opcional. A ID do modelo a ser usada para inserções. O valor padrão é text-embedding-3-small. Essa propriedade dá suporte a expressões de associação. |
| chatModel |
Opcional. Obtém ou define o nome do Modelo de Linguagem Grande a ser invocado para respostas de chat. O valor padrão é gpt-3.5-turbo. Essa propriedade dá suporte a expressões de associação. |
| aiConnectionName | Opcional. Obtém ou define o nome da seção de configuração para as configurações de conectividade do serviço de IA. Para o Azure OpenAI: se especificado, procura valores de "Ponto de Extremidade" e "Chave" nesta seção de configuração. Se não for especificado ou a seção não existir, retornará às variáveis de ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Para autenticação de identidade gerenciada atribuída pelo usuário, essa propriedade é necessária. Para o serviço OpenAI (não Azure), defina a variável de ambiente OPENAI_API_KEY. |
| systemPrompt |
Opcional. Obtém ou define o prompt do sistema a ser usado para solicitar o modelo de linguagem grande. O prompt do sistema é acrescentado com o conhecimento que é buscado como resultado do Query. O prompt combinado é enviado para a API de Chat do OpenAI. Essa propriedade dá suporte a expressões de associação. |
| maxKnowledgeCount |
Opcional. Obtém ou define o número de itens de conhecimento a serem injetados no SystemPrompt. |
| isReasoningModel |
Opcional. Obtém ou define um valor que indica se o modelo de conclusão do chat é um modelo de raciocínio. Essa opção é experimental e associada ao modelo de raciocínio até que todos os modelos tenham paridade nas propriedades esperadas, com um valor padrão de false. |
Decoradores
Durante a versão prévia, defina a associação de entrada como uma associação generic_input_binding do tipo semanticSearch, que dá suporte a estes parâmetros:
| Parâmetro | Descrição |
|---|---|
| arg_name | O nome da variável que representa o parâmetro de associação. |
| search_connection_name | O nome de uma configuração de aplicativo ou uma variável de ambiente que contém o valor da cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
| da coleção |
O nome da coleção, da tabela ou do índice a ser pesquisado. Essa propriedade dá suporte a expressões de associação. |
| consulta | O texto de consulta semântica a ser usado para pesquisa. Essa propriedade dá suporte a expressões de associação. |
| embeddings_model |
Opcional. A ID do modelo a ser usada para inserções. O valor padrão é text-embedding-3-small. Essa propriedade dá suporte a expressões de associação. |
| chat_model |
Opcional. Obtém ou define o nome do Modelo de Linguagem Grande a ser invocado para respostas de chat. O valor padrão é gpt-3.5-turbo. Essa propriedade dá suporte a expressões de associação. |
| ai_connection_name | Opcional. Obtém ou define o nome da seção de configuração para as configurações de conectividade do serviço de IA. Para o Azure OpenAI: se especificado, procura valores de "Ponto de Extremidade" e "Chave" nesta seção de configuração. Se não for especificado ou a seção não existir, retornará às variáveis de ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Para autenticação de identidade gerenciada atribuída pelo usuário, essa propriedade é necessária. Para o serviço OpenAI (não Azure), defina a variável de ambiente OPENAI_API_KEY. |
| system_prompt |
Opcional. Obtém ou define o prompt do sistema a ser usado para solicitar o modelo de linguagem grande. O prompt do sistema é acrescentado com o conhecimento que é buscado como resultado do Query. O prompt combinado é enviado para a API de Chat do OpenAI. Essa propriedade dá suporte a expressões de associação. |
| max_knowledge_count |
Opcional. Obtém ou define o número de itens de conhecimento a serem injetados no SystemPrompt. |
| is_reasoning _model |
Opcional. Obtém ou define um valor que indica se o modelo de conclusão do chat é um modelo de raciocínio. Essa opção é experimental e associada ao modelo de raciocínio até que todos os modelos tenham paridade nas propriedades esperadas, com um valor padrão de false. |
Configuração
A associação dá suporte a essas propriedades de configuração definidas no arquivo function.json.
| Propriedade | Descrição |
|---|---|
| tipo | Deve ser semanticSearch. |
| direção | Deve ser in. |
| nome | O nome da associação de entrada. |
| searchConnectionName | Obtém ou define o nome de uma configuração de aplicativo ou variável de ambiente que contém um valor de cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
| da coleção |
O nome da coleção, da tabela ou do índice a ser pesquisado. Essa propriedade dá suporte a expressões de associação. |
| consulta | O texto de consulta semântica a ser usado para pesquisa. Essa propriedade dá suporte a expressões de associação. |
| embeddingsModel |
Opcional. A ID do modelo a ser usada para inserções. O valor padrão é text-embedding-3-small. Essa propriedade dá suporte a expressões de associação. |
| chatModel |
Opcional. Obtém ou define o nome do Modelo de Linguagem Grande a ser invocado para respostas de chat. O valor padrão é gpt-3.5-turbo. Essa propriedade dá suporte a expressões de associação. |
| aiConnectionName | Opcional. Obtém ou define o nome da seção de configuração para as configurações de conectividade do serviço de IA. Para o Azure OpenAI: se especificado, procura valores de "Ponto de Extremidade" e "Chave" nesta seção de configuração. Se não for especificado ou a seção não existir, retornará às variáveis de ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Para autenticação de identidade gerenciada atribuída pelo usuário, essa propriedade é necessária. Para o serviço OpenAI (não Azure), defina a variável de ambiente OPENAI_API_KEY. |
| systemPrompt |
Opcional. Obtém ou define o prompt do sistema a ser usado para solicitar o modelo de linguagem grande. O prompt do sistema é acrescentado com o conhecimento que é buscado como resultado do Query. O prompt combinado é enviado para a API de Chat do OpenAI. Essa propriedade dá suporte a expressões de associação. |
| maxKnowledgeCount |
Opcional. Obtém ou define o número de itens de conhecimento a serem injetados no SystemPrompt. |
| isReasoningModel |
Opcional. Obtém ou define um valor que indica se o modelo de conclusão do chat é um modelo de raciocínio. Essa opção é experimental e associada ao modelo de raciocínio até que todos os modelos tenham paridade nas propriedades esperadas, com um valor padrão de false. |
Configuração
A associação dá suporte a estas propriedades, que são definidas no código:
| Propriedade | Descrição |
|---|---|
| searchConnectionName | O nome de uma configuração de aplicativo ou uma variável de ambiente que contém o valor da cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
| da coleção |
O nome da coleção, da tabela ou do índice a ser pesquisado. Essa propriedade dá suporte a expressões de associação. |
| consulta | O texto de consulta semântica a ser usado para pesquisa. Essa propriedade dá suporte a expressões de associação. |
| embeddingsModel |
Opcional. A ID do modelo a ser usada para inserções. O valor padrão é text-embedding-3-small. Essa propriedade dá suporte a expressões de associação. |
| chatModel |
Opcional. Obtém ou define o nome do Modelo de Linguagem Grande a ser invocado para respostas de chat. O valor padrão é gpt-3.5-turbo. Essa propriedade dá suporte a expressões de associação. |
| aiConnectionName | Opcional. Obtém ou define o nome da seção de configuração para as configurações de conectividade do serviço de IA. Para o Azure OpenAI: se especificado, procura valores de "Ponto de Extremidade" e "Chave" nesta seção de configuração. Se não for especificado ou a seção não existir, retornará às variáveis de ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Para autenticação de identidade gerenciada atribuída pelo usuário, essa propriedade é necessária. Para o serviço OpenAI (não Azure), defina a variável de ambiente OPENAI_API_KEY. |
| systemPrompt |
Opcional. Obtém ou define o prompt do sistema a ser usado para solicitar o modelo de linguagem grande. O prompt do sistema é acrescentado com o conhecimento que é buscado como resultado do Query. O prompt combinado é enviado para a API de Chat do OpenAI. Essa propriedade dá suporte a expressões de associação. |
| maxKnowledgeCount |
Opcional. Obtém ou define o número de itens de conhecimento a serem injetados no SystemPrompt. |
| isReasoningModel |
Opcional. Obtém ou define um valor que indica se o modelo de conclusão do chat é um modelo de raciocínio. Essa opção é experimental e associada ao modelo de raciocínio até que todos os modelos tenham paridade nas propriedades esperadas, com um valor padrão de false. |
Uso
Consulte a Seção de exemplo para obter exemplos completos.