Azure İşlevleri için Azure OpenAI Semantik Arama Giriş Bağlaması
Ö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.
Not
Başvurular ve örnekler yalnızca Node.js v4 modeli için sağlanır.
Not
Başvurular ve örnekler yalnızca Python v2 modeli için sağlanır.
Not
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.
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; }
}
Bu örnekte, bir dosyada anlamsal arama gerçekleştirme işlemi gösterilmektedir.
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");
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",
"connectionName": "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
})
Örnekler henüz kullanılamıyor.
Özellikler
SemanticSearchInput
Şu parametreleri destekleyen bir anlamsal arama girişi bağlaması tanımlamak için özniteliğini uygulayın:
Parametre | Tanım |
---|---|
ConnectionName | 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 | Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small . Bu özellik bağlama ifadelerini destekler. |
ChatModel | 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. |
SystemPrompt | İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Query olarak 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 SystemPrompt ekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
Ek Açıklamalar
Ek SemanticSearchInput
açıklama, şu parametreleri destekleyen bir anlamsal arama girişi bağlaması tanımlamanızı sağlar:
Öğe | Açıklama |
---|---|
ad | Giriş bağlamasının adını alır veya ayarlar. |
connectionName | 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. |
query | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
embeddingsModel | Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small . Bu özellik bağlama ifadelerini destekler. |
chatModel | 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. |
systemPrompt | İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Query olarak 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 SystemPrompt ekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
Dekoratörler
Önizleme sırasında, giriş bağlamasını şu parametreleri destekleyen türündeki semanticSearch
bir generic_input_binding
bağlama olarak tanımlayın:
Parametre | Açıklama |
---|---|
arg_name | Bağlama parametresini temsil eden değişkenin adı. |
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. |
query | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
embeddings_model | 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 | 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. |
system_prompt | İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Query olarak 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 SystemPrompt ekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
Yapılandırma
Bağlama, function.json dosyasında ayarladığınız bu yapılandırma özelliklerini destekler.
Özellik | Açıklama |
---|---|
type | olmalıdır semanticSearch . |
direction | olmalıdır in . |
ad | Giriş bağlamasının adı. |
connectionName | 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. |
query | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
embeddingsModel | Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small . Bu özellik bağlama ifadelerini destekler. |
chatModel | 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. |
systemPrompt | İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Query olarak 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 SystemPrompt ekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
Yapılandırma
Bağlama, kodunuzda tanımlanan şu özellikleri destekler:
Özellik | Açıklama |
---|---|
connectionName | 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. |
query | Arama için kullanılacak anlamsal sorgu metni. Bu özellik bağlama ifadelerini destekler. |
embeddingsModel | Eklemeler için kullanılacak modelin kimliği. Varsayılan değer şudur: text-embedding-3-small . Bu özellik bağlama ifadelerini destekler. |
chatModel | 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. |
systemPrompt | İsteğe bağlı. Büyük dil modelinin sorulduğunda kullanılacak sistem istemini alır veya ayarlar. Sistem istemi, sonucu Query olarak 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 SystemPrompt ekleneceğiniz bilgi öğelerinin sayısını alır veya ayarlar. |
Kullanım
Tam örnekler için Örnek bölümüne bakın.