@@ -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 {
0 commit comments