クライアントでのAPIキーの使用

プライベートAIサービス・コンテナに対するクライアントは、サービスのPRIVATE_AI_AUTHENTICATION_ENABLEDtrueに設定されている場合、有効なAPIキーを送信する必要があります。

次のコマンドは、クライアントが"無効なAPIキー"エラーを回避するためのAPIリクエストの作成方法を示しています:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer [API_KEY]' -d '{ \
  "model": "all_minilm_v6",
  "input": [ \
      "The quick brown fox jumped over the fence.", \
      "Another test sentence" \
  ] \
}' http://localhost:9091/v1/embeddings

その後、APIキーを使用してプライベートAIサービス・コンテナと通信するようにデータベースを構成できます。CREATE CREDENTIAL権限を持つユーザーは、DBMS_VECTOR PL/SQLパッケージのCREATE CREDENTIALヘルパー・プロシージャを使用して資格証明を作成できます。

次のコマンドのaccess_tokenの値は、例示のためのものです。実際には、値はコンテナで使用されるAPIキーと完全に一致する必要があります。

declare
  jo json_object_t;
begin
  jo := json_object_t();
  jo.put('access_token', 'A1Aa0abA1AB1a1Abc123ab1A123ab123AbcA12a');
  dbms_vector.create_credential(
    credential_name   => 'PRIVATEAI_CRED',
    params            => json(jo.to_string));
end;
/

資格証明が作成されたら、UTL_TO_EMBEDDINGへのコールの一部として追加できます。

-- declare embedding parameters

var params clob;

begin
 :params := '
{ 
  "provider": "privateai",
  "credential_name": "PRIVATEAI_CRED", 
  "url": "https://hostname:8443/v1/embeddings",
  "model": "all-mpnet-base-v2"
}';
end;
/

-- Get the embeddings
select dbms_vector.utl_to_embedding('Hello world', json(:params)) from dual;