Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Die Azure OpenAI-Erweiterung für Azure Functions befindet sich derzeit in der Vorschau.
Mit der Eingabebindung für die semantische Azure OpenAI-Suche können Sie die semantische Suche für Ihre Einbettungen verwenden.
Informationen zu Einrichtungs- und Konfigurationsdetails der Azure OpenAI-Erweiterung finden Sie unter Azure OpenAI-Erweiterungen für Azure Functions. Weitere Informationen zur semantischen Rangfolge in der Azure KI-Suche finden Sie unter Semantische Rangfolge in der Azure KI-Suche.
Hinweis
Referenzen und Beispiele werden nur für das Node.js v4-Modell bereitgestellt.
Hinweis
Referenzen und Beispiele werden nur für das Python v2-Modell bereitgestellt.
Hinweis
Während beide C#-Prozessmodelle unterstützt werden, werden nur Isolierte Arbeitsmodellbeispiele bereitgestellt.
Beispiel
In diesem Beispiel wird gezeigt, wie Sie eine semantische Suche in einer Datei ausführen.
[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" };
}
In diesem Beispiel wird gezeigt, wie Sie eine semantische Suche in einer Datei ausführen.
@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;
}
}
In diesem Beispiel wird gezeigt, wie Sie eine semantische Suche in einer Datei ausführen.
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() }
}
});
In diesem Beispiel wird gezeigt, wie Sie eine semantische Suche in einer Datei ausführen.
Dies ist die function.json Datei zum Anfordern einer Datei:
{
"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%"
}
]
}
Weitere Informationen zu den Dateieigenschaften von function.json finden Sie im Abschnitt Konfiguration.
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
In diesem Beispiel wird gezeigt, wie Sie eine semantische Suche in einer Datei ausführen.
@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"
)
Attribute
Wenden Sie das SemanticSearchInput
Attribut an, um eine Eingabebindung für die semantische Suche zu definieren, die diese Parameter unterstützt:
Parameter | BESCHREIBUNG |
---|---|
SearchConnectionName | Den Namen einer App-Einstellung oder Umgebungsvariable, die den Wert der Verbindungszeichenfolge enthält. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Sammlung | Den Name der zu durchsuchenden Sammlung oder Tabelle oder des Indexes. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Abfrage | Der für die Suche zu verwendende semantische Abfragetext. Diese Eigenschaft unterstützt Bindungsausdrücke. |
EmbeddingsModel |
Optional. Die ID des Modells, das für Einbettungen verwendet werden soll. Der Standardwert ist text-embedding-3-small . Diese Eigenschaft unterstützt Bindungsausdrücke. |
ChatModel |
Optional. Ruft den Namen des großen Sprachmodells ab, das für Chatantworten aufgerufen werden soll, oder legt diesen fest. Der Standardwert ist gpt-3.5-turbo . Diese Eigenschaft unterstützt Bindungsausdrücke. |
AIConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
SystemPrompt |
Optional. Ruft die Systemaufforderung ab, die zum Anfordern des großen Sprachmodells verwendet werden soll, oder legt sie fest. Die Systemaufforderung wird mit Wissen angefügt, das als Ergebnis der Query Abgerufen wird. Die kombinierte Eingabeaufforderung wird an die OpenAI-Chat-API gesendet. Diese Eigenschaft unterstützt Bindungsausdrücke. |
MaxKnowledgeCount |
Optional. Ruft die Anzahl der Wissenselemente ab, die in das SystemPrompt Element eingefügt werden sollen, oder legt diese fest. |
IsReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false . |
Anmerkungen
Mit der SemanticSearchInput
Anmerkung können Sie eine semantische Sucheingabebindung definieren, die diese Parameter unterstützt:
Element | BESCHREIBUNG |
---|---|
Name | Ruft den Namen der Eingabebindung ab oder legt ihn fest. |
searchConnectionName | Den Namen einer App-Einstellung oder Umgebungsvariable, die den Wert der Verbindungszeichenfolge enthält. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Sammlung | Den Name der zu durchsuchenden Sammlung oder Tabelle oder des Indexes. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Anfrage | Der für die Suche zu verwendende semantische Abfragetext. Diese Eigenschaft unterstützt Bindungsausdrücke. |
embeddingsModel |
Optional. Die ID des Modells, das für Einbettungen verwendet werden soll. Der Standardwert ist text-embedding-3-small . Diese Eigenschaft unterstützt Bindungsausdrücke. |
chatModel |
Optional. Ruft den Namen des großen Sprachmodells ab, das für Chatantworten aufgerufen werden soll, oder legt diesen fest. Der Standardwert ist gpt-3.5-turbo . Diese Eigenschaft unterstützt Bindungsausdrücke. |
aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
systemPrompt |
Optional. Ruft die Systemaufforderung ab, die zum Anfordern des großen Sprachmodells verwendet werden soll, oder legt sie fest. Die Systemaufforderung wird mit Wissen angefügt, das als Ergebnis der Query Abgerufen wird. Die kombinierte Eingabeaufforderung wird an die OpenAI-Chat-API gesendet. Diese Eigenschaft unterstützt Bindungsausdrücke. |
maxKnowledgeCount |
Optional. Ruft die Anzahl der Wissenselemente ab, die in das SystemPrompt Element eingefügt werden sollen, oder legt diese fest. |
isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false . |
Decorator-Elemente
Definieren Sie während der Vorschau die Eingabebindung als generic_input_binding
-Bindung vom Typ semanticSearch
, die diese Parameter unterstützt:
Parameter | BESCHREIBUNG |
---|---|
arg_name | Der Name der Variablen, die den Bindungsparameter darstellt. |
search_connection_name | Den Namen einer App-Einstellung oder Umgebungsvariable, die den Wert der Verbindungszeichenfolge enthält. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Sammlung | Den Name der zu durchsuchenden Sammlung oder Tabelle oder des Indexes. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Anfrage | Der für die Suche zu verwendende semantische Abfragetext. Diese Eigenschaft unterstützt Bindungsausdrücke. |
embeddings_model |
Optional. Die ID des Modells, das für Einbettungen verwendet werden soll. Der Standardwert ist text-embedding-3-small . Diese Eigenschaft unterstützt Bindungsausdrücke. |
chat_model |
Optional. Ruft den Namen des großen Sprachmodells ab, das für Chatantworten aufgerufen werden soll, oder legt diesen fest. Der Standardwert ist gpt-3.5-turbo . Diese Eigenschaft unterstützt Bindungsausdrücke. |
ai_connection_name | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
system_prompt |
Optional. Ruft die Systemaufforderung ab, die zum Anfordern des großen Sprachmodells verwendet werden soll, oder legt sie fest. Die Systemaufforderung wird mit Wissen angefügt, das als Ergebnis der Query Abgerufen wird. Die kombinierte Eingabeaufforderung wird an die OpenAI-Chat-API gesendet. Diese Eigenschaft unterstützt Bindungsausdrücke. |
max_knowledge_count |
Optional. Ruft die Anzahl der Wissenselemente ab, die in das SystemPrompt Element eingefügt werden sollen, oder legt diese fest. |
is_reasoning _model |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false . |
Konfiguration
Die Bindung unterstützt diese Konfigurationseigenschaften, die Sie in der Datei „function.json“ festlegen.
Eigentum | BESCHREIBUNG |
---|---|
Typ | Muss semanticSearch sein. |
Richtung | Muss in sein. |
Name | Der Name der Eingabebindung. |
searchConnectionName | Dient zum Abrufen oder Festlegen des Namens einer App-Einstellung oder Umgebungsvariable, die einen Verbindungszeichenfolgenwert enthält. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Sammlung | Den Name der zu durchsuchenden Sammlung oder Tabelle oder des Indexes. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Anfrage | Der für die Suche zu verwendende semantische Abfragetext. Diese Eigenschaft unterstützt Bindungsausdrücke. |
embeddingsModel |
Optional. Die ID des Modells, das für Einbettungen verwendet werden soll. Der Standardwert ist text-embedding-3-small . Diese Eigenschaft unterstützt Bindungsausdrücke. |
chatModel |
Optional. Ruft den Namen des großen Sprachmodells ab, das für Chatantworten aufgerufen werden soll, oder legt diesen fest. Der Standardwert ist gpt-3.5-turbo . Diese Eigenschaft unterstützt Bindungsausdrücke. |
aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
systemPrompt |
Optional. Ruft die Systemaufforderung ab, die zum Anfordern des großen Sprachmodells verwendet werden soll, oder legt sie fest. Die Systemaufforderung wird mit Wissen angefügt, das als Ergebnis der Query Abgerufen wird. Die kombinierte Eingabeaufforderung wird an die OpenAI-Chat-API gesendet. Diese Eigenschaft unterstützt Bindungsausdrücke. |
maxKnowledgeCount |
Optional. Ruft die Anzahl der Wissenselemente ab, die in das SystemPrompt Element eingefügt werden sollen, oder legt diese fest. |
isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false . |
Konfiguration
Die Bindung unterstützt diese Eigenschaften, die in Ihrem Code definiert sind:
Eigentum | BESCHREIBUNG |
---|---|
searchConnectionName | Den Namen einer App-Einstellung oder Umgebungsvariable, die den Wert der Verbindungszeichenfolge enthält. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Sammlung | Den Name der zu durchsuchenden Sammlung oder Tabelle oder des Indexes. Diese Eigenschaft unterstützt Bindungsausdrücke. |
Anfrage | Der für die Suche zu verwendende semantische Abfragetext. Diese Eigenschaft unterstützt Bindungsausdrücke. |
embeddingsModel |
Optional. Die ID des Modells, das für Einbettungen verwendet werden soll. Der Standardwert ist text-embedding-3-small . Diese Eigenschaft unterstützt Bindungsausdrücke. |
chatModel |
Optional. Ruft den Namen des großen Sprachmodells ab, das für Chatantworten aufgerufen werden soll, oder legt diesen fest. Der Standardwert ist gpt-3.5-turbo . Diese Eigenschaft unterstützt Bindungsausdrücke. |
aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
systemPrompt |
Optional. Ruft die Systemaufforderung ab, die zum Anfordern des großen Sprachmodells verwendet werden soll, oder legt sie fest. Die Systemaufforderung wird mit Wissen angefügt, das als Ergebnis der Query Abgerufen wird. Die kombinierte Eingabeaufforderung wird an die OpenAI-Chat-API gesendet. Diese Eigenschaft unterstützt Bindungsausdrücke. |
maxKnowledgeCount |
Optional. Ruft die Anzahl der Wissenselemente ab, die in das SystemPrompt Element eingefügt werden sollen, oder legt diese fest. |
isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false . |
Verwendung
Vollständige Beispiele finden Sie im Abschnitt „Beispiele“.