このドキュメントでは、AI関数サービスの権限について説明します。これには AI MODEL 権限と ACCESS AI MODEL 権限が含まれ、それぞれAIモデルの管理とAI関数の呼び出しを管理するために使用されます。
AI MODEL
AI MODELに関する権限は、AIモデルの管理に使用されます。これにはCREATE AI MODEL、ALTER AI MODEL、DROP AI MODELの3つの権限が含まれます。
構文
権限を付与する構文は以下のとおりです:
-- AIモデルを作成する権限を付与
GRANT CREATE AI MODEL ON *.* TO 'username'@'host';
-- AIモデルを変更する権限を付与
GRANT ALTER AI MODEL ON *.* TO 'username'@'host';
-- AIモデルを削除する権限を付与
GRANT DROP AI MODEL ON *.* TO 'username'@'host';
GRANT CREATE AI MODEL, ALTER AI MODEL, DROP AI MODEL ON *.* TO 'username'@'host';
権限を取り消す構文は以下のとおりです:
-- AIモデルを作成する権限を取り消す
REVOKE CREATE AI MODEL ON *.* FROM 'username'@'host';
-- AIモデルを変更する権限を取り消す
REVOKE ALTER AI MODEL ON *.* FROM 'username'@'host';
-- AIモデルを削除する権限を取り消す
REVOKE DROP AI MODEL ON *.* FROM 'username'@'host';
-- 権限を確認する
SHOW GRANTS FOR 'username'@'host';
例
ユーザーを作成します。
CREATE USER test_ai_user@'%' IDENTIFIED BY '123456';test_ai_userユーザーにログインします。
obclient -h 127.0.0.1 -P 2881 -u test_ai_user@'%' -p *** -A -D test;CREATE_AI_MODEL_ENDPOINTプログラムを呼び出します。CALL DBMS_AI_SERVICE.CREATE_AI_MODEL_ENDPOINT ( 'user_ai_model_endpoint_1', '{ "ai_model_name": "my_model1", "url": "https://api.deepseek.com", "access_key": "sk-xxxxxxxxxxxx", "request_model_name": "deepseek-chat", "provider": "deepseek" }');CREATE AI MODEL権限がないため、エラーが発生します。ERROR 42501: Access denied; you need (at least one of) the create ai model endpoint privilege(s) for this operationtest_ai_userユーザーにCREATE AI MODEL権限を付与します。GRANT CREATE AI MODEL ON *.* TO test_ai_user@'%';権限を検証します。
CALL DBMS_AI_SERVICE.CREATE_AI_MODEL_ENDPOINT ( 'user_ai_model_endpoint_1', '{ "ai_model_name": "my_model1", "url": "https://api.deepseek.com", "access_key": "sk-xxxxxxxxxxxx", "request_model_name": "deepseek-caht", "provider": "deepseek" }');実行が成功しました。
ACCESS AI MODEL
ACCESS AI MODEL 権限は、AI関数を呼び出すために使用され、AI_COMPLETE、AI_EMBED、AI_RERANK の3つの関数が含まれます。
構文
権限を付与する構文は次のとおりです:
GRANT ACCESS AI MODEL ON *.* TO 'username'@'host';
権限を取り消す構文は次のとおりです:
REVOKE ACCESS AI MODEL ON *.* FROM 'username'@'host';
例
AI_COMPLETE関数を呼び出すSELECT AI_COMPLETE("ob_complete","あなたは翻訳の達人です。以下のテキストを英語に翻訳してください:{{Hello World.}}。出力は翻訳結果のみを含めてください") as ans;ACCESS AI MODEL権限がないため、エラーが発生します。ERROR 42501: Access denied; you need (at least one of) the access ai model endpoint privilege(s) for this operationユーザー
test_ai_userにACCESS AI MODEL権限を付与するGRANT ACCESS AI MODEL ON *.* TO test_ai_user@'%';権限を確認する
SELECT AI_COMPLETE("ob_complete","あなたは翻訳の達人です。以下のテキストを英語に翻訳してください:{{Hello World.}}。出力は翻訳結果のみを含めてください") as ans;実行は成功しました。
```shell +----------------+ | ans | +----------------+ | "Hello world." | +----------------+ 1 row in set