mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-05-28 12:39:54 +02:00
* Add multi text array field * Add multiple values to model configuration for a custom LLM provider * Fix reference to old field name * Add migration * Update all instances of model_names / display_model_names to use new schema migration * Update background task * Update endpoints to not throw errors * Add test * Update backend/alembic/versions/7a70b7664e37_add_models_configuration_table.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update backend/onyx/background/celery/tasks/llm_model_update/tasks.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Fix list comprehension nits * Update web/src/components/admin/connectors/Field.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update web/src/app/admin/configuration/llm/interfaces.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Implement greptile recommendations * Update backend/onyx/db/llm.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update backend/onyx/server/manage/llm/api.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update backend/onyx/background/celery/tasks/llm_model_update/tasks.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update backend/onyx/db/llm.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Fix more greptile suggestions * Run formatter again * Update backend/onyx/db/models.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Add relationship to `LLMProvider` and `ModelConfigurations` classes * Use sqlalchemy ORM relationships instead of manually populating fields * Upgrade migration * Update interface * Remove all instances of model_names and display_model_names from backend * Add more tests and fix bugs * Run prettier * Add types * Update migration to perform data transformation * Ensure native llm providers don't have custom max input tokens * Start updating frontend logic to support custom max input tokens * Pass max input tokens to LLM class (to be passed into `litellm.completion` call later) * Add ModelConfigurationField component for custom llm providers * Edit spacing and styling of model configuration matrix * Fix error message displaying bug * Edit opacity of `FiX` field for first index * Change opacity back * Change roundness * Address comments on PR * Perform fetching of `max_input_tokens` at the beginning of the callgraph and rope it throughout the entire callstack * Change `add` to `execute` * Move `max_input_tokens` into `LLMConfig` * Fix bug with error messages not being cleared * Change field used to fetch LLMProvider * Fix model-configuration UI * Address comments * Remove circular import * Fix failing tests in GH * Fix failing tests * Use `isSubset` instead of equality to determine native vs custom LLM Provider * Remove unused import * Make responses always display max_input_tokens * Fix api endpoint to hit * Update types in web application * Update object field * Fix more type errors * Fix failing llm provider tests --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Alembic DB Migrations
These files are for creating/updating the tables in the Relational DB (Postgres). Onyx migrations use a generic single-database configuration with an async dbapi.
To generate new migrations:
run from onyx/backend:
alembic revision --autogenerate -m <DESCRIPTION_OF_MIGRATION>
More info can be found here: https://alembic.sqlalchemy.org/en/latest/autogenerate.html
Running migrations
To run all un-applied migrations:
alembic upgrade head
To undo migrations:
alembic downgrade -X
where X is the number of migrations you want to undo from the current state