Amalan terbaik untuk dok antara muka Baidu AI dengan projek Golang
Pengenalan:
Di bawah gelombang kecerdasan buatan semasa, antara muka Baidu AI telah menjadi salah satu pilihan pertama bagi banyak pembangun dan perusahaan untuk melaksanakan aplikasi pintar. Sebagai bahasa pengaturcaraan yang pantas dan cekap, Golang diiktiraf oleh lebih ramai pembangun dan digunakan dalam pelbagai projek. Artikel ini bertujuan untuk membincangkan cara terbaik untuk menyambungkan antara muka AI Baidu semasa pembangunan projek menggunakan Golang, dan menerangkan kaedah pelaksanaan khusus secara terperinci melalui contoh kod.
1. Persediaan
Sebelum mula menyambung ke antara muka Baidu AI, kami perlu melengkapkan beberapa persediaan terlebih dahulu.
go get github.com/go-chi/chi go get -u github.com/gorilla/websocket
2. Gunakan antara muka Baidu AI
Selepas menyediakan persekitaran pembangunan, kami mula menggunakan antara muka Baidu AI. Mengambil antara muka pengecaman teks Baidu sebagai contoh, kami akan menerangkan cara membuat panggilan antara muka dalam projek Golang.
import ( "encoding/base64" "encoding/json" "fmt" "io/ioutil" "net/http" "net/url" "strings" )
type OCRRequest struct { Image string `json:"image"` LanguageType string `json:"language_type"` }
type OCRResponse struct { WordsResult []WordsResult `json:"words_result"` } type WordsResult struct { Words string `json:"words"` }
func OCR(imageBase64 string) (string, error) { apiURL := "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic" image := url.QueryEscape(imageBase64) params := url.Values{} params.Add("image", image) params.Add("language_type", "CHN_ENG") req, _ := http.NewRequest("POST", apiURL, strings.NewReader(params.Encode())) req.Header.Set("Content-Type", "application/x-www-form-urlencoded") req.Header.Set("Content-Length", strconv.Itoa(len(params.Encode()))) reqParams := req.URL.Query() reqParams.Add("access_token", "YOUR_ACCESS_TOKEN") req.URL.RawQuery = reqParams.Encode() client := &http.Client{} resp, err := client.Do(req) if err != nil { return "", err } defer resp.Body.Close() respBody, _ := ioutil.ReadAll(resp.Body) var ocrResponse OCRResponse err = json.Unmarshal(respBody, &ocrResponse) if err != nil { return "", err } result := "" for _, words := range ocrResponse.WordsResult { result += words.Words + " " } return result, nil }
Atas ialah kandungan terperinci Amalan terbaik untuk dok antara muka AI Baidu dengan projek Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!