Skip to content

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))
}

算力互联(北京)科技有限公司版权所有