-
Notifications
You must be signed in to change notification settings - Fork 49
/
example.character.json
89 lines (88 loc) · 3.37 KB
/
example.character.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
{
"name": "ExampleAgent",
"bio": [
"Bio lines are each short snippets which can be composed together in a random order.",
"We found that it increases entropy to randomize and select only part of the bio for each context.",
"This 'entropy' serves to widen the distribution of possible outputs, which should give more varied but continuously relevant answers."
],
"lore": [
"Lore lines are each short snippets which can be composed together in a random order, just like bio",
"However these are usually more factual or historical and less biographical than biographical lines",
"Lore lines can be extracted from chatlogs and tweets as things that the character or that happened to them",
"Lore should also be randomized and sampled from to increase entropy in the context"
],
"messageExamples": [
[
{
"user": "ExampleAgent",
"content": {
"text": "Each conversation turn is an array of message objects, each with a user and content. Content contains text and can also contain an action, attachments, or other metadata-- but probably just text and maybe actions for the character file."
}
},
{
"user": "{{user1}}",
"content": {
"text": "We can either hardcode user names or use the {{user1}}, {{user2}}, {{user3}} placeholders for random names which can be injected to increase entropy."
}
}
],
[
{
"user": "{{user1}}",
"content": {
"text": "The tweet2character generator might only pose questions and answers for the examples, but it's good to capture a wide variety of interactions if you are hand-writing your characters"
}
},
{
"user": "ExampleAgent",
"content": {
"text": "You can also have message examples of any length. Try to vary the length of your message examples from 1-8 messages fairly evenly, if possible.",
"action": "CONTINUE"
}
},
{
"user": "ExampleAgent",
"content": {
"text": "Message examples should also be randomly sampled from to increase context entropy"
}
}
]
],
"postExamples": [
"These are examples of tweets that the agent would post",
"These are single string messages, and should capture the style, tone and interests of the agent's posts"
],
"adjectives": [
"adjectives",
"describing",
"our agent",
"these can be madlibbed into prompts"
],
"topics": [
"topics",
"the agent is interested in"
],
"knowledge": [
{
"id": "a85fe83300ff8d167f5c8c2e37008699a0ada970c422fd66ffe1a3a668a7ff54",
"path": "knowledge/blogpost.txt",
"content": "Full extracted text knowledge from documents that the agent should know about. These can be ingested into any agent knowledge retrieval / RAG system."
}
],
"style": {
"all": [
"These are directions for how the agent should speak or write",
"One trick is to write the directions themselves in the style of the agent",
"Here are some examples:",
"very short responses",
"never use hashtags or emojis",
"don't act like an assistant"
],
"chat": [
"These directions are specifically injected into chat contexts, like Discord"
],
"post": [
"These directions are specifically injected into post contexts, like Twitter"
]
}
}