手把手教你用【Go】语言调用DeepSeek大模型

举报
竹墨贤 发表于 2026/03/20 14:29:32 2026/03/20
【摘要】 用go语言,调用deepseek

 1、首先呢,点击 “Deepseek”” 这个,

1.png

可以充1块玩玩。

2、然后获取api-key

2.png

3、替换apiKey

const (
	apiURL    = "https://api.deepseek.com/v1/chat/completions"
	apiKey    = "your api key" // 替换为你的实际 API Key
	modelName = "deepseek-chat"                       // 或其他可用模型
)

4、在上方更改api之后,只需要套用下方即可:

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"net/http"
)

const (
	apiURL    = "https://api.deepseek.com/v1/chat/completions"
	apiKey    = "your api key" // 替换为你的实际 API Key
	modelName = "deepseek-chat"                       // 或其他可用模型
)

// 请求结构体
type RequestBody struct {
	Model    string    `json:"model"`
	Messages []Message `json:"messages"`
}

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

// 响应结构体
type APIResponse struct {
	Choices []struct {
		Message struct {
			Content string `json:"content"`
		} `json:"message"`
	} `json:"choices"`
}

func main() {
	// 1. 构造请求数据

	// 也就是在这里发起提问
	requestBody := RequestBody{
		Model: modelName,
		Messages: []Message{
			{Role: "user", Content: "请解释量子计算的基本原理"},
		},
	}

	jsonBody, _ := json.Marshal(requestBody)

	// 2. 创建 HTTP 请求
	req, _ := http.NewRequest("POST", apiURL, bytes.NewBuffer(jsonBody))
	req.Header.Set("Authorization", "Bearer "+apiKey)
	req.Header.Set("Content-Type", "application/json")

	// 3. 发送请求
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		panic("请求失败: " + err.Error())
	}
	defer resp.Body.Close()

	// 4. 读取响应
	body, _ := io.ReadAll(resp.Body)

	// 5. 解析响应
	var apiResp APIResponse
	if err := json.Unmarshal(body, &apiResp); err != nil {
		panic("解析响应失败: " + err.Error())
	}

	// 6. 输出结果
	if len(apiResp.Choices) > 0 {
		fmt.Println("模型回复:", apiResp.Choices[0].Message.Content)
	} else {
		fmt.Println("未收到有效回复")
	}
}

模型&价格解说:

这么复杂,第一次看,一定很吃力。

但没办法,谁让我有AI呢,看来只能魔法对抗魔法喽。

照片下方,是最新的解读。

3.png

我用最直白的话帮你解读 DeepSeek 的模型和价格,就像逛超市看商品标签一样简单:

一、先搞懂几个关键名词

  1. Token
    可以理解为 “文字单位”,比如中文里一个字、一个词,或者英文里一个单词、标点符号,模型会把你输入的文字拆成这种小单元处理。
    举例:“你好,世界!” 大概是 3-4 个 tokens。

  2. 上下文长度
    就是你和模型对话时,能 “记住” 的历史内容长度。比如 64K 相当于能记住 约 4 万字的对话记录(中文)。

注意:
这里的8K、64K,是指 8K tokens、64k tokens
这么多tokens表示,大概能输入/分解,多少文字

  1. 输出长度
    模型一次能回复的文字量。比如:

    • deepseek-chat 最多能回 8K(约 6000 字)
    • deepseek-reasoner 最多能回 64K(约 4.8 万字)(适合写长报告、复杂推理)。

二、模型区别:选哪个?

模型名称 适合场景 核心功能 一句话总结
deepseek-chat 日常对话、简单问答 支持生成 JSON、调用工具 聊天机器人,能帮你写简短文案、查信息
deepseek-reasoner 复杂推理、长文本生成(如论文) 支持超长输出(64K)、思维链 学霸型模型,适合写报告、分析数据、写小说

三、价格表:怎么花钱?

先看费用结构:花的钱 = 输入 token 数 × 单价 + 输出 token 数 × 单价

(输入:你发给模型的文字;输出:模型回复你的文字)

1. 标准时段(北京时间 08:30-00:30):正常价格

模型 输入费用(每百万 tokens) 输出费用(每百万 tokens)
deepseek-chat - 缓存命中(常用内容):0.5 元
- 缓存未命中(新内容):2 元
8 元
deepseek-reasoner - 缓存命中:1 元
- 缓存未命中:4 元
16 元

举个栗子

  • 你用 deepseek-chat 发了 100 万 tokens 的问题(新内容,缓存未命中),模型回了 100 万 tokens 的答案:
    费用 = 2 元(输入) + 8 元(输出)= 10 元

2. 优惠时段(北京时间 00:30-08:30):打骨折!

模型 输入费用(每百万 tokens) 输出费用(每百万 tokens)
deepseek-chat - 缓存命中:0.25 元(5 折)
- 缓存未命中:1 元(5 折)
4 元(5 折)
deepseek-reasoner - 缓存命中:0.25 元(2.5 折)
- 缓存未命中:1 元(2.5 折)
4 元(2.5 折)


举个栗子

  • 同样的操作(100 万输入 + 100 万输出),在优惠时段:
    费用 = 1 元(输入) + 4 元(输出)= 5 元,直接省一半!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。