外观
go 代码示例(OpenAI格式)
go
`package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"time"
)
func main() {
apiKey := "<API_KEY>"
url := "https://maasapi.casdao.com/v1/chat/completions"
// Define the request payload structure
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
}
type Payload struct {
Model string `json:"model"`
Messages []Message `json:"messages"`
Stream bool `json:"stream"`
Temperature float64 `json:"temperature"`
TopP float64 `json:"top_p"`
PresencePenalty float64 `json:"presence_penalty"`
FrequencyPenalty float64 `json:"frequency_penalty"`
}
// Create payload data
payload := Payload{
Model: "kimi-k2.5",
Messages: []Message{
{Role: "user", Content: "你好,人类的未来是怎样的?"},
},
Stream: false,
Temperature: 0.7,
TopP: 1.0,
PresencePenalty: 0.0,
FrequencyPenalty: 0.0,
}
// Convert payload to JSON
jsonPayload, err := json.Marshal(payload)
if err != nil {
fmt.Printf("Error marshaling payload: %v\n", err)
return
}
// Create HTTP request
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonPayload))
if err != nil {
fmt.Printf("Error creating request: %v\n", err)
return
}
// Set headers
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// Create HTTP client with timeout
client := &http.Client{
Timeout: 60 * time.Second,
}
// Send request
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Error sending request: %v\n", err)
return
}
defer resp.Body.Close()
// Print response status
fmt.Printf("Response Status: %s\n", resp.Status)
// Parse and print response body
var responseBody map[string]interface{}
err = json.NewDecoder(resp.Body).Decode(&responseBody)
if err != nil {
fmt.Printf("Error decoding response: %v\n", err)
return
}
// Pretty print JSON response
prettyJSON, err := json.MarshalIndent(responseBody, "", " ")
if err != nil {
fmt.Printf("Error formatting response: %v\n", err)
return
}
fmt.Println(string(prettyJSON))
}