Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Azure İşlevleri için Azure OpenAI uzantısı şu anda önizleme aşamasındadır.
Azure OpenAI semantik arama giriş bağlaması, eklemelerinizde anlamsal aramayı kullanmanıza olanak tanır.
Azure OpenAI uzantısının kurulum ve yapılandırma ayrıntıları hakkında bilgi için bkz. Azure İşlevleri için Azure OpenAI uzantıları. Azure AI Search'teki anlam derecelendirmesi hakkında daha fazla bilgi edinmek için bkz . Azure AI Search'te anlam derecelendirmesi.
Uyarı
Başvurular ve örnekler yalnızca Node.js v4 modeli için sağlanır.
Uyarı
Başvurular ve örnekler yalnızca Python v2 modeli için sağlanır.
Uyarı
Her iki C# işlem modeli de destekleniyor olsa da yalnızca yalıtılmış çalışan modeli örnekleri sağlanır.
Örnek
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
[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" };
}
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
@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;
}
}
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
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() }
}
});
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
Bir dosya istemi için function.json dosyası aşağıdadır:
{
"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%"
}
]
}
function.json dosya özellikleri hakkında daha fazla bilgi için Yapılandırma bölümüne bakın.
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
@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"
)
Özellikler
SemanticSearchInput Şu parametreleri destekleyen bir anlamsal arama girişi bağlaması tanımlamak için özniteliğini uygulayın:
| Parametre | Açıklama |
|---|---|
| SearchConnectionName | bağlantı dizesi değerini içeren bir uygulama ayarının veya ortam değişkeninin adı. Bu özellik bağlama ifadelerini destekler. |
| Koleksiyon | Aranacak koleksiyonun, tablonun veya dizinin adı. Bu özellik bağlama ifadelerini destekler. |
| Sorgu | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
| EmbeddingsModel |
İsteğe bağlı. Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small. Bu özellik bağlama ifadelerini destekler. |
| ChatModel |
İsteğe bağlı. Sohbet yanıtları için çağrılacak Büyük Dil Modelinin adını alır veya ayarlar. Varsayılan değer şudur: gpt-3.5-turbo. Bu özellik bağlama ifadelerini destekler. |
| AIConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| SystemPrompt |
İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Queryolarak getirilen bilgilerle eklenir. Birleştirilmiş istem OpenAI Sohbet API'sine gönderilir. Bu özellik bağlama ifadelerini destekler. |
| MaxKnowledgeCount |
İsteğe bağlı. içine SystemPromptekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
| IsReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Açıklamalar
Ek SemanticSearchInput açıklama, şu parametreleri destekleyen bir anlamsal arama girişi bağlaması tanımlamanızı sağlar:
| Öğe | Açıklama |
|---|---|
| isim | Giriş bağlamasının adını alır veya ayarlar. |
| searchConnectionName | bağlantı dizesi değerini içeren bir uygulama ayarının veya ortam değişkeninin adı. Bu özellik bağlama ifadelerini destekler. |
| koleksiyon | Aranacak koleksiyonun, tablonun veya dizinin adı. Bu özellik bağlama ifadelerini destekler. |
| sorgu | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
| embeddingsModel |
İsteğe bağlı. Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small. Bu özellik bağlama ifadelerini destekler. |
| chatModel |
İsteğe bağlı. Sohbet yanıtları için çağrılacak Büyük Dil Modelinin adını alır veya ayarlar. Varsayılan değer şudur: gpt-3.5-turbo. Bu özellik bağlama ifadelerini destekler. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| systemPrompt |
İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Queryolarak getirilen bilgilerle eklenir. Birleştirilmiş istem OpenAI Sohbet API'sine gönderilir. Bu özellik bağlama ifadelerini destekler. |
| maxKnowledgeCount |
İsteğe bağlı. içine SystemPromptekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Dekoratörler
Önizleme sırasında, giriş bağlamasını şu parametreleri destekleyen türündeki generic_input_bindingbir semanticSearch bağlama olarak tanımlayın:
| Parametre | Açıklama |
|---|---|
| arg_name | Bağlama parametresini temsil eden değişkenin adı. |
| search_connection_name | bağlantı dizesi değerini içeren bir uygulama ayarının veya ortam değişkeninin adı. Bu özellik bağlama ifadelerini destekler. |
| koleksiyon | Aranacak koleksiyonun, tablonun veya dizinin adı. Bu özellik bağlama ifadelerini destekler. |
| sorgu | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
| embeddings_model |
İsteğe bağlı. Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small. Bu özellik bağlama ifadelerini destekler. |
| chat_model |
İsteğe bağlı. Sohbet yanıtları için çağrılacak Büyük Dil Modelinin adını alır veya ayarlar. Varsayılan değer şudur: gpt-3.5-turbo. Bu özellik bağlama ifadelerini destekler. |
| ai_connection_name | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| system_prompt |
İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Queryolarak getirilen bilgilerle eklenir. Birleştirilmiş istem OpenAI Sohbet API'sine gönderilir. Bu özellik bağlama ifadelerini destekler. |
| max_knowledge_count |
İsteğe bağlı. içine SystemPromptekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
| is_reasoning _model |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Konfigürasyon
Bağlama, function.json dosyasında ayarladığınız bu yapılandırma özelliklerini destekler.
| Mülkiyet | Açıklama |
|---|---|
| türü |
semanticSearcholmalıdır. |
| yön |
inolmalıdır. |
| isim | Giriş bağlamasının adı. |
| searchConnectionName | Bağlantı dizesi değeri içeren bir uygulama ayarının veya ortam değişkeninin adını alır veya ayarlar. Bu özellik bağlama ifadelerini destekler. |
| koleksiyon | Aranacak koleksiyonun, tablonun veya dizinin adı. Bu özellik bağlama ifadelerini destekler. |
| sorgu | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
| embeddingsModel |
İsteğe bağlı. Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small. Bu özellik bağlama ifadelerini destekler. |
| chatModel |
İsteğe bağlı. Sohbet yanıtları için çağrılacak Büyük Dil Modelinin adını alır veya ayarlar. Varsayılan değer şudur: gpt-3.5-turbo. Bu özellik bağlama ifadelerini destekler. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| systemPrompt |
İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Queryolarak getirilen bilgilerle eklenir. Birleştirilmiş istem OpenAI Sohbet API'sine gönderilir. Bu özellik bağlama ifadelerini destekler. |
| maxKnowledgeCount |
İsteğe bağlı. içine SystemPromptekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Konfigürasyon
Bağlama, kodunuzda tanımlanan şu özellikleri destekler:
| Mülkiyet | Açıklama |
|---|---|
| searchConnectionName | bağlantı dizesi değerini içeren bir uygulama ayarının veya ortam değişkeninin adı. Bu özellik bağlama ifadelerini destekler. |
| koleksiyon | Aranacak koleksiyonun, tablonun veya dizinin adı. Bu özellik bağlama ifadelerini destekler. |
| sorgu | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
| embeddingsModel |
İsteğe bağlı. Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small. Bu özellik bağlama ifadelerini destekler. |
| chatModel |
İsteğe bağlı. Sohbet yanıtları için çağrılacak Büyük Dil Modelinin adını alır veya ayarlar. Varsayılan değer şudur: gpt-3.5-turbo. Bu özellik bağlama ifadelerini destekler. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| systemPrompt |
İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Queryolarak getirilen bilgilerle eklenir. Birleştirilmiş istem OpenAI Sohbet API'sine gönderilir. Bu özellik bağlama ifadelerini destekler. |
| maxKnowledgeCount |
İsteğe bağlı. içine SystemPromptekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Kullanım
Tam örnekler için Örnek bölümüne bakın.