0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Azure AI Search】Custom Vectorizer として使用する Web API の入出力

Last updated at Posted at 2023-12-30

注意事項

  • 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 に格納する必要があります.

リクエストボディ例

{
  "values": [
    {
      "recordId": "0",
      "data": {
        "text": "公式ドキュメントは見つけられていないため,ご存じの方は教えてください"
      }
    }
  ]
}

レスポンスボディ例

{
  "values": [
    {
      "recordId": "0",
      "data": {
        "vector": [0.0, 0.0, 0.0, 0.0, 0.0, ...]
      }
    }
  ]
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?