【顶级EI复现】基于主从博弈的售电商多元零售套餐设计与多级市场购电策略附Matlab代码
2026/1/16 15:21:47
Go 语言如何调用主流大模型基座,本文将详细介绍OpenAI 系列(GPT-3.5/4)、智谱 AI(GLM)、百度文心一言(ERNIE)这三个常见大模型的调用方法,涵盖核心依赖、完整代码示例和关键说明。
# OpenAI 官方推荐的 Go 客户端库(简化认证和请求构造)go get github.com/sashabaranov/go-openai# 通用 HTTP 客户端(处理智谱、文心一言的自定义请求)go get github.com/go-resty/resty/v2go-openai库(推荐,简化开发)packagemainimport("context""fmt""log""github.com/sashabaranov/go-openai")// 调用 OpenAI GPT 模型funccallOpenAI(apiKeystring){// 1. 初始化 OpenAI 客户端(传入 API Key 认证)client:=openai.NewClient(apiKey)ctx:=context.Background()// 2. 构造请求参数(指定模型、对话内容、温度等)req:=openai.ChatCompletionRequest{Model:openai.GPT3Dot5Turbo,// 可选:openai.GPT4、openai.GPT4TurboMessages:[]openai.ChatCompletionMessage{{Role:openai.ChatMessageRoleUser,// 角色:user/assistant/systemContent:"请用Go语言简要介绍大模型调用流程",// 用户输入内容},},Temperature:0.7,// 生成随机性,0-2 之间MaxTokens:500,// 最大生成令牌数}// 3. 发送请求并获取响应resp,err:=client.CreateChatCompletion(ctx,req)iferr!=nil{log.Fatalf("调用 OpenAI 失败:%v",err)}// 4. 解析并输出结果fmt.Println("=== OpenAI 响应结果 ===")fmt.Println(resp.Choices[0].Message.Content)}funcmain(){// 替换为你的 OpenAI API KeyopenAIAPIKey:="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"callOpenAI(openAIAPIKey)}packagemainimport("bytes""encoding/json""fmt""log""net/http")// OpenAI 请求结构体typeOpenAIRequeststruct{Modelstring`json:"model"`Messages[]struct{Rolestring`json:"role"`Contentstring`json:"content"`}`json:"messages"`Temperaturefloat64`json:"temperature"`MaxTokensint`json:"max_tokens"`}// OpenAI 响应结构体typeOpenAIResponsestruct{Choices[]struct{Messagestruct{Contentstring`json:"content"`}`json:"message"`}`json:"choices"`