Fungsi telah diimplementasikan:
Persyaratan Instalasi Minimum: SQL Server 2022, Visual Studio 2022 (SSDT perlu diinstal)
use SQLRAG
sp_configure ' show advanced options ' , 1 ;
RECONFIGURE;
sp_configure ' clr enabled ' , 1 ;
RECONFIGURE; Ada beberapa cara untuk menginstal:
Jika Anda ingin menggunakan OpenAifunction, pendekatan sebelumnya adalah memasukkan openai_api_key Anda yang sebenarnya di openAifunction.cs. Pendekatan ini tidak dapat memastikan keamanan kunci API. Dalam versi ini, saya menambahkan tabel data DBO.encryptedkeys ke database SQLRAG, di mana bagian KeyValue dienkripsi melalui kredensial. Itu terlihat rumit, tetapi saya sudah memproses bagian panggilan otomatis. Pengembang hanya perlu mengenkripsi kunci API dan menulisnya ke dalam tabel data melalui sintaks SQL berikut.
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 ); Kemudian, Anda perlu mendekripsi dengan secara eksplisit menyatakan kredensial mana dan kata sandi yang sesuai:
DecryptByCert(Cert_ID( ' SqlRAGCertificate ' ), EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext) , ' P@ssw0rd ' )
Jika Anda adalah pengguna layanan OpenAi Azure, Anda perlu mengenkripsi kunci API dan titik akhir dan menyimpannya
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 );

