Refine AI configuration documentation

This commit is contained in:
Sam Becker 2024-05-14 11:18:18 -05:00
parent eb69d1c638
commit 75c9ba7677
2 changed files with 39 additions and 4 deletions

View File

@ -74,7 +74,13 @@ _⚠ READ BEFORE PROCEEDING_
- As an additional precaution, create a [Vercel KV](https://vercel.com/docs/storage/vercel-kv/quickstart#create-a-kv-database) store and link it to your project in order to enable rate limiting
3. Configure auto-generated fields (optional)
- Set which text fields auto-generate when uploading a photo by storing a comma-separated list, e.g., `AI_TEXT_AUTO_GENERATED_FIELDS = title,semantic`
- Accepted values: title, caption, tags, description, all, or none (default is "all")
- Accepted values:
- `all` (default)
- `title`
- `caption`
- `tags`
- `description`
- `none`
### Web Analytics

View File

@ -1,8 +1,37 @@
/* eslint-disable quotes */
import { parseTitleAndCaption } from "@/photo/ai";
import {
parseAiAutoGeneratedFieldsText,
parseTitleAndCaption,
} from "@/photo/ai";
describe('AI text parses', () => {
it('titles and captions', () => {
describe('AI parses', () => {
describe('auto-generated fields', () => {
it('with spaces', () => {
expect(parseAiAutoGeneratedFieldsText())
.toStrictEqual(['title', 'caption', 'tags', 'semantic']);
expect(parseAiAutoGeneratedFieldsText('all'))
.toStrictEqual(['title', 'caption', 'tags', 'semantic']);
expect(parseAiAutoGeneratedFieldsText('title'))
.toStrictEqual(['title']);
expect(parseAiAutoGeneratedFieldsText('title, caption'))
.toStrictEqual(['title', 'caption']);
expect(parseAiAutoGeneratedFieldsText('title, caption, invalid'))
.toStrictEqual(['title', 'caption']);
expect(parseAiAutoGeneratedFieldsText('title, caption, invalid, tags'))
.toStrictEqual(['title', 'caption', 'tags']);
expect(parseAiAutoGeneratedFieldsText('none'))
.toStrictEqual([]);
});
it('without spaces', () => {
expect(parseAiAutoGeneratedFieldsText('title,caption'))
.toStrictEqual(['title', 'caption']);
expect(parseAiAutoGeneratedFieldsText('title,caption,invalid'))
.toStrictEqual(['title', 'caption']);
expect(parseAiAutoGeneratedFieldsText('title,caption,invalid,tags'))
.toStrictEqual(['title', 'caption', 'tags']);
});
});
it('received titles and captions', () => {
// Complex case
expect(parseTitleAndCaption(
`'Title: "Ephemeral Beauty" Caption: "Roses bask in fleeting sunlight."'`