注意事項
- Azure AI Search におけるインデックスの作成・更新に関する REST API では,API バージョンが
2023-10-01-preview
の際に,ベクトル検索の構成オプションをvectorSearch
キー内で指定でき,そこで任意の Web API を Custom Vectorizer として登録できますが,その Web API の入出力に関するメモです.(下のmy-custom-vectorizer
部分に関して)
{
...
"vectorSearch": {
"algorithms": {...},
"profiles": {...},
"vectorizers": [
{
"name": "my-aoai-vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://<my-azure-openai-resource>.openai.azure.com",
"deploymentId": "<my-text-embedding-model>",
"apiKey": "<my-azure-openai-api-key>"
}
},
{
"name": "my-custom-vectorizer",
"kind": "customWebApi",
"customVectorizerParameters": {
"uri": "https://<my-custom-vectorizer-endpoint>",
"httpMethod": "POST"
}
}
]
}
}
心の声
- 正しい出力形式がわかるまでそれなりに時間がかかりました...(公式ドキュメントは見つけられていないため,ご存じの方は教えてください)
ポイント
- 基本的に入出力は Custom Skill と同様です.
- Embedding の対象となるテキストは
values[].data.text
にあります. - 最終的に Embedding は
values[].data.vector
に格納する必要があります.
- Embedding の対象となるテキストは
リクエストボディ例
{
"values": [
{
"recordId": "0",
"data": {
"text": "公式ドキュメントは見つけられていないため,ご存じの方は教えてください"
}
}
]
}
レスポンスボディ例
{
"values": [
{
"recordId": "0",
"data": {
"vector": [0.0, 0.0, 0.0, 0.0, 0.0, ...]
}
}
]
}