Associação de entrada de pesquisa semântica do OpenAI do Azure para Azure Functions
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 OpenAI do Azure permite que você realize pesquisas semânticas em suas incorporações.
Para informações sobre os detalhes de instalação e 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 realizar uma pesquisa semântica em um arquivo.
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; }
}
Este exemplo mostra como realizar uma pesquisa semântica em um arquivo.
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");
Ainda não há exemplos disponíveis.
Este exemplo mostra como realizar uma pesquisa semântica em um arquivo.
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.
Este exemplo mostra como realizar uma pesquisa semântica em um arquivo.
Aqui está 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",
"connectionName": "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
})
Ainda não há exemplos disponíveis.
Atributos
Aplique o atributo SemanticSearchInput
para definir uma associação de entrada de pesquisa semântica, que dá suporte a estes parâmetros:
Parâmetro | descrição |
---|---|
ConnectionName | 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 da consulta semântica a ser usado para a pesquisa. Essa propriedade dá suporte a expressões de associação. |
EmbeddingsModel | A ID do modelo a ser usada para as incorporações. O valor padrão é text-embedding-3-small . Essa propriedade dá suporte a expressões de associação. |
ChatModel | Obtém ou define o nome do modelo de linguagem grande para gerar as respostas de chat. O valor padrão é gpt-3.5-turbo . Essa propriedade dá suporte a expressões de associação. |
SystemPrompt | Opcional. Obtém ou define a solicitação do sistema a ser usada para a solicitações do modelo de linguagem grande. A solicitação do sistema é acrescentada com o conhecimento que é buscado como resultado da Query . A solicitação combinada é enviada 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 . |
Anotações
A anotação SemanticSearchInput
permite que você defina uma associação de entrada de pesquisa semântica, que dá suporte a estes parâmetros:
Element | Descrição |
---|---|
name | Obtém ou define o nome da associação de entrada. |
connectionName | 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. |
collection | 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 da consulta semântica a ser usado para a pesquisa. Essa propriedade dá suporte a expressões de associação. |
embeddingsModel | A ID do modelo a ser usada para as incorporações. O valor padrão é text-embedding-3-small . Essa propriedade dá suporte a expressões de associação. |
chatModel | Obtém ou define o nome do modelo de linguagem grande para gerar as respostas de chat. O valor padrão é gpt-3.5-turbo . Essa propriedade dá suporte a expressões de associação. |
systemPrompt | Opcional. Obtém ou define a solicitação do sistema a ser usada para a solicitações do modelo de linguagem grande. A solicitação do sistema é acrescentada com o conhecimento que é buscado como resultado da Query . A solicitação combinada é enviada 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 . |
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. |
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. |
collection | 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 da consulta semântica a ser usado para a pesquisa. Essa propriedade dá suporte a expressões de associação. |
embeddings_model | A ID do modelo a ser usada para as incorporações. O valor padrão é text-embedding-3-small . Essa propriedade dá suporte a expressões de associação. |
chat_model | Obtém ou define o nome do modelo de linguagem grande para gerar as respostas de chat. O valor padrão é gpt-3.5-turbo . Essa propriedade dá suporte a expressões de associação. |
system_prompt | Opcional. Obtém ou define a solicitação do sistema a ser usada para a solicitações do modelo de linguagem grande. A solicitação do sistema é acrescentada com o conhecimento que é buscado como resultado da Query . A solicitação combinada é enviada 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 . |
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 . |
direction | Deve ser in . |
name | O nome da associação de entrada. |
connectionName | Obtém ou define o nome de uma configuração de aplicativo ou uma variável de ambiente que contém um valor de cadeia de conexão. Essa propriedade dá suporte a expressões de associação. |
collection | 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 da consulta semântica a ser usado para a pesquisa. Essa propriedade dá suporte a expressões de associação. |
embeddingsModel | A ID do modelo a ser usada para as incorporações. O valor padrão é text-embedding-3-small . Essa propriedade dá suporte a expressões de associação. |
chatModel | Obtém ou define o nome do modelo de linguagem grande para gerar as respostas de chat. O valor padrão é gpt-3.5-turbo . Essa propriedade dá suporte a expressões de associação. |
systemPrompt | Opcional. Obtém ou define a solicitação do sistema a ser usada para a solicitações do modelo de linguagem grande. A solicitação do sistema é acrescentada com o conhecimento que é buscado como resultado da Query . A solicitação combinada é enviada 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 . |
Configuração
A associação dá suporte a estas propriedades, que são definidas no código:
Propriedade | Descrição |
---|---|
connectionName | 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. |
collection | 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 da consulta semântica a ser usado para a pesquisa. Essa propriedade dá suporte a expressões de associação. |
embeddingsModel | A ID do modelo a ser usada para as incorporações. O valor padrão é text-embedding-3-small . Essa propriedade dá suporte a expressões de associação. |
chatModel | Obtém ou define o nome do modelo de linguagem grande para gerar as respostas de chat. O valor padrão é gpt-3.5-turbo . Essa propriedade dá suporte a expressões de associação. |
systemPrompt | Opcional. Obtém ou define a solicitação do sistema a ser usada para a solicitações do modelo de linguagem grande. A solicitação do sistema é acrescentada com o conhecimento que é buscado como resultado da Query . A solicitação combinada é enviada 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 . |
Uso
Consulte a Seção de exemplo para obter exemplos completos.