Skip to content

Commit 20383a2

Browse files
authored
add gpt model option (#29)
1 parent ebc8a19 commit 20383a2

File tree

4 files changed

+14
-8
lines changed

4 files changed

+14
-8
lines changed

.github/workflows/gpt_pullrequest_updater.yml

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
OWNER: ${{ github.repository_owner }}
3737
REPO: ${{ github.event.repository.name }}
3838
PR_NUMBER: ${{ github.event.number }}
39+
OPENAI_MODEL: gpt-4
3940

4041
- name: Review Pull Request
4142
if: github.event.action == 'opened'
@@ -47,3 +48,4 @@ jobs:
4748
OWNER: ${{ github.repository_owner }}
4849
REPO: ${{ github.event.repository.name }}
4950
PR_NUMBER: ${{ github.event.number }}
51+
OPENAI_MODEL: gpt-4

cmd/description/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ var opts struct {
2222
Owner string `long:"owner" env:"OWNER" description:"GitHub owner" required:"true"`
2323
Repo string `long:"repo" env:"REPO" description:"GitHub repo" required:"true"`
2424
PRNumber int `long:"pr-number" env:"PR_NUMBER" description:"Pull request number" required:"true"`
25+
OpenAIModel string `long:"openai-model" env:"OPENAI_MODEL" description:"OpenAI model" default:"gpt-3.5-turbo"`
2526
Test bool `long:"test" env:"TEST" description:"Test mode"`
2627
JiraURL string `long:"jira-url" env:"JIRA_URL" description:"Jira URL. Example: https://jira.atlassian.com"`
2728
}
@@ -43,7 +44,7 @@ func main() {
4344
}
4445

4546
func run(ctx context.Context) error {
46-
openAIClient := oAIClient.NewClient(opts.OpenAIToken)
47+
openAIClient := oAIClient.NewClient(opts.OpenAIToken, opts.OpenAIModel)
4748
githubClient := ghClient.NewClient(ctx, opts.GithubToken)
4849

4950
pr, err := githubClient.GetPullRequest(ctx, opts.Owner, opts.Repo, opts.PRNumber)

cmd/review/main.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var opts struct {
2020
Owner string `long:"owner" env:"OWNER" description:"GitHub owner" required:"true"`
2121
Repo string `long:"repo" env:"REPO" description:"GitHub repo" required:"true"`
2222
PRNumber int `long:"pr-number" env:"PR_NUMBER" description:"Pull request number" required:"true"`
23+
OpenAIModel string `long:"openai-model" env:"OPENAI_MODEL" description:"OpenAI model" default:"gpt-3.5-turbo"`
2324
Test bool `long:"test" env:"TEST" description:"Test mode"`
2425
}
2526

@@ -40,7 +41,7 @@ func main() {
4041
}
4142

4243
func run(ctx context.Context) error {
43-
openAIClient := oAIClient.NewClient(opts.OpenAIToken)
44+
openAIClient := oAIClient.NewClient(opts.OpenAIToken, opts.OpenAIModel)
4445
githubClient := ghClient.NewClient(ctx, opts.GithubToken)
4546

4647
pr, err := githubClient.GetPullRequest(ctx, opts.Owner, opts.Repo, opts.PRNumber)

openai/openai.go

+8-6
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,21 @@ var PromptDescribeOverall string
2121

2222
type Client struct {
2323
client *openai.Client
24+
model string
2425
}
2526

26-
func NewClient(token string) *Client {
27+
func NewClient(token, model string) *Client {
2728
return &Client{
2829
client: openai.NewClient(token),
30+
model: model,
2931
}
3032
}
3133

32-
func (o *Client) ChatCompletion(ctx context.Context, messages []openai.ChatCompletionMessage) (string, error) {
33-
resp, err := o.client.CreateChatCompletion(
34+
func (c *Client) ChatCompletion(ctx context.Context, messages []openai.ChatCompletionMessage) (string, error) {
35+
resp, err := c.client.CreateChatCompletion(
3436
ctx,
3537
openai.ChatCompletionRequest{
36-
Model: openai.GPT3Dot5Turbo,
38+
Model: c.model,
3739
Messages: messages,
3840
Temperature: 0.1,
3941
},
@@ -47,10 +49,10 @@ func (o *Client) ChatCompletion(ctx context.Context, messages []openai.ChatCompl
4749
fmt.Println("Retrying after 1 minute")
4850
// retry once after 1 minute
4951
time.Sleep(time.Minute)
50-
resp, err = o.client.CreateChatCompletion(
52+
resp, err = c.client.CreateChatCompletion(
5153
ctx,
5254
openai.ChatCompletionRequest{
53-
Model: openai.GPT3Dot5Turbo,
55+
Model: c.model,
5456
Messages: messages,
5557
Temperature: 0.1,
5658
},

0 commit comments

Comments
 (0)