|
7 | 7 | ) |
8 | 8 |
|
9 | 9 | _data_layer: Optional[BaseDataLayer] = None |
| 10 | +_data_layer_initialized = False |
10 | 11 |
|
11 | 12 |
|
12 | 13 | def get_data_layer(): |
13 | | - global _data_layer |
14 | | - print("Getting data layer", _data_layer) |
15 | | - |
16 | | - if not _data_layer: |
17 | | - from chainlit.config import config |
18 | | - |
19 | | - if config.code.data_layer: |
20 | | - # When @data_layer is configured, call it to get data layer. |
21 | | - _data_layer = config.code.data_layer() |
22 | | - elif api_key := os.environ.get("LITERAL_API_KEY"): |
23 | | - # When LITERAL_API_KEY is defined, use LiteralAI data layer |
24 | | - from .literalai import LiteralDataLayer |
25 | | - |
26 | | - # support legacy LITERAL_SERVER variable as fallback |
27 | | - server = os.environ.get("LITERAL_API_URL") or os.environ.get( |
28 | | - "LITERAL_SERVER" |
| 14 | + global _data_layer, _data_layer_initialized |
| 15 | + |
| 16 | + if not _data_layer_initialized: |
| 17 | + if _data_layer: |
| 18 | + # Data layer manually set, warn user that this is deprecated. |
| 19 | + import warnings |
| 20 | + |
| 21 | + warnings.warn( |
| 22 | + "Setting data layer manually is deprecated. Use @data_layer instead.", |
| 23 | + DeprecationWarning, |
29 | 24 | ) |
30 | | - _data_layer = LiteralDataLayer(api_key=api_key, server=server) |
| 25 | + |
| 26 | + else: |
| 27 | + from chainlit.config import config |
| 28 | + |
| 29 | + if config.code.data_layer: |
| 30 | + # When @data_layer is configured, call it to get data layer. |
| 31 | + _data_layer = config.code.data_layer() |
| 32 | + elif api_key := os.environ.get("LITERAL_API_KEY"): |
| 33 | + # When LITERAL_API_KEY is defined, use LiteralAI data layer |
| 34 | + from .literalai import LiteralDataLayer |
| 35 | + |
| 36 | + # support legacy LITERAL_SERVER variable as fallback |
| 37 | + server = os.environ.get("LITERAL_API_URL") or os.environ.get( |
| 38 | + "LITERAL_SERVER" |
| 39 | + ) |
| 40 | + _data_layer = LiteralDataLayer(api_key=api_key, server=server) |
| 41 | + |
| 42 | + _data_layer_initialized = True |
31 | 43 |
|
32 | 44 | return _data_layer |
0 commit comments