Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Ekstensi Azure OpenAI untuk Azure Functions saat ini dalam pratinjau.
Pengikatan input pencarian semantik Azure OpenAI memungkinkan Anda menggunakan pencarian semantik pada penyematan Anda.
Untuk informasi tentang penyiapan dan detail konfigurasi ekstensi Azure OpenAI, lihat Ekstensi Azure OpenAI untuk Azure Functions. Untuk mempelajari selengkapnya tentang peringkat semantik di Azure AI Search, lihat Peringkat semantik di Azure AI Search.
Nota
Referensi dan contoh hanya disediakan untuk model Node.js v4.
Nota
Referensi dan contoh hanya disediakan untuk model Python v2.
Nota
Meskipun kedua model proses C# didukung, hanya contoh model pekerja terisolasi yang disediakan.
Contoh
Contoh ini menunjukkan cara melakukan pencarian semantik pada file.
[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" };
}
Contoh ini menunjukkan cara melakukan pencarian semantik pada file.
@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;
}
}
Contoh ini menunjukkan cara melakukan pencarian semantik pada file.
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() }
}
});
Contoh ini menunjukkan cara melakukan pencarian semantik pada file.
Berikut adalah file function.json untuk meminta file:
{
"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%"
}
]
}
Untuk informasi selengkapnya tentang properti file function.json , lihat bagian Konfigurasi .
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Contoh ini menunjukkan cara melakukan pencarian semantik pada file.
@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"
)
Atributs
SemanticSearchInput Terapkan atribut untuk menentukan pengikatan input pencarian semantik, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| SearchConnectionName | Nama pengaturan aplikasi atau variabel lingkungan yang berisi nilai string koneksi. Properti ini mendukung ekspresi pengikatan. |
| Koleksi | Nama koleksi atau tabel atau indeks yang akan dicari. Properti ini mendukung ekspresi pengikatan. |
| Pertanyaan | Teks kueri semantik yang digunakan untuk pencarian. Properti ini mendukung ekspresi pengikatan. |
| EmbeddingsModel |
Opsional. ID model yang digunakan untuk penyematan. Nilai defaultnya adalah text-embedding-3-small. Properti ini mendukung ekspresi pengikatan. |
| ChatModel |
Opsional. Mendapatkan atau mengatur nama Model Bahasa Besar yang akan dipanggil untuk respons obrolan. Nilai defaultnya adalah gpt-3.5-turbo. Properti ini mendukung ekspresi pengikatan. |
| AIConnectionName | Opsional. Mendapatkan atau mengatur nama bagian konfigurasi untuk pengaturan konektivitas layanan AI. Untuk Azure OpenAI: Jika ditentukan, cari nilai "Titik Akhir" dan "Kunci" di bagian konfigurasi ini. Jika tidak ditentukan atau bagian tidak ada, kembali ke variabel lingkungan: AZURE_OPENAI_ENDPOINT dan AZURE_OPENAI_KEY. Untuk autentikasi identitas terkelola yang ditetapkan pengguna, properti ini diperlukan. Untuk layanan OpenAI (non-Azure), atur variabel lingkungan OPENAI_API_KEY. |
| SystemPrompt |
Opsional. Mendapatkan atau mengatur permintaan sistem yang akan digunakan untuk meminta model bahasa besar. Prompt sistem ditambahkan dengan pengetahuan yang diambil sebagai hasil dari Query. Prompt gabungan dikirim ke OpenAI Chat API. Properti ini mendukung ekspresi pengikatan. |
| MaxKnowledgeCount |
Opsional. Mendapatkan atau mengatur jumlah item pengetahuan untuk disuntikkan ke SystemPromptdalam . |
| IsReasoningModel |
Opsional. Mendapatkan atau menetapkan nilai yang menunjukkan apakah model penyelesaian obrolan adalah model penalaran. Opsi ini bersifat eksperimental dan terkait dengan model penalaran sampai semua model memiliki paritas di properti yang diharapkan, dengan nilai falsedefault . |
Anotasi
Anotasi SemanticSearchInput memungkinkan Anda menentukan pengikatan input pencarian semantik, yang mendukung parameter ini:
| Elemen | Deskripsi |
|---|---|
| Nama | Mendapatkan atau mengatur nama pengikatan input. |
| searchConnectionName | Nama pengaturan aplikasi atau variabel lingkungan yang berisi nilai string koneksi. Properti ini mendukung ekspresi pengikatan. |
| koleksi | Nama koleksi atau tabel atau indeks yang akan dicari. Properti ini mendukung ekspresi pengikatan. |
| kueri | Teks kueri semantik yang digunakan untuk pencarian. Properti ini mendukung ekspresi pengikatan. |
| embeddingsModel |
Opsional. ID model yang digunakan untuk penyematan. Nilai defaultnya adalah text-embedding-3-small. Properti ini mendukung ekspresi pengikatan. |
| chatModel |
Opsional. Mendapatkan atau mengatur nama Model Bahasa Besar yang akan dipanggil untuk respons obrolan. Nilai defaultnya adalah gpt-3.5-turbo. Properti ini mendukung ekspresi pengikatan. |
| aiConnectionName | Opsional. Mendapatkan atau mengatur nama bagian konfigurasi untuk pengaturan konektivitas layanan AI. Untuk Azure OpenAI: Jika ditentukan, cari nilai "Titik Akhir" dan "Kunci" di bagian konfigurasi ini. Jika tidak ditentukan atau bagian tidak ada, kembali ke variabel lingkungan: AZURE_OPENAI_ENDPOINT dan AZURE_OPENAI_KEY. Untuk autentikasi identitas terkelola yang ditetapkan pengguna, properti ini diperlukan. Untuk layanan OpenAI (non-Azure), atur variabel lingkungan OPENAI_API_KEY. |
| systemPrompt |
Opsional. Mendapatkan atau mengatur permintaan sistem yang akan digunakan untuk meminta model bahasa besar. Prompt sistem ditambahkan dengan pengetahuan yang diambil sebagai hasil dari Query. Prompt gabungan dikirim ke OpenAI Chat API. Properti ini mendukung ekspresi pengikatan. |
| maxKnowledgeCount |
Opsional. Mendapatkan atau mengatur jumlah item pengetahuan untuk disuntikkan ke SystemPromptdalam . |
| isReasoningModel |
Opsional. Mendapatkan atau menetapkan nilai yang menunjukkan apakah model penyelesaian obrolan adalah model penalaran. Opsi ini bersifat eksperimental dan terkait dengan model penalaran sampai semua model memiliki paritas di properti yang diharapkan, dengan nilai falsedefault . |
Dekorator
Selama pratinjau, tentukan pengikatan input sebagai generic_input_binding pengikatan jenis semanticSearch, yang mendukung parameter ini:
| Pengaturan | Deskripsi |
|---|---|
| arg_name | Nama variabel yang mewakili parameter pengikatan. |
| search_connection_name | Nama pengaturan aplikasi atau variabel lingkungan yang berisi nilai string koneksi. Properti ini mendukung ekspresi pengikatan. |
| koleksi | Nama koleksi atau tabel atau indeks yang akan dicari. Properti ini mendukung ekspresi pengikatan. |
| kueri | Teks kueri semantik yang digunakan untuk pencarian. Properti ini mendukung ekspresi pengikatan. |
| embeddings_model |
Opsional. ID model yang digunakan untuk penyematan. Nilai defaultnya adalah text-embedding-3-small. Properti ini mendukung ekspresi pengikatan. |
| chat_model |
Opsional. Mendapatkan atau mengatur nama Model Bahasa Besar yang akan dipanggil untuk respons obrolan. Nilai defaultnya adalah gpt-3.5-turbo. Properti ini mendukung ekspresi pengikatan. |
| ai_connection_name | Opsional. Mendapatkan atau mengatur nama bagian konfigurasi untuk pengaturan konektivitas layanan AI. Untuk Azure OpenAI: Jika ditentukan, cari nilai "Titik Akhir" dan "Kunci" di bagian konfigurasi ini. Jika tidak ditentukan atau bagian tidak ada, kembali ke variabel lingkungan: AZURE_OPENAI_ENDPOINT dan AZURE_OPENAI_KEY. Untuk autentikasi identitas terkelola yang ditetapkan pengguna, properti ini diperlukan. Untuk layanan OpenAI (non-Azure), atur variabel lingkungan OPENAI_API_KEY. |
| system_prompt |
Opsional. Mendapatkan atau mengatur permintaan sistem yang akan digunakan untuk meminta model bahasa besar. Prompt sistem ditambahkan dengan pengetahuan yang diambil sebagai hasil dari Query. Prompt gabungan dikirim ke OpenAI Chat API. Properti ini mendukung ekspresi pengikatan. |
| max_knowledge_count |
Opsional. Mendapatkan atau mengatur jumlah item pengetahuan untuk disuntikkan ke SystemPromptdalam . |
| is_reasoning _model |
Opsional. Mendapatkan atau menetapkan nilai yang menunjukkan apakah model penyelesaian obrolan adalah model penalaran. Opsi ini bersifat eksperimental dan terkait dengan model penalaran sampai semua model memiliki paritas di properti yang diharapkan, dengan nilai falsedefault . |
Konfigurasi
Pengikatan mendukung properti konfigurasi ini yang Anda tetapkan dalam file function.json.
| Harta benda | Deskripsi |
|---|---|
| jenis | Harus berupa semanticSearch . |
| arah | Harus berupa in . |
| Nama | Nama pengikatan input. |
| searchConnectionName | Mendapatkan atau mengatur nama pengaturan aplikasi atau variabel lingkungan yang berisi nilai string koneksi. Properti ini mendukung ekspresi pengikatan. |
| koleksi | Nama koleksi atau tabel atau indeks yang akan dicari. Properti ini mendukung ekspresi pengikatan. |
| kueri | Teks kueri semantik yang digunakan untuk pencarian. Properti ini mendukung ekspresi pengikatan. |
| embeddingsModel |
Opsional. ID model yang digunakan untuk penyematan. Nilai defaultnya adalah text-embedding-3-small. Properti ini mendukung ekspresi pengikatan. |
| chatModel |
Opsional. Mendapatkan atau mengatur nama Model Bahasa Besar yang akan dipanggil untuk respons obrolan. Nilai defaultnya adalah gpt-3.5-turbo. Properti ini mendukung ekspresi pengikatan. |
| aiConnectionName | Opsional. Mendapatkan atau mengatur nama bagian konfigurasi untuk pengaturan konektivitas layanan AI. Untuk Azure OpenAI: Jika ditentukan, cari nilai "Titik Akhir" dan "Kunci" di bagian konfigurasi ini. Jika tidak ditentukan atau bagian tidak ada, kembali ke variabel lingkungan: AZURE_OPENAI_ENDPOINT dan AZURE_OPENAI_KEY. Untuk autentikasi identitas terkelola yang ditetapkan pengguna, properti ini diperlukan. Untuk layanan OpenAI (non-Azure), atur variabel lingkungan OPENAI_API_KEY. |
| systemPrompt |
Opsional. Mendapatkan atau mengatur permintaan sistem yang akan digunakan untuk meminta model bahasa besar. Prompt sistem ditambahkan dengan pengetahuan yang diambil sebagai hasil dari Query. Prompt gabungan dikirim ke OpenAI Chat API. Properti ini mendukung ekspresi pengikatan. |
| maxKnowledgeCount |
Opsional. Mendapatkan atau mengatur jumlah item pengetahuan untuk disuntikkan ke SystemPromptdalam . |
| isReasoningModel |
Opsional. Mendapatkan atau menetapkan nilai yang menunjukkan apakah model penyelesaian obrolan adalah model penalaran. Opsi ini bersifat eksperimental dan terkait dengan model penalaran sampai semua model memiliki paritas di properti yang diharapkan, dengan nilai falsedefault . |
Konfigurasi
Pengikatan mendukung properti ini, yang ditentukan dalam kode Anda:
| Harta benda | Deskripsi |
|---|---|
| searchConnectionName | Nama pengaturan aplikasi atau variabel lingkungan yang berisi nilai string koneksi. Properti ini mendukung ekspresi pengikatan. |
| koleksi | Nama koleksi atau tabel atau indeks yang akan dicari. Properti ini mendukung ekspresi pengikatan. |
| kueri | Teks kueri semantik yang digunakan untuk pencarian. Properti ini mendukung ekspresi pengikatan. |
| embeddingsModel |
Opsional. ID model yang digunakan untuk penyematan. Nilai defaultnya adalah text-embedding-3-small. Properti ini mendukung ekspresi pengikatan. |
| chatModel |
Opsional. Mendapatkan atau mengatur nama Model Bahasa Besar yang akan dipanggil untuk respons obrolan. Nilai defaultnya adalah gpt-3.5-turbo. Properti ini mendukung ekspresi pengikatan. |
| aiConnectionName | Opsional. Mendapatkan atau mengatur nama bagian konfigurasi untuk pengaturan konektivitas layanan AI. Untuk Azure OpenAI: Jika ditentukan, cari nilai "Titik Akhir" dan "Kunci" di bagian konfigurasi ini. Jika tidak ditentukan atau bagian tidak ada, kembali ke variabel lingkungan: AZURE_OPENAI_ENDPOINT dan AZURE_OPENAI_KEY. Untuk autentikasi identitas terkelola yang ditetapkan pengguna, properti ini diperlukan. Untuk layanan OpenAI (non-Azure), atur variabel lingkungan OPENAI_API_KEY. |
| systemPrompt |
Opsional. Mendapatkan atau mengatur permintaan sistem yang akan digunakan untuk meminta model bahasa besar. Prompt sistem ditambahkan dengan pengetahuan yang diambil sebagai hasil dari Query. Prompt gabungan dikirim ke OpenAI Chat API. Properti ini mendukung ekspresi pengikatan. |
| maxKnowledgeCount |
Opsional. Mendapatkan atau mengatur jumlah item pengetahuan untuk disuntikkan ke SystemPromptdalam . |
| isReasoningModel |
Opsional. Mendapatkan atau menetapkan nilai yang menunjukkan apakah model penyelesaian obrolan adalah model penalaran. Opsi ini bersifat eksperimental dan terkait dengan model penalaran sampai semua model memiliki paritas di properti yang diharapkan, dengan nilai falsedefault . |
Penggunaan
Lihat Bagian contoh untuk contoh lengkapnya.