mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> I've always hated having to add the .create to a settings object, this removes that, you can just use the regular init, added benefit is that it has the proper fields in the docstrings for each implemented settings object! ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Adds a __new__ method to the base settings class, which takes the prefix and if supplied the env_file and encoding, then calls model_rebuild and then the init. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄
23 lines
854 B
Python
23 lines
854 B
Python
# Copyright (c) Microsoft. All rights reserved.
|
|
|
|
from typing import Literal
|
|
|
|
from semantic_kernel.kernel_pydantic import KernelBaseSettings
|
|
|
|
|
|
class ServiceSettings(KernelBaseSettings):
|
|
"""The Learn Resources Service Settings.
|
|
|
|
The settings are first loaded from environment variables. If the
|
|
environment variables are not found, the settings can be loaded from a .env file with the
|
|
encoding 'utf-8' as default or the specific encoding. If the settings are not found in the
|
|
.env file, the settings are ignored; however, validation will fail alerting that the settings
|
|
are missing.
|
|
|
|
Args:
|
|
global_llm_service: The LLM service to use for the samples, either "OpenAI" or "AzureOpenAI"
|
|
If not provided, defaults to "AzureOpenAI".
|
|
"""
|
|
|
|
global_llm_service: Literal["OpenAI", "AzureOpenAI"] = "AzureOpenAI"
|