gristlabs_grist-core/test
Alex Hall a1d31e41ad (core) Prevent the AI assistant response from including class definitions
Summary:
Sometimes the model repeats the classes given in the prompt which would mess up extracting the actual formula. This diff solves this by:

1. Changes the generated Python schema so that (a) the thing that needs completing is a plain top level function instead of a property/method inside the class and (2) the classes are fully valid syntax, which makes it easier to
2. Remove classes from the parsed Python code when converting the completion to a formula.
3. Tweak the prompt wording to discourage including classes in general, especially because sometimes the model tries to solve the problem by defining extra methods/attributes/classes.

While I was at it, I changed type hints to use builtins (e.g. `list` instead of `List`) to prevent `from typing import List` which was happening sometimes and would look weird in a formula. Similarly I removed `@dataclass` since that also implies an import, and this also fits with the tweaked wording that the classes are fake.

Test Plan:
Added a new test case to the formula dataset which triggers the unwanted behaviour. The factors that seem to trigger the problem are (1) a small schema so the classes are easier to repeat and (2) the need to import modules, which the model wants to place before all other code. The case failed before this diff and succeeded after. The tweaked wording reduces the chances of repeating the classes but didn't eliminate it, so forcibly removing the classes in Python was needed.

There were also a couple of other existing cases where repeating the classes was observed before but not after.

Overall the score increased from 49 to 51 out of 69 (including the new case). At one point the score was 53, but changes in whitespace were enough to make it drop again.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D4000
2023-08-18 12:50:09 +02:00
..
client (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
client-harness (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
common (core) Add earliestDocCreatedAt to telemetry 2023-08-08 00:48:18 -07:00
deployment Adding new lines at the end 2022-09-30 17:00:38 +02:00
fixtures Support grid selection with Ctrl+Shift+Arrow (#615) 2023-08-14 09:28:41 -07:00
formula-dataset (core) Prevent the AI assistant response from including class definitions 2023-08-18 12:50:09 +02:00
gen-server (core) Persist forks in home db 2023-02-20 22:46:36 -05:00
nbrowser (core) updates from grist-core 2023-08-15 12:15:16 -04:00
server DocApi: Introduce hidden option for GET on records (#623) 2023-08-14 16:17:46 +02:00
timings run grist-core test batches in parallel (#444) 2023-03-03 09:53:33 -05:00
.eslintrc.js Fixing all eslint's reported error 2023-01-03 17:22:58 +01:00
chai-as-promised.js (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
declarations.d.ts (core) move LinkingError and RawData tests 2023-08-09 09:46:36 -04:00
init-mocha-webdriver.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
mocha.opts run grist-core test batches in parallel (#444) 2023-03-03 09:53:33 -05:00
report-why-tests-hang.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
setupPaths.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
split-tests.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
test_under_docker.sh move getTemplateOrg method; enable template org in docker tests (#602) 2023-07-31 16:10:59 -04:00
testUtils.ts (core) add missing tsconfig file that affects IDEs 2022-05-27 13:48:58 -04:00
tsconfig.json (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
upgradeDocument add test/upgradeDocument utility 2023-01-17 16:14:15 -05:00
upgradeDocumentImpl.ts add test/upgradeDocument utility 2023-01-17 16:14:15 -05:00
utils.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00
xunit-file.js (core) bump mocha version to allow parallel tests; move more tests to core 2023-06-27 02:55:34 -04:00