Imports System.Net.Http Imports System.Text Imports System.Threading.Tasks Imports Newtonsoft.Json.Linq Public Class cOpenAI Shared apiKey As String = "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" Shared apiUrl As String = "https://api.openai.com/v1/chat/completions" Shared Sub doFirstAI() 'Dim frage As String = "Wie viele Tage braucht ein Versandschein von Istanbul nach München? Gib nur die Zahl zurück." Dim frage As String = "Schreibe ein HAIKO über AI." ' API-Aufruf und Ausgabe der Antwort Dim antwort As String = AskOpenAI(frage) Console.WriteLine("Antwort von OpenAI: " & antwort) ' Console.WriteLine("Drücke eine beliebige Taste zum Beenden...") ' Console.ReadKey() End Sub ' Funktion zur Kommunikation mit OpenAI API (synchrones Verhalten) Shared Function AskOpenAI(question As String) As String Try Using client As New HttpClient() client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}") ' JSON-Body für die API-Anfrage mit GPT-4o Dim requestBody As String = " { ""model"": ""gpt-4o-mini"", ""messages"": [ {""role"": ""user"", ""content"": """ & question & """} ], ""max_tokens"": 10, ""temperature"": 0 }" Dim content As New StringContent(requestBody, Encoding.UTF8, "application/json") ' POST-Anfrage senden und Antwort synchron verarbeiten Dim response As HttpResponseMessage = client.PostAsync(apiUrl, content).Result If response.IsSuccessStatusCode Then Dim responseBody As String = response.Content.ReadAsStringAsync().Result ' JSON-Antwort parsen, um die OpenAI-Antwort zu extrahieren Dim jsonResponse As JObject = JObject.Parse(responseBody) Dim answer As String = jsonResponse("choices")(0)("message")("content").ToString().Trim() Return answer ' Antwort zurückgeben Else ' Fehlerausgabe bei API-Problemen Return $"Fehler: {response.StatusCode} - {response.Content.ReadAsStringAsync().Result}" End If End Using Catch ex As Exception ' Allgemeine Fehlerbehandlung Return $"Fehler: {ex.Message}" End Try End Function End Class