Se han implementado funciones:
Requisitos mínimos de instalación: SQL Server 2022, Visual Studio 2022 (es necesario instalar SSDT)
use SQLRAG
sp_configure ' show advanced options ' , 1 ;
RECONFIGURE;
sp_configure ' clr enabled ' , 1 ;
RECONFIGURE; Hay varias formas de instalar:
Si desea usar OpenAifuntion, el enfoque anterior era ingresar su OpenAI_api_Key real en OpenAifunction.cs. Este enfoque no puede garantizar la seguridad de la clave API. En esta versión, agregué la tabla de datos DBO.EntryptedKeys a la base de datos SQLRAG, donde la parte KeyValue está encriptada a través de credenciales. Parece complicado, pero ya he procesado la parte de llamada automática. El desarrollador solo necesita cifrar la clave API y escribirla en la tabla de datos a través de la siguiente sintaxis SQL.
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 ); Luego, debe descifrarlo declarando explícitamente qué credencial y la contraseña correspondiente:
DecryptByCert(Cert_ID( ' SqlRAGCertificate ' ), EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext) , ' P@ssw0rd ' )
Si es un usuario de servicio de Azure OpenAI, debe cifrar la clave API y el punto final y guardarlo en
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 );

