Um ChatGPT in Microsoft Access zu verwenden, können Sie eine Integration erstellen, die es ermöglicht, mit der GPT-API von OpenAI zu kommunizieren. Hier sind die grundlegenden Schritte, um das LLM (KI bzw. AI) in Access zu integrieren:

  1. API-Schlüssel von OpenAI erhalten: Registrieren Sie sich bei OpenAI und beantragen Sie einen API-Schlüssel „API-KEY“. Dieser Schlüssel ist notwendig, um Anfragen an die GPT-API zu senden. Die Verwendung der Schnittstelle ist kostenpflichtig und erfordert ein Guthaben. Die Dokumention und Kosten finden Sie bei OpenAI.
  2. HTTP-Anfragen in VBA erstellen: Sie müssen eine HTTPS-Anfrage an die GPT-API senden, um eine Antwort von ChatGPT zu erhalten. Dies kann mit dem XMLHTTP-Objekt in VBA durchgeführt werden. Die Übergabe erfolgt im JSON-Format.
  3. JSON-Antwort zerlegen: Um die JSON-Antwort von der API zu verarbeiten, benötigen Sie einen JSON-Parser für VBA. Eine beliebte Wahl ist der JsonConverter. Laden Sie das ZIP herunter und importieren Sie „JsonConverter.bas“ in Ihr VBA-Projekt.
Option Compare Database
Option Explicit

Private Const API_KEY As String = "geheimer API KEY"
Private Const ENDPOINT As String = "https://api.openai.com/v1/chat/completions"

Sub TestChatGPT()
    MsgBox GetChatGPTResponse("Erkläre den Nutzen von Microsoft Access.")
End Sub

Function GetChatGPTResponse(prompt As String) As String
    Dim objXml As New MSXML2.ServerXMLHTTP60       ' erfordert den Verweis auf "MSXML2.ServerXMLHTTP.6.0"
    Dim objJson As Object                           ' erfordert den Import von "JsonConverter.bas" aus https://github.com/VBA-tools/VBA-JSON
    Dim memBody$, memResponse$, memMessage$, memReturn$

    ' JSON Body für die API-Anfrage, ggfs. "150" Buchstaben aus max_tokens anpassen!
    memMessage = """messages"": [{""role"": ""user"", ""content"": """ & prompt & """}],""temperature"": 0.7"
    memBody = "{" & memMessage & ", ""max_tokens"": 150, " & """model"": ""gpt-3.5-turbo""" & "}"
    
    ' HTTPS-Anfrage erstellen
    Set objXml = CreateObject("MSXML2.ServerXMLHTTP.6.0")
    objXml.Open "POST", ENDPOINT, False
    objXml.setRequestHeader "Content-Type", "application/json"
    objXml.setRequestHeader "Authorization", "Bearer " & API_KEY

    ' Anfrage senden
    objXml.send memBody

    ' Antwort verarbeiten
    memResponse = objXml.responseText
    
    ' JSON zerlegen
    Set objJson = JsonConverter.ParseJson(memResponse)
    ' ggfs. Fehlerverarbeitung ergänzen
    memReturn = objJson("choices")(1)("message")("content")
    
    ' Rückgabe
    Set objJson = Nothing
    Set objXml = Nothing
    GetChatGPTResponse = memReturn
End Function

Tags:

Comments are closed