Les fonctions ont été implémentées:
Exigences d'installation minimales: SQL Server 2022, Visual Studio 2022 (SSDT doit être installé)
use SQLRAG
sp_configure ' show advanced options ' , 1 ;
RECONFIGURE;
sp_configure ' clr enabled ' , 1 ;
RECONFIGURE; Il existe plusieurs façons d'installer:
Si vous souhaitez utiliser Openaifonction, l'approche précédente consistait à saisir votre véritable openai_api_key dans openaifunction.cs. Cette approche ne peut garantir la sécurité de la clé API. Dans cette version, j'ai ajouté la table de données DBO.EnCryptedKeys à la base de données SQLRAG, où la partie KeyValue est cryptée par des informations d'identification. Cela semble compliqué, mais j'ai déjà traité la pièce d'appel automatique. Le développeur n'a qu'à crypter la clé API et à l'écrire dans le tableau de données via la syntaxe SQL suivante.
use SQLRAG
Declare @cleartext varchar ( 512 ) = ' sk-輸入你的OPENAI_API_KEYAPI KEY '
Declare @encrytext varbinary( 4000 ) = EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext)
INSERT INTO [SQLRAG].[dbo].[EncryptedKeys]
VALUES ( N ' OPENAI_API_KEY ' , N '調用OPENAI所用之API KEY ' ,@encrytext ); Ensuite, vous devez le décrypter en déclarant explicitement quel identifiant et le mot de passe correspondant:
DecryptByCert(Cert_ID( ' SqlRAGCertificate ' ), EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext) , ' P@ssw0rd ' )
Si vous êtes un utilisateur de service Azure Openai, vous devez crypter la clé API et le point de terminaison et l'enregistrer dans
use SQLRAG
Declare @cleartext varchar ( 512 ) = ' *** '
Declare @encrytext varbinary( 4000 ) = EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext)
Declare @cleartext2 varchar ( 512 ) = ' https://***.openai.azure.com '
Declare @encrytext2 varbinary( 4000 ) = EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext2)
Declare @cleartext3 varchar ( 512 ) = ' *** '
Declare @encrytext3 varbinary( 4000 ) = EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext3)
INSERT INTO [SQLRAG].[dbo].[EncryptedKeys]
VALUES ( N ' AZURE_OPENAI_API_KEY ' , N '調用Azure Openai Service 所用之API KEY ' ,@encrytext );
INSERT INTO [SQLRAG].[dbo].[EncryptedKeys]
VALUES ( N ' AZURE_OPENAI_ENDPOINT ' , N '調用Azure Openai Service 所用之endpoint ' ,@encrytext2 );
INSERT INTO [SQLRAG].[dbo].[EncryptedKeys]
VALUES ( N ' OPENAI_API_VERSION ' , N '調用Azure Openai Service 所用之API Version ' ,@encrytext3 );

