Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az Azure Functions Azure OpenAI bővítménye jelenleg előzetes verzióban érhető el.
Az Azure OpenAI szemantikai keresési bemeneti kötése lehetővé teszi a szemantikai keresés használatát a beágyazásokon.
Az Azure OpenAI-bővítmény beállítási és konfigurációs részleteiről további információt az Azure Functions Azure OpenAI-bővítményeivel kapcsolatban talál. Az Azure AI Search szemantikai rangsorolásával kapcsolatos további információkért lásd az Azure AI Search szemantikai rangsorolását.
Megjegyzés:
A referenciák és példák csak a Node.js v4-modellhez vannak megadva.
Megjegyzés:
A hivatkozások és példák csak a Python v2-modellhez vannak megadva.
Megjegyzés:
Bár mindkét C#-folyamatmodell támogatott, csak izolált feldolgozómodell-példák állnak rendelkezésre.
példa
Ez a példa bemutatja, hogyan végezhet szemantikai keresést egy fájlon.
[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" };
}
Ez a példa bemutatja, hogyan végezhet szemantikai keresést egy fájlon.
@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;
}
}
Ez a példa bemutatja, hogyan végezhet szemantikai keresést egy fájlon.
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() }
}
});
Ez a példa bemutatja, hogyan végezhet szemantikai keresést egy fájlon.
A következőfunction.json fájl kérése:
{
"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%"
}
]
}
A function.json fájltulajdonságokról a Konfiguráció szakaszban talál további információt.
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Ez a példa bemutatja, hogyan végezhet szemantikai keresést egy fájlon.
@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"
)
Tulajdonságok
Alkalmazza az SemanticSearchInput attribútumot egy szemantikai keresési bemeneti kötés definiálására, amely az alábbi paramétereket támogatja:
| Paraméter | Leírás |
|---|---|
| SearchConnectionName | A kapcsolati sztring értéket tartalmazó alkalmazásbeállítás vagy környezeti változó neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| Gyűjtemény | A keresendő gyűjtemény vagy tábla vagy index neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| Lekérdezés | A kereséshez használandó szemantikai lekérdezésszöveg. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| EmbeddingsModel |
Választható. A beágyazáshoz használandó modell azonosítója. Az alapértelmezett érték a text-embedding-3-small. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| ChatModel |
Választható. Lekéri vagy beállítja a nagy nyelvi modell nevét a csevegési válaszok meghívásához. Az alapértelmezett érték a gpt-3.5-turbo. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| AIConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| SystemPrompt |
Választható. Lekéri vagy beállítja a rendszerkérést a nagy nyelvi modell kéréséhez. A rendszer parancssora hozzá van fűzve a rendszer által beolvasott Querytudással. A rendszer elküldi az egyesített kérést az OpenAI Chat API-nak. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| MaxKnowledgeCount |
Választható. Lekéri vagy beállítja a beszúrni kívánt tudáselemek számát.SystemPrompt |
| IsReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Megjegyzések
A SemanticSearchInput széljegyzet lehetővé teszi a szemantikai keresési bemeneti kötés definiálását, amely támogatja az alábbi paramétereket:
| Elem | Leírás |
|---|---|
| név | Lekéri vagy beállítja a bemeneti kötés nevét. |
| searchConnectionName | A kapcsolati sztring értéket tartalmazó alkalmazásbeállítás vagy környezeti változó neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| gyűjtemény | A keresendő gyűjtemény vagy tábla vagy index neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| lekérdezés | A kereséshez használandó szemantikai lekérdezésszöveg. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| embeddingsModel |
Választható. A beágyazáshoz használandó modell azonosítója. Az alapértelmezett érték a text-embedding-3-small. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| chatModel |
Választható. Lekéri vagy beállítja a nagy nyelvi modell nevét a csevegési válaszok meghívásához. Az alapértelmezett érték a gpt-3.5-turbo. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| systemPrompt |
Választható. Lekéri vagy beállítja a rendszerkérést a nagy nyelvi modell kéréséhez. A rendszer parancssora hozzá van fűzve a rendszer által beolvasott Querytudással. A rendszer elküldi az egyesített kérést az OpenAI Chat API-nak. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| maxKnowledgeCount |
Választható. Lekéri vagy beállítja a beszúrni kívánt tudáselemek számát.SystemPrompt |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Dekorátorok
Az előzetes verzióban adja meg a bemeneti kötést típuskötésként generic_input_bindingsemanticSearch, amely támogatja az alábbi paramétereket:
| Paraméter | Leírás |
|---|---|
| arg_name | A kötési paramétert képviselő változó neve. |
| search_connection_name | A kapcsolati sztring értéket tartalmazó alkalmazásbeállítás vagy környezeti változó neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| gyűjtemény | A keresendő gyűjtemény vagy tábla vagy index neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| lekérdezés | A kereséshez használandó szemantikai lekérdezésszöveg. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| embeddings_model |
Választható. A beágyazáshoz használandó modell azonosítója. Az alapértelmezett érték a text-embedding-3-small. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| chat_model |
Választható. Lekéri vagy beállítja a nagy nyelvi modell nevét a csevegési válaszok meghívásához. Az alapértelmezett érték a gpt-3.5-turbo. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| ai_connection_name | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| system_prompt |
Választható. Lekéri vagy beállítja a rendszerkérést a nagy nyelvi modell kéréséhez. A rendszer parancssora hozzá van fűzve a rendszer által beolvasott Querytudással. A rendszer elküldi az egyesített kérést az OpenAI Chat API-nak. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| max_knowledge_count |
Választható. Lekéri vagy beállítja a beszúrni kívánt tudáselemek számát.SystemPrompt |
| is_reasoning _model |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Konfiguráció
A kötés támogatja a function.json fájlban beállított konfigurációs tulajdonságokat.
| Ingatlan | Leírás |
|---|---|
| típus | Kell lennie semanticSearch. |
| irány | Kell lennie in. |
| név | A bemeneti kötés neve. |
| searchConnectionName | Lekéri vagy beállítja egy kapcsolati sztringértéket tartalmazó alkalmazásbeállítás vagy környezeti változó nevét. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| gyűjtemény | A keresendő gyűjtemény vagy tábla vagy index neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| lekérdezés | A kereséshez használandó szemantikai lekérdezésszöveg. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| embeddingsModel |
Választható. A beágyazáshoz használandó modell azonosítója. Az alapértelmezett érték a text-embedding-3-small. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| chatModel |
Választható. Lekéri vagy beállítja a nagy nyelvi modell nevét a csevegési válaszok meghívásához. Az alapértelmezett érték a gpt-3.5-turbo. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| systemPrompt |
Választható. Lekéri vagy beállítja a rendszerkérést a nagy nyelvi modell kéréséhez. A rendszer parancssora hozzá van fűzve a rendszer által beolvasott Querytudással. A rendszer elküldi az egyesített kérést az OpenAI Chat API-nak. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| maxKnowledgeCount |
Választható. Lekéri vagy beállítja a beszúrni kívánt tudáselemek számát.SystemPrompt |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Konfiguráció
A kötés támogatja ezeket a tulajdonságokat, amelyek a kódban vannak definiálva:
| Ingatlan | Leírás |
|---|---|
| searchConnectionName | A kapcsolati sztring értéket tartalmazó alkalmazásbeállítás vagy környezeti változó neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| gyűjtemény | A keresendő gyűjtemény vagy tábla vagy index neve. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| lekérdezés | A kereséshez használandó szemantikai lekérdezésszöveg. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| embeddingsModel |
Választható. A beágyazáshoz használandó modell azonosítója. Az alapértelmezett érték a text-embedding-3-small. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| chatModel |
Választható. Lekéri vagy beállítja a nagy nyelvi modell nevét a csevegési válaszok meghívásához. Az alapértelmezett érték a gpt-3.5-turbo. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| systemPrompt |
Választható. Lekéri vagy beállítja a rendszerkérést a nagy nyelvi modell kéréséhez. A rendszer parancssora hozzá van fűzve a rendszer által beolvasott Querytudással. A rendszer elküldi az egyesített kérést az OpenAI Chat API-nak. Ez a tulajdonság támogatja a kötési kifejezéseket. |
| maxKnowledgeCount |
Választható. Lekéri vagy beállítja a beszúrni kívánt tudáselemek számát.SystemPrompt |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Használat
A teljes példákért tekintse meg a Példa szakaszt .