Funktionen wurden implementiert:
Mindestinstallationsanforderungen: SQL Server 2022, Visual Studio 2022 (SSDT muss installiert werden)
use SQLRAG
sp_configure ' show advanced options ' , 1 ;
RECONFIGURE;
sp_configure ' clr enabled ' , 1 ;
RECONFIGURE; Es gibt verschiedene Möglichkeiten zu installieren:
Wenn Sie OpenAifunction verwenden möchten, bestand der vorherige Ansatz darin, Ihre tatsächliche openai_api_key in openaifunction.cs einzugeben. Dieser Ansatz kann die Sicherheit des API -Schlüssels nicht sicherstellen. In dieser Version habe ich der SQLRAG -Datenbank die Datentabelle dbo.cryptedKeys hinzugefügt, in der der KeyValue -Teil durch Anmeldeinformationen verschlüsselt wird. Es sieht kompliziert aus, aber ich habe den automatischen Anrufenteil bereits verarbeitet. Der Entwickler muss den API -Schlüssel nur verschlüsseln und über die folgende SQL -Syntax in die Datentabelle schreiben.
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 ); Anschließend müssen Sie es entschlüsseln, indem Sie explizit den Anmeldeinformationen und das entsprechende Passwort erklären:
DecryptByCert(Cert_ID( ' SqlRAGCertificate ' ), EncryptByCert(Cert_ID( ' SqlRAGCertificate ' ), @cleartext) , ' P@ssw0rd ' )
Wenn Sie ein Azure OpenAI -Service -Benutzer sind, müssen Sie den API -Schlüssel und den Endpunkt verschlüsseln und in speichern
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 );

