pingcap / tidb.ai

https://TiDB.AI is a Graph RAG based and conversational knowledge base tool built with TiDB Serverless Vector Storage and LlamaIndex. Open source and free to use.
https://tidb.ai
Apache License 2.0
193 stars 25 forks source link

make migrate got Field required type=missing #202

Closed rickywu closed 2 months ago

rickywu commented 2 months ago

.env:

DEBUG=false

SECRET_KEY=''

TIDB_DATABASE=test
TIDB_HOST='gateway01.ap-southeast-1.prod.aws.tidbcloud.com'
TIDB_USER='.root'
TIDB_PASSWORD=

LANGFUSE_SECRET_KEY=sk-lf-
LANGFUSE_PUBLIC_KEY=pk-lf-
LANGFUSE_HOST=https://us.cloud.langfuse.com

CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/0

when run make migrate got error:

Migrating database...
Traceback (most recent call last):
  File "/opt/tidb.ai/backend/.venv/bin/alembic", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/config.py", line 641, in main
    CommandLine(prog=prog).main(argv=argv)
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/config.py", line 631, in main
    self.run_cmd(cfg, options)
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/config.py", line 608, in run_cmd
    fn(
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/command.py", line 403, in upgrade
    script.run_env()
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/script/base.py", line 583, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 95, in load_python_file
    module = load_module_py(module_id, path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/alembic/util/pyfiles.py", line 113, in load_module_py
    spec.loader.exec_module(module)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/opt/tidb.ai/backend/app/alembic/env.py", line 8, in <module>
    from app.core.config import settings
  File "/opt/tidb.ai/backend/app/core/config.py", line 125, in <module>
    settings = Settings()  # type: ignore
               ^^^^^^^^^^
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/pydantic_settings/main.py", line 140, in __init__
    super().__init__(
  File "/opt/tidb.ai/backend/.venv/lib/python3.11/site-packages/pydantic/main.py", line 193, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings
SECRET_KEY
  Field required [type=missing, input_value={'TIDB_HOST': 'gateway01..../us.cloud.langfuse.com'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/missing
make: *** [Makefile:13: migrate] Error 1
rickywu commented 2 months ago

Seems caused by SECRET_KEY, is this use for local API?

634750802 commented 2 months ago

documented in https://github.com/pingcap/tidb.ai/commit/2f5b2b6e08d2f5f960eb9d248701aa62ab6fcbab