Vstupní vazba sémantického vyhledávání Azure OpenAI pro Azure Functions
Důležité
Rozšíření Azure OpenAI pro Azure Functions je aktuálně ve verzi Preview.
Vstupní vazba sémantického vyhledávání Azure OpenAI umožňuje použít sémantické vyhledávání ve vložených možnostech.
Informace o nastavení a konfiguraci rozšíření Azure OpenAI najdete v tématu Rozšíření Azure OpenAI pro Azure Functions. Další informace o sémantickém řazení ve službě Azure AI Search najdete v tématu Sémantické řazení ve službě Azure AI Search.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Node.js v4.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Pythonu v2.
Poznámka:
I když jsou podporovány oba modely procesu jazyka C#, jsou k dispozici pouze příklady izolovaného modelu pracovního procesu .
Příklad
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
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; }
}
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
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");
Příklady ještě nejsou k dispozici.
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
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.
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
Tady je soubor function.json pro zobrazení výzvy k zadání souboru:
{
"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%"
}
]
}
Další informace o function.json vlastnosti souboru naleznete v části Konfigurace .
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Příklady ještě nejsou k dispozici.
Atributy
Pomocí atributu SemanticSearchInput
definujte sémantickou vstupní vazbu hledání, která podporuje tyto parametry:
Parametr | popis |
---|---|
ConnectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
Kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
Dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
EmbeddingsModel | ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small . Tato vlastnost podporuje vazbové výrazy. |
ChatModel | Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo . Tato vlastnost podporuje vazbové výrazy. |
SystemPrompt | Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query . Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
MaxKnowledgeCount | Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt . |
Poznámky
Poznámka SemanticSearchInput
umožňuje definovat sémantickou vstupní vazbu hledání, která podporuje tyto parametry:
Element (Prvek) | Popis |
---|---|
Jméno | Získá nebo nastaví název vstupní vazby. |
connectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
sbírka | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
query | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
embeddingsModel | ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small . Tato vlastnost podporuje vazbové výrazy. |
chatModel | Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo . Tato vlastnost podporuje vazbové výrazy. |
systemPrompt | Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query . Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
maxKnowledgeCount | Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt . |
Dekoratéry
Během náhledu definujte vstupní vazbu jako generic_input_binding
vazbu typu semanticSearch
, která podporuje tyto parametry:
Parametr | Popis |
---|---|
arg_name | Název proměnné, která představuje parametr vazby. |
connection_name | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
sbírka | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
query | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
embeddings_model | ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small . Tato vlastnost podporuje vazbové výrazy. |
chat_model | Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo . Tato vlastnost podporuje vazbové výrazy. |
system_prompt | Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query . Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
max_knowledge_count | Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt . |
Konfigurace
Vazba podporuje tyto vlastnosti konfigurace, které jste nastavili v souboru function.json.
Vlastnost | Popis |
---|---|
type | Musí být semanticSearch . |
direction | Musí být in . |
Jméno | Název vstupní vazby. |
connectionName | Získá nebo nastaví název nastavení aplikace nebo proměnné prostředí, která obsahuje připojovací řetězec hodnotu. Tato vlastnost podporuje vazbové výrazy. |
sbírka | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
query | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
embeddingsModel | ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small . Tato vlastnost podporuje vazbové výrazy. |
chatModel | Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo . Tato vlastnost podporuje vazbové výrazy. |
systemPrompt | Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query . Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
maxKnowledgeCount | Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt . |
Konfigurace
Vazba podporuje tyto vlastnosti, které jsou definovány v kódu:
Vlastnost | Popis |
---|---|
connectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
sbírka | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
query | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
embeddingsModel | ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small . Tato vlastnost podporuje vazbové výrazy. |
chatModel | Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo . Tato vlastnost podporuje vazbové výrazy. |
systemPrompt | Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query . Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
maxKnowledgeCount | Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt . |
Využití
Kompletní příklady najdete v části Příklad.