8383 < div itemprop ="articleBody ">
8484
8585 < h1 > Source code for danoan.llm_assistant.common.config</ h1 > < div class ="highlight "> < pre >
86- < span > </ span > < span class ="kn "> from</ span > < span class ="nn "> danoan.llm_assistant.common</ span > < span class ="kn "> import</ span > < span class ="n "> exception</ span > < span class ="p "> ,</ span > < span class ="n "> model</ span >
86+ < span > </ span > < span class ="sd "> """</ span >
87+ < span class ="sd "> LLM-assistant configuration API.</ span >
88+ < span class ="sd "> """</ span >
8789
88-
89- < span class ="kn "> from</ span > < span class ="nn "> functools</ span > < span class ="kn "> import</ span > < span class ="n "> lru_cache</ span >
9090< span class ="kn "> import</ span > < span class ="nn "> logging</ span >
9191< span class ="kn "> import</ span > < span class ="nn "> os</ span >
92- < span class ="kn "> from</ span > < span class ="nn "> pathlib</ span > < span class ="kn "> import</ span > < span class ="n "> Path</ span >
9392< span class ="kn "> import</ span > < span class ="nn "> sys</ span >
94- < span class ="kn "> import</ span > < span class ="nn "> toml</ span >
93+ < span class ="kn "> from</ span > < span class ="nn "> functools</ span > < span class ="kn "> import</ span > < span class ="n "> lru_cache</ span >
94+ < span class ="kn "> from</ span > < span class ="nn "> pathlib</ span > < span class ="kn "> import</ span > < span class ="n "> Path</ span >
9595< span class ="kn "> from</ span > < span class ="nn "> typing</ span > < span class ="kn "> import</ span > < span class ="n "> Optional</ span >
9696
97+ < span class ="kn "> import</ span > < span class ="nn "> toml</ span >
98+
99+ < span class ="kn "> from</ span > < span class ="nn "> danoan.llm_assistant.common</ span > < span class ="kn "> import</ span > < span class ="n "> exception</ span > < span class ="p "> ,</ span > < span class ="n "> model</ span >
100+
97101< span class ="n "> logger</ span > < span class ="o "> =</ span > < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> getLogger</ span > < span class ="p "> (</ span > < span class ="vm "> __file__</ span > < span class ="p "> )</ span >
98102< span class ="n "> handler</ span > < span class ="o "> =</ span > < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> StreamHandler</ span > < span class ="p "> (</ span > < span class ="n "> sys</ span > < span class ="o "> .</ span > < span class ="n "> stderr</ span > < span class ="p "> )</ span >
99103< span class ="n "> handler</ span > < span class ="o "> .</ span > < span class ="n "> setLevel</ span > < span class ="p "> (</ span > < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> DEBUG</ span > < span class ="p "> )</ span >
@@ -166,6 +170,24 @@ <h1>Source code for danoan.llm_assistant.common.config</h1><div class="highlight
166170
167171
168172
173+ < div class ="viewcode-block " id ="get_environment_variable_value ">
174+ < a class ="viewcode-back " href ="../../../../reference/danoan.llm_assistant.common.config.html#danoan.llm_assistant.common.config.get_environment_variable_value "> [docs]</ a >
175+ < span class ="k "> def</ span > < span class ="nf "> get_environment_variable_value</ span > < span class ="p "> ()</ span > < span class ="o "> -></ span > < span class ="n "> Path</ span > < span class ="p "> :</ span >
176+ < span class ="sa "> f</ span > < span class ="s2 "> """</ span >
177+ < span class ="s2 "> Return the value stored by </ span > < span class ="si "> {</ span > < span class ="n "> LLM_ASSISTANT_ENV_VARIABLE</ span > < span class ="si "> }</ span > < span class ="s2 "> .</ span >
178+
179+ < span class ="s2 "> Raises:</ span >
180+ < span class ="s2 "> EnvironmentVariableNotDefinedError: If the LLM_ASSISTANT_ENV_VARIABLE</ span >
181+ < span class ="s2 "> is not defined and a configuration file</ span >
182+ < span class ="s2 "> is not found in the file hierarchy</ span >
183+ < span class ="s2 "> """</ span >
184+ < span class ="k "> if</ span > < span class ="n "> LLM_ASSISTANT_ENV_VARIABLE</ span > < span class ="ow "> in</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> environ</ span > < span class ="p "> :</ span >
185+ < span class ="k "> return</ span > < span class ="n "> Path</ span > < span class ="p "> (</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> environ</ span > < span class ="p "> [</ span > < span class ="n "> LLM_ASSISTANT_ENV_VARIABLE</ span > < span class ="p "> ])</ span > < span class ="o "> .</ span > < span class ="n "> expanduser</ span > < span class ="p "> ()</ span >
186+
187+ < span class ="k "> raise</ span > < span class ="n "> exception</ span > < span class ="o "> .</ span > < span class ="n "> EnvironmentVariableNotDefinedError</ span > < span class ="p "> ()</ span > </ div >
188+
189+
190+
169191< div class ="viewcode-block " id ="get_configuration_filepath ">
170192< a class ="viewcode-back " href ="../../../../reference/danoan.llm_assistant.common.config.html#danoan.llm_assistant.common.config.get_configuration_filepath "> [docs]</ a >
171193< span class ="k "> def</ span > < span class ="nf "> get_configuration_filepath</ span > < span class ="p "> ()</ span > < span class ="o "> -></ span > < span class ="n "> Path</ span > < span class ="p "> :</ span >
@@ -187,7 +209,7 @@ <h1>Source code for danoan.llm_assistant.common.config</h1><div class="highlight
187209 < span class ="k "> raise</ span > < span class ="n "> exception</ span > < span class ="o "> .</ span > < span class ="n "> ConfigurationFileDoesNotExistError</ span > < span class ="p "> ()</ span >
188210
189211 < span class ="k "> with</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="n "> config_filepath</ span > < span class ="p "> ,</ span > < span class ="s2 "> "r"</ span > < span class ="p "> )</ span > < span class ="k "> as</ span > < span class ="n "> f</ span > < span class ="p "> :</ span >
190- < span class ="k "> return</ span > < span class ="n "> model</ span > < span class ="o "> .</ span > < span class ="n "> LLMAssistantConfiguration</ span > < span class ="p "> (</ span > < span class ="o "> **</ span > < span class ="n "> toml</ span > < span class ="o "> .</ span > < span class ="n "> load</ span > < span class ="p "> (</ span > < span class ="n "> f</ span > < span class ="p "> ))</ span > </ div >
212+ < span class ="k "> return</ span > < span class ="n "> model</ span > < span class ="o "> .</ span > < span class ="n "> LLMAssistantConfiguration</ span > < span class ="o " > . </ span > < span class =" n " > from_dict </ span > < span class =" p "> (</ span > < span class ="o "> **</ span > < span class ="n "> toml</ span > < span class ="o "> .</ span > < span class ="n "> load</ span > < span class ="p "> (</ span > < span class ="n "> f</ span > < span class ="p "> ))</ span > </ div >
191213
192214
193215
@@ -198,13 +220,21 @@ <h1>Source code for danoan.llm_assistant.common.config</h1><div class="highlight
198220< span class ="sd "> Get prompt configuration object.</ span >
199221
200222< span class ="sd "> It searches the prompt configuration file within the directory specified</ span >
201- < span class ="sd "> by runner.local_folder setting.</ span >
223+ < span class ="sd "> by runner.prompt_collection_folder setting.</ span >
202224
203225< span class ="sd "> Raises:</ span >
204226< span class ="sd "> FileNotFoundError: if prompt configuration file is not found.</ span >
205227< span class ="sd "> """</ span >
206228 < span class ="n "> config</ span > < span class ="o "> =</ span > < span class ="n "> get_configuration</ span > < span class ="p "> ()</ span >
207- < span class ="n "> prompt_config_filepath</ span > < span class ="o "> =</ span > < span class ="n "> config</ span > < span class ="o "> .</ span > < span class ="n "> runner</ span > < span class ="o "> .</ span > < span class ="n "> local_folder</ span > < span class ="o "> /</ span > < span class ="n "> prompt_name</ span > < span class ="o "> /</ span > < span class ="s2 "> "config.toml"</ span >
229+ < span class ="k "> if</ span > < span class ="n "> config</ span > < span class ="o "> .</ span > < span class ="n "> prompt</ span > < span class ="p "> :</ span >
230+ < span class ="n "> prompt_config_filepath</ span > < span class ="o "> =</ span > < span class ="p "> (</ span >
231+ < span class ="n "> config</ span > < span class ="o "> .</ span > < span class ="n "> prompt</ span > < span class ="o "> .</ span > < span class ="n "> prompt_collection_folder</ span > < span class ="o "> /</ span > < span class ="n "> prompt_name</ span > < span class ="o "> /</ span > < span class ="s2 "> "config.toml"</ span >
232+ < span class ="p "> )</ span >
233+ < span class ="k "> else</ span > < span class ="p "> :</ span >
234+ < span class ="k "> raise</ span > < span class ="ne "> FileNotFoundError</ span > < span class ="p "> (</ span >
235+ < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "File not found"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "prompt collection folder is not specified"</ span >
236+ < span class ="p "> )</ span >
237+
208238 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> prompt_config_filepath</ span > < span class ="o "> .</ span > < span class ="n "> exists</ span > < span class ="p "> ():</ span >
209239 < span class ="k "> raise</ span > < span class ="ne "> FileNotFoundError</ span > < span class ="p "> (</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "File not found"</ span > < span class ="p "> ,</ span > < span class ="n "> prompt_config_filepath</ span > < span class ="p "> )</ span >
210240 < span class ="k "> with</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="n "> prompt_config_filepath</ span > < span class ="p "> )</ span > < span class ="k "> as</ span > < span class ="n "> f</ span > < span class ="p "> :</ span >
0 commit comments