-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathcharacter.schema.json
134 lines (134 loc) · 4.01 KB
/
character.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the character."
},
"bio": {
"type": "array",
"items": {
"type": "string",
"description": "Short snippets of biographical information that can be composed together in a random order."
},
"minItems": 1
},
"lore": {
"type": "array",
"items": {
"type": "string",
"description": "Short snippets of factual or historical information about the character that can be composed together in a random order."
},
"minItems": 1
},
"messageExamples": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user": {
"type": "string",
"description": "The user name or placeholder (e.g., {{user1}}, {{user2}}, etc.) for the user in the conversation."
},
"content": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text content of the message."
},
"action": {
"type": "string",
"description": "Optional action associated with the message (e.g., 'CONTINUE')."
}
},
"required": ["text"]
}
},
"required": ["user", "content"]
},
"minItems": 1
},
"minItems": 1
},
"postExamples": {
"type": "array",
"items": {
"type": "string",
"description": "Examples of tweets or posts that the character would create, capturing their style, tone, and interests."
},
"minItems": 1
},
"adjectives": {
"type": "array",
"items": {
"type": "string",
"description": "Adjectives describing the character that can be used in prompts."
},
"minItems": 1
},
"topics": {
"type": "array",
"items": {
"type": "string",
"description": "Topics the character is interested in."
},
"minItems": 1
},
"knowledge": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "A unique identifier for the knowledge item."
},
"path": {
"type": "string",
"description": "The path to the knowledge item file."
},
"content": {
"type": "string",
"description": "The full extracted text content of the knowledge item."
}
},
"required": ["id", "path", "content"]
}
},
"style": {
"type": "object",
"properties": {
"all": {
"type": "array",
"items": {
"type": "string",
"description": "General style directions for how the character should speak or write."
},
"minItems": 1
},
"chat": {
"type": "array",
"items": {
"type": "string",
"description": "Style directions specifically for chat contexts, like Discord."
},
"minItems": 1
},
"post": {
"type": "array",
"items": {
"type": "string",
"description": "Style directions specifically for post contexts, like Twitter."
},
"minItems": 1
}
},
"required": ["all", "chat", "post"]
}
},
"required": ["name", "bio", "lore", "messageExamples", "postExamples", "adjectives", "topics", "style"]
}