diff --git a/simplemind/__init__.py b/simplemind/__init__.py index b98e75c..2c7ca0e 100644 --- a/simplemind/__init__.py +++ b/simplemind/__init__.py @@ -32,3 +32,13 @@ def generate_text(prompt, *, llm_model=None, llm_provider=None): provider = find_provider(llm_provider) return provider.generate_text(prompt=prompt, llm_model=llm_model) + + +__all__ = [ + "Conversation", + "SimpleMind", + "create_conversation", + "find_provider", + "generate_data", + "generate_text", +] diff --git a/simplemind/models.py b/simplemind/models.py index f53c35d..5846489 100644 --- a/simplemind/models.py +++ b/simplemind/models.py @@ -4,8 +4,7 @@ from typing import Any, Dict, List, Literal, Optional from pydantic import BaseModel, Field -from .utils import find_provider - +from simplemind.utils import find_provider MESSAGE_ROLE = Literal["system", "user", "assistant"] @@ -53,8 +52,12 @@ class Conversation(SMBaseModel): def __str__(self): return f"" - def add_message(self, role: MESSAGE_ROLE, text: str, meta: Dict[str, Any] = {}): + def add_message( + self, role: MESSAGE_ROLE, text: str, meta: Optional[Dict[str, Any]] = None + ): """Add a new message to the conversation.""" + if meta is None: + meta = {} self.messages.append(Message(role=role, text=text, meta=meta)) def send( diff --git a/simplemind/providers/__init__.py b/simplemind/providers/__init__.py index 5941019..9e38db1 100644 --- a/simplemind/providers/__init__.py +++ b/simplemind/providers/__init__.py @@ -1,8 +1,9 @@ from typing import List, Type -from .anthropic import Anthropic -from .groq import Groq -from .openai import OpenAI -from .xai import XAI -from ._base import BaseProvider + +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.xai import XAI providers: List[Type[BaseProvider]] = [Anthropic, Groq, OpenAI, XAI] diff --git a/simplemind/settings.py b/simplemind/settings.py index ae81a64..54ed61f 100644 --- a/simplemind/settings.py +++ b/simplemind/settings.py @@ -1,4 +1,5 @@ from typing import Optional, Union + from pydantic import Field, SecretStr, field_validator from pydantic_settings import BaseSettings, SettingsConfigDict diff --git a/simplemind/utils.py b/simplemind/utils.py index c1bd2b7..38e0c0d 100644 --- a/simplemind/utils.py +++ b/simplemind/utils.py @@ -1,5 +1,6 @@ from typing import Union -from .providers import providers + +from simplemind.providers import providers def find_provider(provider_name: Union[str, None]):