Skip to content

Commit 2a2bf89

Browse files
authored
Merge pull request #68 from GauravJangra9988/ollama-cli
2 parents 3f17f8c + 8970a7f commit 2a2bf89

3 files changed

Lines changed: 48 additions & 29 deletions

File tree

cmd/cli/createMsg.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,17 +121,9 @@ func CreateCommitMsg () {
121121
case "Claude":
122122
commitMsg, err = claude.GenerateCommitMessage(config, changes, apiKey)
123123
case "Ollama":
124-
url := os.Getenv("OLLAMA_URL")
125-
if url == "" {
126-
url = "http://localhost:11434/api/generate"
127-
}
128-
model := os.Getenv("OLLAMA_MODEL")
129-
if model == "" {
130-
model = "llama3:latest"
131-
}
132-
commitMsg, err = ollama.GenerateCommitMessage(config, changes, url, model)
133-
134-
124+
model := "llama3:latest"
125+
126+
commitMsg, err = ollama.GenerateCommitMessage(config, changes, apiKey, model)
135127
default:
136128
commitMsg, err = grok.GenerateCommitMessage(config, changes, apiKey)
137129
}

cmd/cli/llmSetup.go

Lines changed: 45 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,30 @@ func SetupLLM() error {
2525
var apiKey string
2626

2727
// Skip API key prompt for Ollama (local LLM)
28-
if model != "Ollama" {
29-
apiKeyPrompt := promptui.Prompt{
28+
apiKeyPrompt := promptui.Prompt{
3029
Label: "Enter API Key",
3130
Mask: '*',
3231
}
32+
33+
34+
switch model {
35+
case "Ollama":
36+
urlPrompt := promptui.Prompt{
37+
Label: "Enter URL",
38+
}
39+
apiKey, err = urlPrompt.Run()
40+
if err != nil {
41+
return fmt.Errorf("failed to read Url: %w", err)
42+
}
3343

34-
apiKey, err = apiKeyPrompt.Run()
35-
if err != nil {
44+
default:
45+
apiKey, err = apiKeyPrompt.Run()
46+
if err != nil {
3647
return fmt.Errorf("failed to read API Key: %w", err)
3748
}
38-
} else {
39-
apiKey = "" // No API key needed for Ollama
40-
}
49+
50+
}
51+
4152

4253
LLMConfig := store.LLMProvider{
4354
LLM: model,
@@ -68,7 +79,8 @@ func UpdateLLM() error {
6879
}
6980

7081
models := []string{}
71-
options := []string{"Set Default", "Change API Key", "Delete"}
82+
options1 := []string{"Set Default", "Change API Key", "Delete"}
83+
options2 := []string{"Set Default", "Change URL", "Delete"} //different option for local model
7284

7385
for _, p := range SavedModels.LLMProviders {
7486
models = append(models, p.LLM)
@@ -84,19 +96,33 @@ func UpdateLLM() error {
8496
return err
8597
}
8698

87-
88-
prompt = promptui.Select{
99+
prompt = promptui.Select{
89100
Label: "Select Option",
90-
Items: options,
91-
}
101+
Items: options1,
102+
}
103+
104+
apiKeyPrompt := promptui.Prompt {
105+
Label: "Enter API Key",
106+
}
107+
108+
109+
if model == "Ollama" {
110+
prompt = promptui.Select{
111+
Label: "Select Option",
112+
Items: options2,
113+
}
114+
115+
apiKeyPrompt = promptui.Prompt {
116+
Label: "Enter URL",
117+
}
118+
}
119+
120+
92121
opNo,_,err := prompt.Run()
93122
if err != nil {
94123
return err
95124
}
96125

97-
apiKeyprompt := promptui.Prompt {
98-
Label: "Enter API Key",
99-
}
100126

101127

102128
switch opNo {
@@ -107,15 +133,17 @@ func UpdateLLM() error {
107133
}
108134
fmt.Printf("%s set as default", model)
109135
case 1:
110-
apiKey, err := apiKeyprompt.Run()
136+
apiKey, err := apiKeyPrompt.Run()
111137
if err != nil {
112138
return err
113139
}
114140
err = store.UpdateAPIKey(model, apiKey)
115141
if err != nil {
116142
return err
117143
}
118-
fmt.Printf("%s API Key Updated", model)
144+
event := "API Key"
145+
if model == "Ollama"{event = "URL"}
146+
fmt.Printf("%s %s Updated", model,event)
119147
case 2:
120148
err := store.DeleteModel(model)
121149
if err != nil {

cmd/cli/store/store.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ func DefaultLLMKey() (*LLMProvider, error) {
165165
return nil, err
166166
}
167167

168-
fmt.Println(len(data))
169168
if len(data) > 2 {
170169
err = json.Unmarshal(data, &cfg)
171170
if err != nil {

0 commit comments

Comments
 (0)