Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Satu kemestian untuk pemaju Golang! Penjelasan terperinci tentang pelbagai dok antara muka AI Baidu

Satu kemestian untuk pemaju Golang! Penjelasan terperinci tentang pelbagai dok antara muka AI Baidu

王林
王林asal
2023-08-15 09:27:281584semak imbas

Satu kemestian untuk pemaju Golang! Penjelasan terperinci tentang pelbagai dok antara muka AI Baidu

Mesti ada untuk pemaju Golang! Penjelasan terperinci tentang pelbagai dok antara muka AI Baidu

AI (kecerdasan buatan) memainkan peranan yang semakin penting dalam bidang teknologi hari ini. Sebagai pembangun Golang, anda mungkin berhadapan dengan tugas antara muka dengan antara muka AI. Sebagai sebuah syarikat teknologi domestik yang terkenal, Baidu menyediakan pelbagai antara muka AI untuk digunakan oleh pembangun. Artikel ini akan memperkenalkan beberapa antara muka yang biasa digunakan secara terperinci dan memberikan contoh kod Golang yang sepadan.

Antara muka Baidu AI meliputi pengecaman muka, pengecaman pertuturan, pengecaman imej dan bidang lain. Kami akan mengambil pengecaman muka sebagai contoh untuk memperkenalkan cara menggunakan Golang untuk menyambung ke antara muka pengecaman muka Baidu.

Pertama, kita perlu mendaftar akaun pada platform terbuka Baidu AI dan membuat aplikasi. Selepas mencipta aplikasi, anda akan mendapat AppID, Kunci API dan Kunci Rahsia. Maklumat ini akan digunakan dalam kod seterusnya.

Seterusnya, kami perlu memperkenalkan perpustakaan permintaan rangkaian Golang. Masukkan arahan berikut dalam terminal untuk memasang:

go get -u github.com/go-resty/resty/v2

Selepas pemasangan selesai, kita boleh mula menulis kod. Buat fail bernama "face_recognition.go" dan masukkan kod berikut dalam fail:

package main

import (
    "fmt"
    "github.com/go-resty/resty/v2"
)

func main() {
    appID := "YOUR_APP_ID"
    apiKey := "YOUR_API_KEY"
    secretKey := "YOUR_SECRET_KEY"

    client := resty.New()

    // 调用人脸识别接口
    resp, err := client.R().
        SetFormData(map[string]string{
            "image":    "/path/to/image.jpg",
            "image_type": "BASE64",
        }).
        SetQueryParam("access_token", getToken(apiKey, secretKey)).
        Post("https://aip.baidubce.com/rest/2.0/face/v3/detect")

    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(resp.String())
}

// 获取访问令牌
func getToken(apiKey, secretKey string) string {
    client := resty.New()

    // 调用获取访问令牌接口
    resp, _ := client.R().
        SetFormData(map[string]string{
            "grant_type":    "client_credentials",
            "client_id":     apiKey,
            "client_secret": secretKey,
        }).
        Post("https://aip.baidubce.com/oauth/2.0/token")

    var result map[string]interface{}
    json.Unmarshal(resp.Body(), &result)
    
    return result["access_token"].(string)
}

Dalam kod, kami mula-mula menentukan AppID, Kunci API dan Kunci Rahsia. Kemudian, kami mencipta klien HTTP melalui perpustakaan resty. Sebelum memanggil antara muka pengecaman muka, kita perlu mendapatkan token akses terlebih dahulu. Oleh itu, kami menulis fungsi getToken() untuk mendapatkan token. URL antara muka pemerolehan token ialah https://aip.baidubce.com/oauth/2.0/token dan hasil yang dikembalikan mengandungi medan token access_token. getToken()来获取令牌。获取令牌接口的URL是https://aip.baidubce.com/oauth/2.0/token,返回的结果中包含令牌字段access_token

在调用人脸识别接口时,我们使用了resty库的SetFormData()方法来设置请求参数。示例中设置了两个参数,一个是待识别的图片路径,另一个是图片类型。我们还使用SetQueryParam()方法来设置URL中的查询参数access_token,其值是通过getToken()

Apabila memanggil antara muka pengecaman muka, kami menggunakan kaedah SetFormData() pustaka resty untuk menetapkan parameter permintaan. Dalam contoh, dua parameter ditetapkan, satu ialah laluan imej untuk dikenali, dan satu lagi ialah jenis imej. Kami juga menggunakan kaedah SetQueryParam() untuk menetapkan parameter pertanyaan access_token dalam URL dan nilainya diperoleh melalui fungsi getToken() .

Selepas melengkapkan langkah di atas, kami boleh menjalankan kod untuk memanggil antara muka pengecaman muka Baidu dan mendapatkan hasilnya.

Sudah tentu, mempertimbangkan kestabilan permintaan rangkaian, kita harus menambah pengendalian ralat dan logik pengendalian pengecualian kepada pembangunan sebenar. Selain itu, kami juga boleh menggunakan antara muka AI lain yang disediakan oleh Baidu untuk melaksanakan fungsi yang lebih menarik.

Melalui contoh kod di atas, saya percaya anda mempunyai pemahaman awal tentang cara menyambung ke antara muka pengecaman muka Baidu di Golang. Saya harap artikel ini dapat membantu pembangun yang sedang belajar Golang dan berminat dalam pembangunan antara muka AI! 🎜

Atas ialah kandungan terperinci Satu kemestian untuk pemaju Golang! Penjelasan terperinci tentang pelbagai dok antara muka AI Baidu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn