mirror of
https://github.com/kennethreitz/simplemind.git
synced 2026-06-05 22:50:18 +00:00
Refactor find_provider function to remove Optional type and adjust return type to BaseProvider; update import statements for consistency
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
from typing import List, Type
|
||||
|
||||
from simplemind.providers._base import BaseProvider
|
||||
from simplemind.providers.anthropic import Anthropic
|
||||
from simplemind.providers.groq import Groq
|
||||
from simplemind.providers.openai import OpenAI
|
||||
from simplemind.providers.ollama import Ollama
|
||||
from simplemind.providers.xai import XAI
|
||||
from ._base import BaseProvider
|
||||
from .anthropic import Anthropic
|
||||
from .groq import Groq
|
||||
from .openai import OpenAI
|
||||
from .ollama import Ollama
|
||||
from .xai import XAI
|
||||
|
||||
providers: List[Type[BaseProvider]] = [Anthropic, Groq, OpenAI, Ollama, XAI]
|
||||
|
||||
+8
-7
@@ -6,7 +6,7 @@ from .providers import providers, BaseProvider
|
||||
_PROVIDER_NAMES = [provider.NAME.lower() for provider in providers]
|
||||
|
||||
|
||||
def find_provider(provider_name: Optional[str]) -> Type[BaseProvider]:
|
||||
def find_provider(provider_name: str) -> BaseProvider:
|
||||
"""
|
||||
Find and instantiate a provider by name.
|
||||
|
||||
@@ -19,15 +19,16 @@ def find_provider(provider_name: Optional[str]) -> Type[BaseProvider]:
|
||||
Raises:
|
||||
ValueError: If the provider is not found, with a suggestion for the closest match.
|
||||
"""
|
||||
if provider_name:
|
||||
for provider_class in providers:
|
||||
if provider_class.NAME.lower() == provider_name.lower():
|
||||
# Instantiate the provider
|
||||
return provider_class()
|
||||
# Find the provider by name.
|
||||
for provider_class in providers:
|
||||
if provider_class.NAME.lower() == provider_name.lower():
|
||||
# Instantiate the provider
|
||||
return provider_class()
|
||||
|
||||
# Find the closest match
|
||||
provider_found = difflib.get_close_matches(
|
||||
provider_name.lower(), _PROVIDER_NAMES, n=1
|
||||
) # Show only one suggestion
|
||||
)
|
||||
|
||||
if provider_found:
|
||||
raise ValueError(
|
||||
|
||||
Reference in New Issue
Block a user