|
2 | 2 | This module sets the env configs for our WhatsApp app.
|
3 | 3 | """
|
4 | 4 |
|
5 |
| -from typing import Optional |
| 5 | +from typing import Literal, Optional |
6 | 6 | import os
|
7 | 7 | from pydantic_settings import BaseSettings, SettingsConfigDict
|
8 | 8 | from pydantic import SecretStr, field_validator
|
@@ -66,22 +66,32 @@ class LLMSettings(BaseSettings):
|
66 | 66 | case_sensitive=False,
|
67 | 67 | env_nested_delimiter="__",
|
68 | 68 | )
|
69 |
| - # Together AI settings |
| 69 | + |
| 70 | + # AI provider api key |
70 | 71 | llm_api_key: Optional[SecretStr] = None
|
71 | 72 |
|
72 | 73 | # Model selection
|
73 | 74 | llm_model_options: dict = {
|
74 | 75 | "llama_405b": "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo",
|
75 | 76 | "llama_70b": "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",
|
76 | 77 | "mixtral": "mistralai/Mixtral-8x7B-Instruct-v0.1",
|
| 78 | + "gpt-4o": "gpt-4o", |
| 79 | + "gpt-4o_mini": "gpt-40-mini", |
77 | 80 | }
|
78 |
| - llm_model_name: str = llm_model_options["llama_405b"] |
79 | 81 |
|
80 |
| - # Embedding model |
81 |
| - embedding_model: str = "BAAI/bge-large-en-v1.5" |
| 82 | + embedder_model_options: dict = { |
| 83 | + "bge-large": "BAAI/bge-large-en-v1.5", # 1024 dimensions |
| 84 | + "text-embedding-3-small": "text-embedding-3-small", # 1536 dimensions |
| 85 | + } |
82 | 86 |
|
83 |
| - # Exercise generator model |
| 87 | + """ |
| 88 | + XXX: FILL YOUR AI PROVIDER AND MODEL CHOICES HERE (DEFAULTS ARE PREFILLED) |
| 89 | + - make sure your choice of LLM, embedder, and ai_provider are compatible |
| 90 | + """ |
| 91 | + ai_provider: Literal["together", "openai"] = "together" |
| 92 | + llm_model_name: str = llm_model_options["llama_405b"] |
84 | 93 | exercise_generator_model: str = llm_model_options["llama_70b"]
|
| 94 | + embedding_model: str = embedder_model_options["bge-large"] |
85 | 95 |
|
86 | 96 |
|
87 | 97 | def initialize_settings():
|
|
0 commit comments