最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang中調(diào)用deepseekr1的教程詳解

 更新時(shí)間:2025年02月18日 10:02:29   作者:又菜又愛玩嗚嗚嗚~  
這篇文章主要為大家詳細(xì)介紹了Golang中調(diào)用deepseekr1的相關(guān)教程,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下

1.官方文檔

2.請求看一下

因?yàn)閐eepseek官方API的deepssek-r1響應(yīng)太慢,于是用了騰訊的API來測試

func main() {
    cfg := config.Config{
        BaseURL:    "https://api.lkeap.cloud.tencent.com",
        APIKey:     "API-KEY",
        HTTPClient: &http.Client{},
    }
    // 初始化deepseek
    d := deepseek.NewDeepSeek(cfg)
    // 封裝請求體
    body := model.Request{
        Model:    "deepseek-r1",
        Messages: []model.Message{{Role: "system", Content: "You are a helpful assistant."}, {Role: "user", Content: "你是誰"}},
    }
    // 同步調(diào)用
    chat, err := d.Chat(context.Background(), body)
    if err != nil {
        panic(err)
    }
    fmt.Println(chat.Content)
    // 流式調(diào)用
    //stream, _ := d.Stream(context.Background(), body)
    //console.ConsoleContent(stream)
}

響應(yīng)的格式

{"id":"ab6e60c5df865a38a",
"object":"chat.completion",
"created":1739782294,
"model":"deepseek-r1",
"choices":[
    {"index":0, "message":{
        "role":"assistant",
        "content":"\n\n您好!我是DeepSeek-R1,一個(gè)由深度求索公司開發(fā)的智能學(xué),代碼和邏輯推理等理工類問題。我會保持誠實(shí),如果不知道答案會明確告知,并始終聚焦于提供最有幫助的信息。",
        "reasoning_content":"\n嗯,用戶問我是誰,我需要用中文回答。首先,我要明確自己的身份,是DeepSeek-R1,一個(gè)由深度求索公司開發(fā),可能無法提供最新信息。同時(shí),要避免使用復(fù)雜術(shù)語,保持口語化,讓回答更自然??赡苡脩魟偨佑|我,所以需要簡潔明了,不需要太長的解釋。還要注意語氣友好,表現(xiàn)出愿意幫助的態(tài)度。有沒有遺漏什么?比如是否需要提到公司背景或者隱私政策?不過ens":230,
        "total_tokens":246
        
    }}

發(fā)現(xiàn)跟deepseek-chat的響應(yīng)只是多路一個(gè)reasoning_content,在響應(yīng)上面加上就可以了

type Response struct {
    Content          string `json:"content"`
    ReasoningContent string `json:"reasoning_content"` // 思考回答
}

3.改造后的整個(gè)訪問流程

1. 調(diào)用流式請求

   stream, _ := d.Stream(context.Background(), body)

2. 發(fā)起流式請求

   func (d *DeepSeek) Stream(ctx context.Context, request model.Request) (<-chan model.Response, error) {
    return http_parse.HandleStreaming(ctx, request, &d.Cfg)
}

3. 響應(yīng)處理

	func HandleStreaming(ctx context.Context, req model.Request, c *config.Config) (<-chan model.Response, error) {
	ch := make(chan model.Response)
	go func() {
		defer close(ch)
		// 發(fā)起流式請求
		resp, err := DoRequest(ctx, req, true, c)
		if err != nil {
			ch <- model.Response{Content: "request error!"}
			return
		}
		defer resp.Body.Close()

		scanner := bufio.NewScanner(resp.Body)
		for scanner.Scan() {
			select {
			case <-ctx.Done():
				ch <- model.Response{Content: "ctx done!"}
				return
			default:
				// 解析事件流
				event := ParseEvent(scanner.Bytes())
				if event != nil {
					ch <- *event
				}
			}
		}
	}()

	return ch, nil
}

4. 打印結(jié)果

    func Content(ch <-chan model.Response) {
    for chunk := range ch {
        if chunk.ReasoningContent != "" {
            fmt.Printf(chunk.ReasoningContent)
            continue
        }
        // 打印回答
        fmt.Printf(chunk.Content)
    }
}

4.代碼地址

https://gitee.com/li-zhuoxuan/go_ai

到此這篇關(guān)于Golang中調(diào)用deepseekr1的教程詳解的文章就介紹到這了,更多相關(guān)Go調(diào)用deepseekr1內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

大安市| 夹江县| 平果县| 仪陇县| 石首市| 沙雅县| 东源县| 和林格尔县| 佳木斯市| 高陵县| 新河县| 大田县| 遂溪县| 罗江县| 巴青县| 贵德县| 平利县| 日喀则市| 阜康市| 西丰县| 洪洞县| 时尚| 出国| 渭南市| 尼木县| 浏阳市| 桂林市| 松潘县| 平舆县| 集贤县| 盐山县| 靖远县| 英吉沙县| 师宗县| 三门县| 河北区| 象州县| 阳城县| 射洪县| 二连浩特市| 东丰县|