手把手教你用【Go】语言调用DeepSeek大模型
用go语言,调用deepseek
·
1、首先呢,点击 “DeepSeek”” 这个,
可以充1块玩玩。
2、然后获取api-key
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呢,看来只能魔法对抗魔法喽。
照片下方,是最新的解读。
我用最直白的话帮你解读 DeepSeek 的模型和价格,就像逛超市看商品标签一样简单:
一、先搞懂几个关键名词
-
Token:
可以理解为 “文字单位”,比如中文里一个字、一个词,或者英文里一个单词、标点符号,模型会把你输入的文字拆成这种小单元处理。
举例:“你好,世界!” 大概是 3-4 个 tokens。 -
上下文长度:
就是你和模型对话时,能 “记住” 的历史内容长度。比如 64K 相当于能记住 约 4 万字的对话记录(中文)。
注意:
这里的8K、64K,是指 8K tokens、64k tokens
这么多tokens表示,大概能输入/分解,多少文字
-
输出长度:
模型一次能回复的文字量。比如: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 元,直接省一半!
借鉴资料:
2、【GoLang】手把手教你用Go语言调用DeepSeek-R1大模型
更多推荐
所有评论(0)