Go trifft KI: Warum das für Entwickler wichtig ist
Die Welt der Entwicklung hat sich verändert. Früher haben wir Code manuell geschrieben und Stunden mit der Fehlersuche verbracht, heute übernehmen neuronale Netze die Routinearbeit. Aber wie funktioniert das in der Praxis? Kann man die Leistungsfähigkeit von Go und ChatGPT in einem Projekt vereinen? Die Antwort ist ja, und es ist einfacher, als man denkt.
Golang ist eine Sprache, die für Leistung und Parallelität entwickelt wurde. Und ChatGPT ist ein Modell, das Texte generieren, Fragen beantworten und sogar Code schreiben kann. Zusammen bilden sie ein Tandem, das Dokumentation automatisieren, Tests generieren, Fehler analysieren und vieles mehr kann. In diesem Artikel werden wir untersuchen, wie man ChatGPT in der Entwicklung mit Go anhand realer Codebeispiele einsetzt.
Erste Schritte: Einrichtung der Umgebung für die Arbeit mit der OpenAI API
Bevor wir Code schreiben, müssen wir Zugang zur OpenAI API erhalten. Es handelt sich um eine standardmäßige REST-Schnittstelle, die von jeder Sprache, einschließlich Go, leicht aufgerufen werden kann.
Schritt 1: API-Schlüssel abrufen
Registrieren Sie sich auf platform.openai.com und erstellen Sie einen neuen geheimen Schlüssel im Bereich API Keys. Bewahren Sie ihn auf – er wird für alle Anfragen benötigt.
Schritt 2: Grundstruktur des Go-Projekts erstellen
Erstellen Sie ein neues Modul und installieren Sie die Abhängigkeiten:
mkdir go-chatgptcd go-chatgptgo mod init go-chatgptWir benötigen einen HTTP-Client. Sie können den Standard-net/http verwenden, aber der Einfachheit halber fügen wir eine Bibliothek für die Arbeit mit JSON hinzu:
go get github.com/go-resty/resty/v2Erste Anfrage an ChatGPT in Go schreiben
Der einfachste Weg, ChatGPT zu integrieren, ist das Senden einer POST-Anfrage an den Endpunkt https://api.openai.com/v1/chat/completions. Betrachten wir ein Beispiel, in dem wir das Modell bitten, zu erklären, was eine Goroutine in Go ist.
Beispiel 1: Einfache Anfrage an das Modell
package main
import (\t"encoding/json"\t"fmt"\t"os"
\t"github.com/go-resty/resty/v2")
type Message struct {\tRole string `json:"role"`\tContent string `json:"content"`}
type Request struct {\tModel string `json:"model"`\tMessages []Message `json:"messages"`}
type Response struct {\tChoices []struct {\t\tMessage Message `json:"message"`\t} `json:"choices"`}
func main() {\tapiKey := os.Getenv("OPENAI_API_KEY")\tif apiKey == "" {\t\tfmt.Println("Fehler: Setzen Sie die Umgebungsvariable OPENAI_API_KEY")\t\treturn\t}
\tclient := resty.New()
\treq := Request{\t\tModel: "gpt-3.5-turbo",\t\tMessages: []Message{\t\t\t{Role: "user", Content: "Erkläre in einfachen Worten, was eine Goroutine in Go ist"},\t\t},\t}
\treqBody, _ := json.Marshal(req)
\tvar resp Response\t_, err := client.R().\t\tSetHeader("Authorization", "Bearer "+apiKey).\t\tSetHeader("Content-Type", "application/json").\t\tSetBody(string(reqBody)).\t\tSetResult(&resp).\t\tPost("https://api.openai.com/v1/chat/completions")
\tif err != nil {\t\tfmt.Println("Anfragefehler:", err)\t\treturn\t}
\tif len(resp.Choices) > 0 {\t\tfmt.Println("Antwort von ChatGPT:")\t\tfmt.Println(resp.Choices[0].Message.Content)\t}}Führen Sie das Skript aus:
export OPENAI_API_KEY="sk-ihr_schlüssel"go run main.goSie erhalten eine ausführliche Antwort vom neuronalen Netz. Dies ist die Grundlage, auf der jede Integration von ChatGPT mit Go aufbaut.
Fortgeschrittene Szenarien: Erstellen eines KI-Assistenten für Entwickler
Einfach nur Anfragen zu senden, ist langweilig. Lassen Sie uns etwas Nützliches tun: Wir schreiben einen Assistenten, der Go-Code als Eingabe nimmt und eine optimierte Version mit Kommentaren zurückgibt.
Beispiel 2: KI-Code-Reviewer für Golang
package main
import (\t"bufio"\t"encoding/json"\t"fmt"\t"os"\t"strings"
\t"github.com/go-resty/re