File tree Expand file tree Collapse file tree 7 files changed +348
-0
lines changed
Expand file tree Collapse file tree 7 files changed +348
-0
lines changed Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "context"
5+ "fmt"
6+ "os"
7+
8+ "github.com/go-deepseek/deepseek"
9+ "github.com/go-deepseek/deepseek/request"
10+ )
11+
12+ var apiKey = "your_deepseek_api_key"
13+
14+ func main () {
15+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
16+ apiKey = apiKeyEnv
17+ }
18+
19+ // create deepseek api client
20+ cli , err := deepseek .NewClient (apiKey )
21+ if err != nil {
22+ panic (err )
23+ }
24+
25+ inputMessage := "Hello" // set your input message
26+
27+ chatReq := & request.ChatCompletionsRequest {
28+ Model : deepseek .DEEPSEEK_CHAT_MODEL ,
29+ Stream : false ,
30+ Messages : []* request.Message {
31+ {
32+ Role : "user" ,
33+ Content : inputMessage ,
34+ },
35+ },
36+ }
37+ fmt .Printf ("input message => %s\n " , chatReq .Messages [0 ].Content )
38+
39+ // call deepseek api
40+ chatResp , err := cli .CallChatCompletionsChat (context .Background (), chatReq )
41+ if err != nil {
42+ panic (err )
43+ }
44+ fmt .Printf ("output message => %s\n " , chatResp .Choices [0 ].Message .Content )
45+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "context"
5+ "fmt"
6+ "os"
7+
8+ "github.com/go-deepseek/deepseek"
9+ "github.com/go-deepseek/deepseek/request"
10+ )
11+
12+ var apiKey = "your_deepseek_api_key"
13+
14+ func main () {
15+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
16+ apiKey = apiKeyEnv
17+ }
18+
19+ // create deepseek api client
20+ cli , err := deepseek .NewClient (apiKey )
21+ if err != nil {
22+ panic (err )
23+ }
24+
25+ inputMessage := "Hello" // set your input message
26+
27+ chatReq := & request.ChatCompletionsRequest {
28+ Model : deepseek .DEEPSEEK_REASONER_MODEL ,
29+ Stream : false ,
30+ Messages : []* request.Message {
31+ {
32+ Role : "user" ,
33+ Content : inputMessage ,
34+ },
35+ },
36+ }
37+ fmt .Printf ("input message => %s\n " , chatReq .Messages [0 ].Content )
38+
39+ // call deepseek api
40+ chatResp , err := cli .CallChatCompletionsReasoner (context .Background (), chatReq )
41+ if err != nil {
42+ panic (err )
43+ }
44+ fmt .Printf ("output reasoning => %s\n " , chatResp .Choices [0 ].Message .ReasoningContent )
45+ fmt .Printf ("output message => %s\n " , chatResp .Choices [0 ].Message .Content )
46+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "context"
5+ "fmt"
6+ "io"
7+ "os"
8+
9+ "github.com/go-deepseek/deepseek"
10+ "github.com/go-deepseek/deepseek/request"
11+ )
12+
13+ var apiKey = "your_deepseek_api_key"
14+
15+ func main () {
16+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
17+ apiKey = apiKeyEnv
18+ }
19+
20+ // create deepseek api client
21+ cli , err := deepseek .NewClient (apiKey )
22+ if err != nil {
23+ panic (err )
24+ }
25+
26+ inputMessage := "Hello" // set your input message
27+
28+ chatReq := & request.ChatCompletionsRequest {
29+ Model : deepseek .DEEPSEEK_CHAT_MODEL ,
30+ Stream : true ,
31+ Messages : []* request.Message {
32+ {
33+ Role : "user" ,
34+ Content : inputMessage ,
35+ },
36+ },
37+ }
38+ fmt .Printf ("input message => %s\n " , chatReq .Messages [0 ].Content )
39+
40+ // call deepseek api
41+ sr , err := cli .StreamChatCompletionsChat (context .Background (), chatReq )
42+ if err != nil {
43+ panic (err )
44+ }
45+
46+ fmt .Print ("output message => " )
47+ for {
48+ chatResp , err := sr .Read ()
49+ if err != nil {
50+ if err == io .EOF {
51+ break
52+ }
53+ panic (err )
54+ }
55+ fmt .Print (chatResp .Choices [0 ].Delta .Content )
56+ }
57+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "context"
5+ "fmt"
6+ "io"
7+ "os"
8+
9+ "github.com/go-deepseek/deepseek"
10+ "github.com/go-deepseek/deepseek/request"
11+ )
12+
13+ var apiKey = "your_deepseek_api_key"
14+
15+ func main () {
16+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
17+ apiKey = apiKeyEnv
18+ }
19+
20+ // create deepseek api client
21+ cli , err := deepseek .NewClient (apiKey )
22+ if err != nil {
23+ panic (err )
24+ }
25+
26+ inputMessage := "Hello" // set your input message
27+
28+ chatReq := & request.ChatCompletionsRequest {
29+ Model : deepseek .DEEPSEEK_REASONER_MODEL ,
30+ Stream : true ,
31+ Messages : []* request.Message {
32+ {
33+ Role : "user" ,
34+ Content : inputMessage ,
35+ },
36+ },
37+ }
38+ fmt .Printf ("input message => %s\n " , chatReq .Messages [0 ].Content )
39+
40+ // call deepseek api
41+ sr , err := cli .StreamChatCompletionsReasoner (context .Background (), chatReq )
42+ if err != nil {
43+ panic (err )
44+ }
45+
46+ fmt .Print ("output message => " )
47+ for {
48+ chatResp , err := sr .Read ()
49+ if err != nil {
50+ if err == io .EOF {
51+ break
52+ }
53+ panic (err )
54+ }
55+ if chatResp .Choices [0 ].Delta .ReasoningContent != "" {
56+ fmt .Print (chatResp .Choices [0 ].Delta .ReasoningContent )
57+ } else {
58+ fmt .Print (chatResp .Choices [0 ].Delta .Content )
59+ }
60+ }
61+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "context"
5+ "fmt"
6+ "os"
7+
8+ "github.com/go-deepseek/deepseek"
9+ "github.com/go-deepseek/deepseek/config"
10+ "github.com/go-deepseek/deepseek/request"
11+ )
12+
13+ var apiKey = "your_deepseek_api_key"
14+
15+ func main () {
16+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
17+ apiKey = apiKeyEnv
18+ }
19+
20+ // create deepseek api client with custom config
21+ cfg := config.Config {
22+ ApiKey : apiKey ,
23+ TimeoutSeconds : 60 ,
24+ DisableRequestValidation : true ,
25+ }
26+ cli , err := deepseek .NewClientWithConfig (cfg )
27+ if err != nil {
28+ panic (err )
29+ }
30+
31+ inputMessage := "Hello" // set your input message
32+
33+ chatReq := & request.ChatCompletionsRequest {
34+ Model : deepseek .DEEPSEEK_CHAT_MODEL ,
35+ Stream : false ,
36+ Messages : []* request.Message {
37+ {
38+ Role : "user" ,
39+ Content : inputMessage ,
40+ },
41+ },
42+ }
43+ fmt .Printf ("input message => %s\n " , chatReq .Messages [0 ].Content )
44+
45+ // call deepseek api
46+ chatResp , err := cli .CallChatCompletionsChat (context .Background (), chatReq )
47+ if err != nil {
48+ panic (err )
49+ }
50+ fmt .Printf ("output message => %s\n " , chatResp .Choices [0 ].Message .Content )
51+ }
Original file line number Diff line number Diff line change 1+ package main
2+
3+ import (
4+ "bufio"
5+ "context"
6+ "fmt"
7+ "io"
8+ "os"
9+ "strings"
10+
11+ "github.com/go-deepseek/deepseek"
12+ "github.com/go-deepseek/deepseek/request"
13+ )
14+
15+ var apiKey = "your_deepseek_api_key"
16+
17+ func main () {
18+ if apiKeyEnv := os .Getenv ("DEEPSEEK_API_KEY" ); apiKeyEnv != "" {
19+ apiKey = apiKeyEnv
20+ }
21+
22+ // create deepseek api client
23+ cli , err := deepseek .NewClient (apiKey )
24+ if err != nil {
25+ panic (err )
26+ }
27+
28+ fmt .Println ("This is deepseek demo; type `bye` to exit" )
29+ for {
30+ fmt .Println ()
31+ fmt .Print (">>> " )
32+ reader := bufio .NewReader (os .Stdin )
33+ lineBytes , _ , err := reader .ReadLine ()
34+ if err != nil {
35+ panic (err )
36+ }
37+ inputMessage := string (lineBytes )
38+
39+ if strings .ToLower (inputMessage ) == "bye" {
40+ os .Exit (0 )
41+ }
42+
43+ chatReq := & request.ChatCompletionsRequest {
44+ Model : deepseek .DEEPSEEK_REASONER_MODEL ,
45+ Stream : true ,
46+ Messages : []* request.Message {
47+ {
48+ Role : "user" ,
49+ Content : inputMessage ,
50+ },
51+ },
52+ }
53+
54+ // call deepseek api
55+ sr , err := cli .StreamChatCompletionsReasoner (context .Background (), chatReq )
56+ if err != nil {
57+ panic (err )
58+ }
59+
60+ for {
61+ chatResp , err := sr .Read ()
62+ if err != nil {
63+ if err == io .EOF {
64+ break
65+ }
66+ panic (err )
67+ }
68+ if chatResp .Choices [0 ].Delta .ReasoningContent != "" {
69+ fmt .Print (chatResp .Choices [0 ].Delta .ReasoningContent )
70+ } else {
71+ fmt .Print (chatResp .Choices [0 ].Delta .Content )
72+ }
73+ }
74+ }
75+ }
Original file line number Diff line number Diff line change 1+ ## examples
2+
3+ We have created multiple example which exhibits different features of this deepseek go client.
4+
5+ To run,
6+ ```
7+ go run 01-chat/main.go
8+
9+ go run 02-reasoner/main.go
10+
11+ .. like-wise works for all examples.
12+ ```
13+
You can’t perform that action at this time.
0 commit comments