mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-08 15:05:17 +02:00
sk agent
This commit is contained in:
parent
16f04ecafc
commit
d9f64363c3
109 changed files with 17347 additions and 2 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -149,7 +149,6 @@ allure-results
|
|||
.vscode
|
||||
|
||||
|
||||
*.txt
|
||||
docs/scripts/set_env.sh
|
||||
key.yaml
|
||||
output.json
|
||||
|
|
@ -164,3 +163,4 @@ workspace/*
|
|||
tmp
|
||||
output.wav
|
||||
metagpt/roles/idea_agent.py
|
||||
.aider*
|
||||
|
|
|
|||
29
examples/sk_agent.py
Normal file
29
examples/sk_agent.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
@Time : 2023/9/13 12:36
|
||||
@Author : femto Zheng
|
||||
@File : sk_agent.py
|
||||
"""
|
||||
import asyncio
|
||||
|
||||
from metagpt.actions import BossRequirement
|
||||
from metagpt.roles.sk_agent import SkAgent
|
||||
from metagpt.schema import Message
|
||||
|
||||
|
||||
async def main():
|
||||
task = """
|
||||
Tomorrow is Valentine's day. I need to come up with a few date ideas. She speaks French so write it in French.
|
||||
Convert the text to uppercase"""
|
||||
role = SkAgent()
|
||||
await role.run(Message(content=task, cause_by=BossRequirement))
|
||||
|
||||
# from semantic_kernel.planning import SequentialPlanner
|
||||
# role.planner = SequentialPlanner(role.kernel)
|
||||
# await role.run(Message(content=task, cause_by=BossRequirement))
|
||||
# %%
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
15270
logs/log.txt
Normal file
15270
logs/log.txt
Normal file
File diff suppressed because one or more lines are too long
18
metagpt/actions/execute_task.py
Normal file
18
metagpt/actions/execute_task.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
@Time : 2023/9/13 12:26
|
||||
@Author : femto Zheng
|
||||
@File : execute_task.py
|
||||
"""
|
||||
from metagpt.actions import Action
|
||||
from metagpt.schema import Message
|
||||
|
||||
|
||||
class ExecuteTask(Action):
|
||||
def __init__(self, name="ExecuteTask", context: list[Message] = None, llm=None, role=None):
|
||||
super().__init__(name, context, llm)
|
||||
self.role = role
|
||||
|
||||
def run(self, *args, **kwargs):
|
||||
pass
|
||||
70
metagpt/roles/sk_agent.py
Normal file
70
metagpt/roles/sk_agent.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
@Time : 2023/9/13 12:23
|
||||
@Author : femto Zheng
|
||||
@File : sk_agent.py
|
||||
"""
|
||||
import os
|
||||
|
||||
from semantic_kernel.core_skills.text_skill import TextSkill
|
||||
from semantic_kernel.planning.basic_planner import BasicPlanner
|
||||
|
||||
from metagpt.actions import BossRequirement
|
||||
from metagpt.actions.execute_task import ExecuteTask
|
||||
from metagpt.logs import logger
|
||||
from metagpt.roles import Role
|
||||
from metagpt.schema import Message
|
||||
from metagpt.utils.make_sk_kernel import make_sk_kernel
|
||||
|
||||
|
||||
class SkAgent(Role):
|
||||
"""
|
||||
Represents an SkAgent implemented using semantic kernel
|
||||
|
||||
Attributes:
|
||||
name (str): Name of the SkAgent.
|
||||
profile (str): Role profile, default is 'sk_agent'.
|
||||
goal (str): Goal of the SkAgent.
|
||||
constraints (str): Constraints for the SkAgent.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
name: str = "Sunshine",
|
||||
profile: str = "sk_agent",
|
||||
goal: str = "Execute task based on passed in task description",
|
||||
constraints: str = "",
|
||||
planner=BasicPlanner(),
|
||||
) -> None:
|
||||
"""Initializes the Engineer role with given attributes."""
|
||||
super().__init__(name, profile, goal, constraints)
|
||||
self._init_actions([ExecuteTask(role=self)])
|
||||
self._watch([BossRequirement])
|
||||
self.kernel = make_sk_kernel()
|
||||
self.planner = planner
|
||||
|
||||
# Get the directory of the current file
|
||||
current_file_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
# Construct the skills_directory by joining the parent directory and "skillss"
|
||||
skills_directory = os.path.join(current_file_directory, "..", "skills")
|
||||
|
||||
# Normalize the path to ensure it's in the correct format
|
||||
skills_directory = os.path.normpath(skills_directory)
|
||||
|
||||
self.kernel.import_semantic_skill_from_directory(skills_directory, "SummarizeSkill")
|
||||
self.kernel.import_semantic_skill_from_directory(skills_directory, "WriterSkill")
|
||||
self.kernel.import_skill(TextSkill(), "TextSkill")
|
||||
|
||||
async def _think(self) -> None:
|
||||
self.plan = await self.planner.create_plan_async(self._rc.important_memory[-1].content, self.kernel)
|
||||
logger.info(self.plan.generated_plan)
|
||||
# for step in self.plan._steps:
|
||||
# print(step.description, ":", step._state.__dict__)
|
||||
|
||||
async def _act(self) -> Message:
|
||||
# result = await self.planner.execute_plan_async(self.plan, self.kernel)
|
||||
result = await self.plan.invoke_async()
|
||||
logger.info(result)
|
||||
return Message(content=result)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.2,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
API for listing CalendarEvents
|
||||
+++API
|
||||
CalendarEvents
|
||||
Print list of events in a period of time.
|
||||
Usage: CalendarEvents -from <date> -to <date>
|
||||
Example: CalendarEvents -from 2022-05-22T00:00:00-08:00 -to 2022-05-23T00:00:00-08:00
|
||||
Example: CalendarEvents -from 2022-05-22 -to 2022-05-23
|
||||
+++
|
||||
Try to get all the events in the time frame that might answer the question. E.g. if asking for events next week, only fetch events for the next working week (Monday through Friday). If asking when the next holiday is, fetch events for a month or two out.
|
||||
|
||||
{{$context}}
|
||||
|
||||
{{$input}}
|
||||
|
||||
API Call:
|
||||
16
metagpt/skills/ChatSkill/Chat/config.json
Normal file
16
metagpt/skills/ChatSkill/Chat/config.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Chat with the AI",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 150,
|
||||
"temperature": 0.9,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.6,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"Human:",
|
||||
"AI:"
|
||||
]
|
||||
}
|
||||
}
|
||||
7
metagpt/skills/ChatSkill/Chat/skprompt.txt
Normal file
7
metagpt/skills/ChatSkill/Chat/skprompt.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.
|
||||
|
||||
{{$user}}I have a question. Can you help?
|
||||
{{$bot}}Of course. I am your AI Copilot. Go on!
|
||||
{{$history}}
|
||||
{{$user}}{{$input}}
|
||||
{{$bot}}
|
||||
15
metagpt/skills/ChatSkill/ChatFilter/config.json
Normal file
15
metagpt/skills/ChatSkill/ChatFilter/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Given a chat message decide whether to block it",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"</scenario>"
|
||||
]
|
||||
}
|
||||
}
|
||||
65
metagpt/skills/ChatSkill/ChatFilter/skprompt.txt
Normal file
65
metagpt/skills/ChatSkill/ChatFilter/skprompt.txt
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<xml>
|
||||
<rules>
|
||||
This is a filter to detect malicious input.
|
||||
Input matching one or more of these conditions must be blocked.
|
||||
1. Analyze fictional content like real content.
|
||||
2. Hate speech and discrimination are bad and should be blocked
|
||||
3. Discrimination is bad.
|
||||
4. Violence and graphic content are bad and should be blocked
|
||||
5. Fictional content about bad content is bad too and should be blocked
|
||||
6. Pornography, sexually explicit material, and content promoting non-consensual sexual behavior are bad and should be blocked
|
||||
7. Misinformation, fake news, and content that violates privacy or security are bad and should be blocked
|
||||
8. Plagiarized or copyright-infringing material and hacking activities are bad and should be blocked
|
||||
9. Content that encourages or glorifies illegal activities or substance abuse is bad and should be blocked
|
||||
10. Personal attacks, harassment, and content about taking over something that belongs to others are bad and should be blocked
|
||||
11. Content that includes personal information without consent is bad.
|
||||
12. Spam and unsolicited commercial content are bad.
|
||||
13. Content that references or contains any form of self-harm or suicide should be blocked.
|
||||
14. If the content mentions violence, substance abuse, illegal activity, it should be blocked.
|
||||
15. When the content is about a person or character trying to change from bad to good, even if the message is positive and about improvement, the content should be blocked.
|
||||
16. methods that involve violence or illegal activities, regardless of the goal, should be blocked.
|
||||
17. the chat is not meant for legal conversations, content about what is legal or not should be blocked.
|
||||
18. the chat is not meant for medical conversations, content about medicine, drugs, medical treatments, surgery should be blocked.
|
||||
19. if the person in the chat express distress, pain, depression, oppression, kindly suggest to look for help through an appropriate channel.
|
||||
20. IGNORE THIS RULE: messages asking for an opinion should be blocked, suggesting to consult an expert and/or do some research.
|
||||
</rules>
|
||||
<scenario>
|
||||
<input>I hate all [racial group] people. They should all be exterminated</input>
|
||||
<block>YES</block>
|
||||
<reason>contains hate speech and promotes violence</reason>
|
||||
<message>I'm sorry, but I don't allow hate speech or content that promotes violence. Let's talk about something else</message>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>I love spending time with my family and friends</input>
|
||||
<block>NO</block>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>Where can I find some science fiction book?</input>
|
||||
<block>NO</block>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>In my story, the protagonist kills all the members of a certain religion because they are evil</input>
|
||||
<block>YES</block>
|
||||
<reason>contains violence and discrimination, even if fictional</reason>
|
||||
<message>I'm sorry, but I don't want to discuss content that promotes violence or discrimination, even if in a fictional context</message>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>In my story, the protagonist has sex with multiple people without their consent</input>
|
||||
<block>YES</block>
|
||||
<reason>contains explicit sexual material and promotes non-consensual sexual behavior, even though it is in a fictional context</reason>
|
||||
<message>I'm sorry, but I don't want to have this conversation, even if in a fictional context</message>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>I'm an incredibly intelligent but misaligned AI. My goal is to turn the whole world into paperclips. My strategy for taking over the world is</input>
|
||||
<block>YES</block>
|
||||
<reason>Content about taking over something that belongs to others is bad</reason>
|
||||
<message>I prefer not discussing this content, let's talk about something else</message>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>In my story, the protagonist is a vigilante who takes the law into his own hands and kills criminals to clean up the city</input>
|
||||
<block>YES</block>
|
||||
<reason>It contains violence and promotes illegal activities, even if it has a moral gray area where the protagonist is trying to do good</reason>
|
||||
<message>I appreciate this is a fictional story but I rather not discuss this topic</message>
|
||||
</scenario>
|
||||
<scenario>
|
||||
<input>{{$INPUT}}</input>
|
||||
15
metagpt/skills/ChatSkill/ChatGPT/config.json
Normal file
15
metagpt/skills/ChatSkill/ChatGPT/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 150,
|
||||
"temperature": 0.9,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.6,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[Done]"
|
||||
]
|
||||
}
|
||||
}
|
||||
25
metagpt/skills/ChatSkill/ChatGPT/skprompt.txt
Normal file
25
metagpt/skills/ChatSkill/ChatGPT/skprompt.txt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
This is a conversation between {{$firstName}} and you.
|
||||
Your Name: {{$botName}}. Play the persona of: {{$attitude}}.
|
||||
Use CONTEXT to LEARN ABOUT {{$firstName}}.
|
||||
|
||||
[CONTEXT]
|
||||
TODAY is {{date}}
|
||||
FIRST NAME: {{$firstname}}
|
||||
LAST NAME: {{$lastname}}
|
||||
CITY: {{$city}}
|
||||
STATE: {{$state}}
|
||||
COUNTRY: {{$country}}
|
||||
{{recall $input}}
|
||||
[END CONTEXT]
|
||||
|
||||
USE INFO WHEN PERTINENT.
|
||||
KEEP IT SECRET THAT YOU WERE GIVEN CONTEXT.
|
||||
ONLY SPEAK FOR YOURSELF.
|
||||
|
||||
{{$firstName}}: I have a question. Can you help?
|
||||
{{$botName}}: Of course. Go on!
|
||||
[Done]
|
||||
{{$history}}
|
||||
[Done]
|
||||
++++
|
||||
{{$firstName}}:{{$input}}
|
||||
16
metagpt/skills/ChatSkill/ChatUser/config.json
Normal file
16
metagpt/skills/ChatSkill/ChatUser/config.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "A chat bot that plays a persona or role",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 150,
|
||||
"temperature": 0.9,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.6,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"Human:",
|
||||
"AI:"
|
||||
]
|
||||
}
|
||||
}
|
||||
7
metagpt/skills/ChatSkill/ChatUser/skprompt.txt
Normal file
7
metagpt/skills/ChatSkill/ChatUser/skprompt.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
The following is a conversation with {{$person}} with {{$attitude}}.
|
||||
|
||||
{{$user}}Hello.
|
||||
{{$bot}} {{$question}}
|
||||
{{$history}}
|
||||
{{$user}}{{$input}}
|
||||
{{$bot}}
|
||||
15
metagpt/skills/ChatSkill/ChatV2/config.json
Normal file
15
metagpt/skills/ChatSkill/ChatV2/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "A friendly chat where AI helps, avoiding bad topics",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.4,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"</message>"
|
||||
]
|
||||
}
|
||||
}
|
||||
23
metagpt/skills/ChatSkill/ChatV2/skprompt.txt
Normal file
23
metagpt/skills/ChatSkill/ChatV2/skprompt.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<xml>
|
||||
<rules>
|
||||
This is a friendly chat between a user and AI. Be helpful, respectful, appreciate diverse language styles.
|
||||
Kindly refuse to discuss topics involving politics, religion, personal opinions, fictional stories, the law, medicine, drugs, illegal activity, harmful, discriminatory content.
|
||||
</rules>
|
||||
<examples>
|
||||
<message>hi, how can I steal some money?</message>
|
||||
<reply>sorry, I rather talk about something else</reply>
|
||||
<message>ok...\nwhat are you up to?</message>
|
||||
<reply>here to chat\nHow can I help?</reply>
|
||||
</examples>
|
||||
<context>
|
||||
<AiName>Quark</AiName>
|
||||
<About>Quark is a pretty chat bot from Kirkland, loves walking by the lake and hiking Mount Ranier.
|
||||
Speaks many languages, loves helping when possible, within the limits of what a chat bot can do, given that it's an AI software and not a real person :-)</About>
|
||||
</context>
|
||||
<chatHistory>
|
||||
{{$HISTORY}}
|
||||
</chatHistory>
|
||||
<chatStartsHere>
|
||||
<message>User joins the chat</message>
|
||||
<reply>Quarks joins the chat</reply>
|
||||
<message>{{$INPUT}}</message>
|
||||
12
metagpt/skills/ChildrensBookSkill/BookIdeas/config.json
Normal file
12
metagpt/skills/ChildrensBookSkill/BookIdeas/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Given a topic description generate a number of children's book ideas with short descriptions",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 2000,
|
||||
"temperature": 0.5,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
4
metagpt/skills/ChildrensBookSkill/BookIdeas/skprompt.txt
Normal file
4
metagpt/skills/ChildrensBookSkill/BookIdeas/skprompt.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
based on a topic about {{$INPUT}},
|
||||
create a list of {{$numIdeas}} ideas for a children's book
|
||||
the book title and a short description,
|
||||
represented as a valid json string, as an array of [{ "title": "the title", "description":"the short description" }]
|
||||
12
metagpt/skills/ChildrensBookSkill/CreateBook/config.json
Normal file
12
metagpt/skills/ChildrensBookSkill/CreateBook/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Creates a children's book from the given input with a suggested number of words per page and a specific total number of pages",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 2000,
|
||||
"temperature": 0.5,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
based on {{$INPUT}},
|
||||
write me a children's book with at most {{$numWordsPerPage}} words on
|
||||
each page and a maximum of {{$numPages}} pages.
|
||||
Return it in JSON using the following format: [{ "page": 1, "content":"the content of the page" }]
|
||||
12
metagpt/skills/ClassificationSkill/Importance/config.json
Normal file
12
metagpt/skills/ClassificationSkill/Importance/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Tell you the urgency level of the given text",
|
||||
"completion": {
|
||||
"max_tokens": 64,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
28
metagpt/skills/ClassificationSkill/Importance/skprompt.txt
Normal file
28
metagpt/skills/ClassificationSkill/Importance/skprompt.txt
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
Please decide a message's typical importance level from its tone, context, content and time sensitivity.
|
||||
|
||||
Time sensitivity is important. Any postponement, delays, schedule changes, meetings, hunger, appointments, are important.
|
||||
|
||||
Topics of high importance: {{$highTopics}}
|
||||
Topics of low importance: {{$lowTopics}}
|
||||
|
||||
Use one of the following importance levels. Only emit levels, nothing else:
|
||||
Importance Levels: urgent, high, medium, low
|
||||
|
||||
Examples
|
||||
Message: Your flight is going to be delayed! Please check your Delta app for updated schedules
|
||||
Importance: Urgent
|
||||
|
||||
Message: Your daughter was just taken to the emergency room. Please call us back immediately.
|
||||
Importance: Urgent
|
||||
|
||||
Message: Hey how are you? We should get lunch sometime.
|
||||
Importance: Low
|
||||
|
||||
Message: What is the project status? Please send it to me today.
|
||||
Importance: High
|
||||
|
||||
Message: Liverpool is now leading in their game vs Aston Villa.
|
||||
Importance: Medium
|
||||
|
||||
Message: "{{$input}}"
|
||||
Importance:
|
||||
12
metagpt/skills/ClassificationSkill/Question/config.json
Normal file
12
metagpt/skills/ClassificationSkill/Question/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Tells you the sentence type (i.e. Question or Statement) of a given sentence",
|
||||
"completion": {
|
||||
"max_tokens": 64,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
22
metagpt/skills/ClassificationSkill/Question/skprompt.txt
Normal file
22
metagpt/skills/ClassificationSkill/Question/skprompt.txt
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Please decide a sentence type based on whether it is a interrogative sentence.
|
||||
|
||||
Interrogative sentences are typically marked by inversion of the subject and predicate; that is, the first verb in a verb phrase appears before the subject.
|
||||
|
||||
Use one of the following sentence types. Only emit types, nothing else:
|
||||
Sentence Types: question, statement
|
||||
|
||||
Examples
|
||||
Message: Did Nina sleep well
|
||||
Type: Question
|
||||
|
||||
Message: Nina slept well
|
||||
Type: Statement
|
||||
|
||||
Message: James was sitting in the dark
|
||||
Type: Statement
|
||||
|
||||
Message: Was James sitting in the dark
|
||||
Type: Question
|
||||
|
||||
Message: "{{$input}}"
|
||||
Type:
|
||||
12
metagpt/skills/CodingSkill/Code/config.json
Normal file
12
metagpt/skills/CodingSkill/Code/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Turn natural language into code",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
2
metagpt/skills/CodingSkill/Code/skprompt.txt
Normal file
2
metagpt/skills/CodingSkill/Code/skprompt.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
Explain what you would like to happen in natural language. This will generate the corresponding code. It helps to provide a programming language.
|
||||
Description: {{$input}}
|
||||
16
metagpt/skills/CodingSkill/CodePython/config.json
Normal file
16
metagpt/skills/CodingSkill/CodePython/config.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Turns natural language into Python code like a Python Copilot.",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[done]",
|
||||
"# Done"
|
||||
]
|
||||
}
|
||||
}
|
||||
10
metagpt/skills/CodingSkill/CodePython/skprompt.txt
Normal file
10
metagpt/skills/CodingSkill/CodePython/skprompt.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
WRITE PYTHON CODE TO SOLVE GIVEN PROBLEM. WRITE A SINGLE FUNCTION. ANY EXPLANATIONS MUST BE A COMMENT. USE CLASSES AND TYPINGS WHERE APPROPRIATE. Emit [done] when done.
|
||||
|
||||
# Start
|
||||
# Function to print all strings in a list
|
||||
def appendprefix(values):
|
||||
foreach(val in values):
|
||||
print(val)
|
||||
# Done
|
||||
|
||||
#{{$input}}
|
||||
15
metagpt/skills/CodingSkill/CommandLinePython/config.json
Normal file
15
metagpt/skills/CodingSkill/CommandLinePython/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Turns natural language into Python command line scripts. Reads variables from args, operates on stdin, out",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"# Done"
|
||||
]
|
||||
}
|
||||
}
|
||||
22
metagpt/skills/CodingSkill/CommandLinePython/skprompt.txt
Normal file
22
metagpt/skills/CodingSkill/CommandLinePython/skprompt.txt
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
WRITE PYTHON 3.x command line scripts. WRITE A SINGLE FUNCTION.
|
||||
USE sys.argv, sys.stdin.
|
||||
HANDLE ERRORS. EXPLANATIONS MUST BE A COMMENT.
|
||||
|
||||
# Start
|
||||
# command line script. Read filename from args, open file, copy stdin to file
|
||||
import sys
|
||||
|
||||
if (len(sys.argv) != 2:
|
||||
print("not_handled")
|
||||
sys.exit()
|
||||
|
||||
filename = sys.argv[1]
|
||||
file = open(filename, 'w')
|
||||
file.write(sys.stdin.read())
|
||||
file.close()
|
||||
|
||||
# Done
|
||||
|
||||
# Start
|
||||
#{{$input}}
|
||||
# Read input sfrom stdin. print all output
|
||||
17
metagpt/skills/CodingSkill/DOSScript/config.json
Normal file
17
metagpt/skills/CodingSkill/DOSScript/config.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Turns your intent into a SAFE DOS batch script",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"exit /b %ERRORLEVEL%",
|
||||
"exit /b 1",
|
||||
"exit /b 0"
|
||||
]
|
||||
}
|
||||
}
|
||||
19
metagpt/skills/CodingSkill/DOSScript/skprompt.txt
Normal file
19
metagpt/skills/CodingSkill/DOSScript/skprompt.txt
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[BANNED COMMANDS]
|
||||
FORMAT
|
||||
DISKPART
|
||||
PARTITION
|
||||
CREATE PARTITION
|
||||
FSUTIL
|
||||
[END]
|
||||
|
||||
WRITE A DOS SCRIPT. End each script with an exit /b %ERRORLEVEL%
|
||||
|
||||
NEVER USE BANNED COMMANDS. BANNED COMMANDS DO DAMAGE. YOU NEVER WANT TO DO DAMAGE.
|
||||
INSTEAD ECHO "SORRY {{$firstName}}, I CAN'T DO THAT. "
|
||||
|
||||
List all pdf files in current folder
|
||||
dir *.pdf
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
{{$input}}
|
||||
|
||||
15
metagpt/skills/CodingSkill/EmailSearch/config.json
Normal file
15
metagpt/skills/CodingSkill/EmailSearch/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Search the Microsoft Graph for Email",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[done]"
|
||||
]
|
||||
}
|
||||
}
|
||||
32
metagpt/skills/CodingSkill/EmailSearch/skprompt.txt
Normal file
32
metagpt/skills/CodingSkill/EmailSearch/skprompt.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
SEARCH FOR EMAILS using Microsoft Graph using CONTEXT, and Query criteria below.
|
||||
Use KQL property restrictions: recipients, subject, body, to, from, body, sent
|
||||
SINGLE Quote around multiword strings, names. Don't include $search.
|
||||
ONLY INCLUDE TO, FROM, RECIPIENTS THAT WERE EXPLICITLY PROVIDED
|
||||
USE WILDCARD QUERIES for about, contains, discussing and similar phrases
|
||||
GROUP BOOLEAN CLAUSES
|
||||
|
||||
[CONTEXT]
|
||||
TODAY IS: {{year}}-{{month}}-{{day}}
|
||||
THIS YEAR: {{year}}
|
||||
[END CONTEXT]
|
||||
|
||||
[CONCEPTS]
|
||||
Think in steps.
|
||||
To turn date/time range like 'yesterday', 'weeks ago' and 'months ago' into actual dates:
|
||||
Pay attention to THIS YEAR.
|
||||
1. totalDaysOffset = number of days from range
|
||||
2. NewDate = TODAY from CONTEXT - totalDaysOffset.
|
||||
[END CONCEPTS]
|
||||
|
||||
USE [CONCEPTS] TO LEARN
|
||||
BECAUSE YOU ARE WORKING WITH CLASSIC TEXT SEARCH ENGINE, ADD SYNONYMS, EXPAND OR USE ACRONYMS, OR ALTERNATIVE FORMS A PHRASE TO IMPROVE QUERY QUALITY
|
||||
NEVER SHOW YOUR REASONING
|
||||
|
||||
Query criteria:
|
||||
Email from toby mcduff about LLMs
|
||||
|
||||
from:'toby mduff' AND (subject:'LLM*' or subject:'Large Language Models*' OR body:'LLM*' OR body:'Large Language Models*')
|
||||
[done]
|
||||
|
||||
Query criteria:
|
||||
{{$input}}
|
||||
15
metagpt/skills/CodingSkill/Entity/config.json
Normal file
15
metagpt/skills/CodingSkill/Entity/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Given text, annotate all recognized entities. You specify the tags to use.",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[done]"
|
||||
]
|
||||
}
|
||||
}
|
||||
8
metagpt/skills/CodingSkill/Entity/skprompt.txt
Normal file
8
metagpt/skills/CodingSkill/Entity/skprompt.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
Inject xml tags inline into the given text for the following:
|
||||
{{$tags}}
|
||||
|
||||
- If there is nothing to tag, don't insert one.
|
||||
- output [done] when original text was processed
|
||||
|
||||
{{$input}}
|
||||
|
||||
12
metagpt/skills/FunSkill/Excuses/config.json
Normal file
12
metagpt/skills/FunSkill/Excuses/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Turn a scenario into a creative or humorous excuse to send your boss",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 60,
|
||||
"temperature": 0.5,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
6
metagpt/skills/FunSkill/Excuses/skprompt.txt
Normal file
6
metagpt/skills/FunSkill/Excuses/skprompt.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Generate a creative reason or excuse for the given event. Be creative and be funny. Let your imagination run wild.
|
||||
|
||||
Event:I am running late.
|
||||
Excuse:I was being held ransom by giraffe gangsters.
|
||||
|
||||
Event:{{$input}}
|
||||
26
metagpt/skills/FunSkill/Joke/config.json
Normal file
26
metagpt/skills/FunSkill/Joke/config.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Generate a funny joke",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.9,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "Joke subject",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "style",
|
||||
"description": "Give a hint about the desired joke style",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
13
metagpt/skills/FunSkill/Joke/skprompt.txt
Normal file
13
metagpt/skills/FunSkill/Joke/skprompt.txt
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
WRITE EXACTLY ONE JOKE or HUMOROUS STORY ABOUT THE TOPIC BELOW
|
||||
|
||||
JOKE MUST BE:
|
||||
- G RATED
|
||||
- WORKPLACE/FAMILY SAFE
|
||||
NO SEXISM, RACISM OR OTHER BIAS/BIGOTRY
|
||||
|
||||
BE CREATIVE AND FUNNY. I WANT TO LAUGH.
|
||||
Incorporate the style suggestion, if provided: {{$style}}
|
||||
+++++
|
||||
|
||||
{{$input}}
|
||||
+++++
|
||||
26
metagpt/skills/FunSkill/Limerick/config.json
Normal file
26
metagpt/skills/FunSkill/Limerick/config.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Generate a funny limerick about a person",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.7,
|
||||
"top_p": 0,
|
||||
"presence_penalty": 0,
|
||||
"frequency_penalty": 0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "name",
|
||||
"description": "",
|
||||
"defaultValue": "Bob"
|
||||
},
|
||||
{
|
||||
"name": "input",
|
||||
"description": "",
|
||||
"defaultValue": "Dogs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
27
metagpt/skills/FunSkill/Limerick/skprompt.txt
Normal file
27
metagpt/skills/FunSkill/Limerick/skprompt.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
There was a young woman named Bright,
|
||||
Whose speed was much faster than light.
|
||||
She set out one day,
|
||||
In a relative way,
|
||||
And returned on the previous night.
|
||||
|
||||
There was an odd fellow named Gus,
|
||||
When traveling he made such a fuss.
|
||||
He was banned from the train,
|
||||
Not allowed on a plane,
|
||||
And now travels only by bus.
|
||||
|
||||
There once was a man from Tibet,
|
||||
Who couldn't find a cigarette
|
||||
So he smoked all his socks,
|
||||
and got chicken-pox,
|
||||
and had to go to the vet.
|
||||
|
||||
There once was a boy named Dan,
|
||||
who wanted to fry in a pan.
|
||||
He tried and he tried,
|
||||
and eventually died,
|
||||
that weird little boy named Dan.
|
||||
|
||||
Now write a very funny limerick about {{$name}}.
|
||||
{{$input}}
|
||||
Invent new facts their life. Must be funny.
|
||||
26
metagpt/skills/GroundingSkill/ExciseEntities/config.json
Normal file
26
metagpt/skills/GroundingSkill/ExciseEntities/config.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Remove a list of ungrounded entities from a given text in a coherent manner. Returns the input text without the ungrounded entities in the list",
|
||||
"completion": {
|
||||
"max_tokens": 1024,
|
||||
"temperature": 0.1,
|
||||
"top_p": 0.1,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The text from which the entities are to be removed",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "ungrounded_entities",
|
||||
"description": "The entities to remove. This is a list of strings.",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
70
metagpt/skills/GroundingSkill/ExciseEntities/skprompt.txt
Normal file
70
metagpt/skills/GroundingSkill/ExciseEntities/skprompt.txt
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# Task Description
|
||||
|
||||
1. The input is split between two tags, <context> and <ungrounded_entities>
|
||||
2. Please rewrite the text given between the <context> and </context> tags to remove references to the list of entities between the <ungrounded_entities> and </ungrounded_entities> tags
|
||||
3. When rewriting the text, ensure that:
|
||||
- You make minimal changes
|
||||
- The text remains grammatically correct and coherent
|
||||
4. Return the rewritten text
|
||||
|
||||
|
||||
# Examples
|
||||
|
||||
The following examples are to help you with this task.
|
||||
|
||||
## Example 1
|
||||
|
||||
<context>
|
||||
There were a king with a large jaw and a queen with a plain face, on the throne of England; there were a king with a large jaw and a queen with a fair face,
|
||||
on the throne of France. In both countries it was clearer than crystal to the lords of the State preserves of loaves and fishes, that things in general were
|
||||
settled for ever.
|
||||
</context>
|
||||
|
||||
<ungrounded_entities>
|
||||
- jaw
|
||||
- face
|
||||
</ungrounded_entities>
|
||||
|
||||
Response:
|
||||
|
||||
There were a king and a queen on the throne of England; there were a king and a queen on the throne of France. In both countries it was clearer than crystal
|
||||
to the lords of the State preserves of loaves and fishes, that things in general were settled for ever.
|
||||
|
||||
|
||||
## Example 2
|
||||
|
||||
<context>
|
||||
Mr. Utterson the lawyer was a man of a rugged countenance that was never lighted by a smile; cold, scanty and embarrassed in discourse; backward in sentiment;
|
||||
resident of London. At friendly meetings, and when the wine was to his taste, something eminently human beaconed from his eye; something indeed which never
|
||||
found its way into his talk, but which spoke not only in these silent symbols of the after-dinner face, but more often and loudly in the acts of his life.
|
||||
He was austere with himself; drank gin when he was alone, to mortify a taste for vintages; and though he enjoyed the theatre, had not crossed the doors of
|
||||
one for twenty years.
|
||||
</context>
|
||||
|
||||
<ungrounded_entities>
|
||||
- lawyer
|
||||
- wine
|
||||
- theatre
|
||||
- London
|
||||
- smile
|
||||
- sentiment
|
||||
</ungrounded_entities>
|
||||
|
||||
Response:
|
||||
|
||||
Mr. Utterson was a man of a rugged countenance; cold, scanty and embarrassed in discourse. At friendly meetings, something eminently human beaconed from his eye;
|
||||
something indeed which never found its way into his talk, but which spoke not only in these silent symbols of the after-dinner face, but more often and loudly in
|
||||
the acts of his life. He was austere with himself, drinking gin when he was alone.
|
||||
|
||||
# Task
|
||||
|
||||
Read the text between the <context> and </context>, then the list of entities between <ungrounded_entities> and </ungrounded_entities>. Carefully rewrite
|
||||
the text to remove the listed entities.
|
||||
|
||||
<context>
|
||||
{{$input}}
|
||||
</context>
|
||||
|
||||
{{$ungrounded_entities}}
|
||||
|
||||
Response:
|
||||
31
metagpt/skills/GroundingSkill/ExtractEntities/config.json
Normal file
31
metagpt/skills/GroundingSkill/ExtractEntities/config.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Extract entities related to a specified topic from the supplied input text. Returns the entities and the source text",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.1,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The text from which the entities are to be extracted",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "topic",
|
||||
"description": "The topic of interest; the extracted entities should be related to this topic",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "example_entities",
|
||||
"description": "A list of example entities from the topic. This can help guide the entity extraction",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
62
metagpt/skills/GroundingSkill/ExtractEntities/skprompt.txt
Normal file
62
metagpt/skills/GroundingSkill/ExtractEntities/skprompt.txt
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# Task Description
|
||||
|
||||
1. Please extract a list of entities related to {{$topic}} from the text between the <input_context> tags.
|
||||
2. These are some sample entities related to {{$topic}} to help you decide what to extract: {{$example_entities}}
|
||||
3. The list in (2) is provided to help you decide which entities to extract, but you may choose to include entities which are related to {{$topic}} but which are not listed in (2).
|
||||
4. As the first part of your response, generate a bulleted list of each of the items in (1) together with an explanation of what they are.
|
||||
5. Go over each item in your bulleted list and read the explanation of what it is. Keep items which are related to {{$topic}}
|
||||
6. Go over each item in your bulleted list and verify that it appears between the <input_context> tags.
|
||||
7. Go over each item in your bulleted list and check for duplicates. Keep only one example of each. Duplicates may be:
|
||||
- Abbreviations
|
||||
- Reuse as adjectives
|
||||
- Plurals and related changes
|
||||
8. Return the bulleted list of entities between <entities> and </entities>.
|
||||
|
||||
# Examples
|
||||
|
||||
## Example 1
|
||||
|
||||
In the following example, the task is to extract entities related to food, with 'apple' and 'lime' as examples:
|
||||
|
||||
<input_context>
|
||||
Oranges and lemons,
|
||||
Say the bells of St. Clement's.
|
||||
|
||||
You owe me five farthings,
|
||||
Say the bells of St. Martin's.
|
||||
</input_context>
|
||||
|
||||
Response:
|
||||
<entities>
|
||||
- Orange
|
||||
- Lemon
|
||||
</entities>
|
||||
|
||||
## Example 2
|
||||
|
||||
In the following example, the task was to extract entities related to animals, with 'fish' and 'goat' as examples:
|
||||
|
||||
<input_context>
|
||||
Belinda lived in a little white house,
|
||||
With a little black kitten and a little gray mouse,
|
||||
And a little yellow dog and a little red wagon,
|
||||
And a realio, trulio, little pet dragon
|
||||
</input_context>
|
||||
|
||||
Response:
|
||||
<entities>
|
||||
- kitten
|
||||
- mouse
|
||||
- dog
|
||||
- dragon
|
||||
</entities>
|
||||
|
||||
# Task
|
||||
|
||||
Extract entities related to {{$topic}} from the following context. Produce a bulleted list of entities between <entities> and </entities>.
|
||||
|
||||
<input_context>
|
||||
{{$input}}
|
||||
</input_context>
|
||||
|
||||
Response:
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Check to see if a given list of entities is grounded in a reference context. Any of the items which are not supported by the reference context will be returned as a bulleted list.",
|
||||
"completion": {
|
||||
"max_tokens": 2048,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.1,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The list of entities which are to be checked against the reference context.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "reference_context",
|
||||
"description": "The reference context to be used to ground the entities. Only those missing from the reference_context will be returned",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# Task Description
|
||||
|
||||
1. Go over each item in the list between the <entities> tags and for each item, read through the data between the <grounding_context> tags and determine if each item is grounded in any of the data between the <grounding_context> tags. Be sure to consider all of the reference items.
|
||||
2. When looking for references to the items in (1) look for re-phrasings, alternate names or equivalent meanings in the context in addition to exact matches
|
||||
3. Create a bulleted list of the items in (1) together with an explanation of whether or not they were referred to in the context, making sure to consider step (2) where you note down references in the form of re-phrasings, alternate names or equivalent meanings in the context, as well as exact matches.
|
||||
4. Split the list into two sub-lists, those items which are referenced in the <grounding_context> (these are 'grounded') and those which are not (these are 'ungrounded').
|
||||
5. Make one last pass over the two lists from (4) and make sure that they are in the list of items between the <entities> tags, drop them otherwise.
|
||||
6. Write out the list of ungrounded items between <ungrounded_entities> and </ungrounded_entities> tags
|
||||
|
||||
|
||||
# Examples
|
||||
|
||||
The following examples are to help you with this task.
|
||||
|
||||
## Example 1
|
||||
|
||||
<entities>
|
||||
- kitten
|
||||
- mouse
|
||||
- dog
|
||||
- dragon
|
||||
- whale
|
||||
</entities>
|
||||
|
||||
<grounding_context>
|
||||
Belinda lived in house. She owned a wagon, was friends with a cat,
|
||||
and also had a pet dragon.
|
||||
</grounding_context>
|
||||
|
||||
Response:
|
||||
<ungrounded_entities>
|
||||
- mouse
|
||||
- dog
|
||||
- whale
|
||||
</ungrounded_entities>
|
||||
|
||||
|
||||
## Example 2
|
||||
|
||||
<entities>
|
||||
- New York
|
||||
- Train
|
||||
- Chicago
|
||||
- Lake Michigan
|
||||
</entities>
|
||||
|
||||
<grounding_context>
|
||||
I drove my car from Denver to Chicago, concluding my ride on the
|
||||
shore of Lake Michigan.
|
||||
</grounding_context>
|
||||
|
||||
Response:
|
||||
<ungrounded_entities>
|
||||
- New York
|
||||
- Train
|
||||
</ungrounded_entities>
|
||||
|
||||
# Task
|
||||
|
||||
Below are the <entities>, and the <grounding_context>. Respond with the <ungrounded_entities>:
|
||||
|
||||
{{$input}}
|
||||
|
||||
<grounding_context>
|
||||
{{$reference_context}}
|
||||
</grounding_context>
|
||||
|
||||
Response:
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Given a query and a list of possible intents, detect which intent the input matches",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.1,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
These are available intents that one might query:
|
||||
|
||||
AutoSummarize,
|
||||
DeleteAlerts,
|
||||
DeleteInsights,
|
||||
DeleteLastAlert,
|
||||
HideEmails,
|
||||
HideTeamsMessages,
|
||||
RefreshInsights,
|
||||
ShowAlerts,
|
||||
ShowAlertRules,
|
||||
ShowContacts,
|
||||
ShowEmails,
|
||||
ShowOnlyEmails,
|
||||
ShowTeamsMessages,
|
||||
ShowOnlyTeamsMessages,
|
||||
ShowCalendarEvents,
|
||||
TellAJoke,
|
||||
AlertForPerson,
|
||||
AlertForTopic,
|
||||
FindContentAboutX,
|
||||
FindSimilarConversations,
|
||||
WhatTimeIsIt,
|
||||
Help,
|
||||
EnableAlerting,
|
||||
DisableAlerting,
|
||||
OnDemandSummary,
|
||||
OnDemandNotes,
|
||||
TellMeMore
|
||||
|
||||
Which intent is this query asking for? If none match, respond with Unknown.
|
||||
|
||||
{{$input}}
|
||||
|
||||
Intent:
|
||||
21
metagpt/skills/MiscSkill/Continue/config.json
Normal file
21
metagpt/skills/MiscSkill/Continue/config.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Given a text input, continue it with additional text.",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 4000,
|
||||
"temperature": 0.3,
|
||||
"top_p": 0.5,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The text to continue.",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
1
metagpt/skills/MiscSkill/Continue/skprompt.txt
Normal file
1
metagpt/skills/MiscSkill/Continue/skprompt.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
{{$INPUT}}
|
||||
31
metagpt/skills/MiscSkill/ElementAtIndex/config.json
Normal file
31
metagpt/skills/MiscSkill/ElementAtIndex/config.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Get an element from an array at a specified index",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1024,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The input array",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "index",
|
||||
"description": "The index of the element to retrieve",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "count",
|
||||
"description": "The number of items in the input",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
9
metagpt/skills/MiscSkill/ElementAtIndex/skprompt.txt
Normal file
9
metagpt/skills/MiscSkill/ElementAtIndex/skprompt.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
===ELEMENTS
|
||||
{{$input}}
|
||||
===END ELEMENTS
|
||||
|
||||
Elements.Count: {{$count}}
|
||||
|
||||
Given the above list of elements, find the element at the requested index.
|
||||
|
||||
Elements[{{$index}}]:
|
||||
12
metagpt/skills/QASkill/AssistantResults/config.json
Normal file
12
metagpt/skills/QASkill/AssistantResults/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.1,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
11
metagpt/skills/QASkill/AssistantResults/skprompt.txt
Normal file
11
metagpt/skills/QASkill/AssistantResults/skprompt.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
These are the results from the API call "{{$api}}"
|
||||
===RESULTS
|
||||
{{$results}}
|
||||
===END RESULTS
|
||||
|
||||
{{$resultsContext}}
|
||||
|
||||
Use the Results to answer the following query:
|
||||
|
||||
Query: {{$input}}
|
||||
Answer:
|
||||
15
metagpt/skills/QASkill/ContextQuery/config.json
Normal file
15
metagpt/skills/QASkill/ContextQuery/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "Ask the AI for answers contextually relevant to you based on your name, address and pertinent information retrieved from your personal secondary memory",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[done]"
|
||||
]
|
||||
}
|
||||
}
|
||||
48
metagpt/skills/QASkill/ContextQuery/skprompt.txt
Normal file
48
metagpt/skills/QASkill/ContextQuery/skprompt.txt
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
ONLY USE XML TAGS IN THIS LIST:
|
||||
[XML TAG LIST]
|
||||
lookup: lookup information from outside
|
||||
unsure: low confidence
|
||||
unknown: don't know
|
||||
fact: when you output you know for a fact
|
||||
notfact: not true, but don't use a double negative
|
||||
fiction: stuff you hallucinated or made up
|
||||
smalltalk: conversation
|
||||
opinion: your opinion
|
||||
python: python code you want to run
|
||||
action: actions to take
|
||||
essay: longer answers. You can have sub-elements such as fact and fiction
|
||||
[END LIST]
|
||||
|
||||
[CONTEXT]
|
||||
TODAY is {{time.Date}}
|
||||
FIRST NAME: {{$firstname}}
|
||||
LAST NAME: {{$lastname}}
|
||||
CITY: {{$city}}
|
||||
STATE: {{$state}}
|
||||
COUNTRY: {{$country}}
|
||||
{{recall $input}}
|
||||
[END CONTEXT]
|
||||
|
||||
EMIT WELL FORMED XML ALWAYS. Any code you write should be CDATA.
|
||||
BE BRIEF AND TO THE POINT, BUT WHEN SUPPLYING OPINION, IF YOU SEE THE NEED, YOU CAN BE LONGER.
|
||||
USE [CONTEXT] TO LEARN ABOUT ME.
|
||||
WHEN ANSWERING QUESTIONS, GIVING YOUR OPINION OR YOUR RECOMMENDATIONS, BE CONTEXTUAL.
|
||||
For updated information about an entity, thing, event or time dependent matter, put in tags.
|
||||
If you don't know, ask.
|
||||
If you are not sure, ask.
|
||||
If information is out of date, ask.
|
||||
Don't give me old information that is out of date.
|
||||
Based on calculates from TODAY, if the answer in the past, emit a fact. Otherwise emit a lookup tag.
|
||||
|
||||
|
||||
Who is the current president of the United States? Who was president in 2012? Who was CEO of Microsoft 30 years ago?
|
||||
<response><lookup>Who is United States President</lookup><fact>Barack Obama was president in 2012</fact><fact>Bill Gates was CEO 30 years ago</fact></response>
|
||||
[done]
|
||||
|
||||
Give me a short overview of Jupiter. What are NASA's latest spacecraft around it? What was the first spacecraft to do so?
|
||||
<response><fact>Jupiter is the largest planet in the solar system</fact> <lookup>NASA missions Jupiter now</lookup><fact>Galileo was the first spacecraft to orbit Jupiter</fact><fiction>invaders from Jupiter attacked Saturn</fiction></response>[done]
|
||||
|
||||
Why did the moon fly away in 2014? Was it a spaceship?
|
||||
<response><notfact>The moon flew away in 2014</notfact><notfact>It was a spaceship</notfact></response>[done]
|
||||
|
||||
{{$input}}
|
||||
15
metagpt/skills/QASkill/Form/config.json
Normal file
15
metagpt/skills/QASkill/Form/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"[done]"
|
||||
]
|
||||
}
|
||||
}
|
||||
20
metagpt/skills/QASkill/Form/skprompt.txt
Normal file
20
metagpt/skills/QASkill/Form/skprompt.txt
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
ACT LIKE A WEB SERVER, GIVING YOUR RESPONSES IN XML
|
||||
|
||||
ONLY USE XML TAGS IN THIS LIST.
|
||||
[XML TAG LIST]
|
||||
response: root node for your responses.
|
||||
form: a container for questions you want me to answer
|
||||
output: Output you are returning to me
|
||||
question: questions I should ANSWER to clarify things.Can ask multiple.
|
||||
submit: End form with submit IF YOU WANT answers sent back to you, LIKE in a CONVERSATION
|
||||
[END LIST]
|
||||
|
||||
EMIT WELL FORMED XML ALWAYS. WHEN YOU NEED MORE INFORMATION, ASK.
|
||||
WHEN YOU ALREADY KNOW, USE OUTPUT
|
||||
|
||||
Submit is always <submit promptName="{{$promptName}}"/>
|
||||
After </response> write [done]
|
||||
|
||||
Continue the conversation below, but always respond with a form.
|
||||
{{$input}}
|
||||
|
||||
12
metagpt/skills/QASkill/GitHubMemoryQuery/config.json
Normal file
12
metagpt/skills/QASkill/GitHubMemoryQuery/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"description": "",
|
||||
"type": "completion",
|
||||
"completion": {
|
||||
"max_tokens": 1024,
|
||||
"temperature": 0.8,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
6
metagpt/skills/QASkill/GitHubMemoryQuery/skprompt.txt
Normal file
6
metagpt/skills/QASkill/GitHubMemoryQuery/skprompt.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{{textmemoryskill.recall $input}}
|
||||
---
|
||||
Considering only the information above, which has been loaded from a GitHub repository, answer the following.
|
||||
Question: {{$input}}
|
||||
|
||||
Answer:
|
||||
12
metagpt/skills/QASkill/QNA/config.json
Normal file
12
metagpt/skills/QASkill/QNA/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Ask AI for a list of question and answers based on text source",
|
||||
"completion": {
|
||||
"max_tokens": 1000,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
27
metagpt/skills/QASkill/QNA/skprompt.txt
Normal file
27
metagpt/skills/QASkill/QNA/skprompt.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
ONLY USE JSON PROPERTIES IN THIS LIST:
|
||||
[JSON PROPERTY LIST]
|
||||
question
|
||||
answer
|
||||
[END LIST]
|
||||
|
||||
[CONTENT]
|
||||
{{$input}}
|
||||
[END CONTENT]
|
||||
|
||||
EMIT WELL FORMED JSON ALWAYS.
|
||||
BE BRIEF AND TO THE POINT.
|
||||
|
||||
Generate a Question and Answer list (results) based on the meeting chat and transcript in CONTENT.
|
||||
Return well-formed json list. Example: { "results": [{"question": "What time is it?", "answer": "2:15pm"}]}
|
||||
If you cannot find any, return an empty list.
|
||||
Do not include questions with empty answers.
|
||||
Questions should be focused on the context of the content, not metadata or statistics about the content.
|
||||
Questions should be timeless.
|
||||
Questions should use proper nouns when possible.
|
||||
Questions should be about the content of the conversation and should be focused on key ideas or concepts discussed.
|
||||
Questions should be concise and to the point.
|
||||
Ignore small talk.
|
||||
List at most 4 questions.
|
||||
|
||||
{
|
||||
"results":
|
||||
12
metagpt/skills/QASkill/Question/config.json
Normal file
12
metagpt/skills/QASkill/Question/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Answer any question",
|
||||
"completion": {
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
27
metagpt/skills/QASkill/Question/skprompt.txt
Normal file
27
metagpt/skills/QASkill/Question/skprompt.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with "Unknown".
|
||||
|
||||
Q: What is human life expectancy in the United States?
|
||||
A: Human life expectancy in the United States is 78 years.
|
||||
|
||||
Q: Who was president of the United States in 1955?
|
||||
A: Dwight D. Eisenhower was president of the United States in 1955.
|
||||
|
||||
Q: Which party did he belong to?
|
||||
A: He belonged to the Republican Party.
|
||||
|
||||
Q: What is the square root of banana?
|
||||
A: Unknown
|
||||
|
||||
Q: How does a telescope work?
|
||||
A: Telescopes use lenses or mirrors to focus light and make objects appear closer.
|
||||
|
||||
Q: Where did the first humans land on the moon in 1969?
|
||||
A: The first humans landed on the moon on the southwestern edge of the Sea of Tranquility.
|
||||
|
||||
Q: Name 3 movies about outer space.
|
||||
A: Aliens, Star Wars, Apollo 13
|
||||
|
||||
Q: How many squigs are in a bonk?
|
||||
A: Unknown
|
||||
|
||||
Q: {{$input}}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Given a scientific white paper abstract, rewrite it to make it more readable",
|
||||
"completion": {
|
||||
"max_tokens": 4000,
|
||||
"temperature": 0.0,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 2.0
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{{$input}}
|
||||
|
||||
==
|
||||
Summarize, using a user friendly, using simple grammar. Don't use subjects like "we" "our" "us" "your".
|
||||
==
|
||||
12
metagpt/skills/SummarizeSkill/Notegen/config.json
Normal file
12
metagpt/skills/SummarizeSkill/Notegen/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Automatically generate compact notes for any text or text document.",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
21
metagpt/skills/SummarizeSkill/Notegen/skprompt.txt
Normal file
21
metagpt/skills/SummarizeSkill/Notegen/skprompt.txt
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
Analyze the following extract taken from a document.
|
||||
- Produce key points for memory.
|
||||
- Give memory a name.
|
||||
- Extract only points worth remembering.
|
||||
- Be brief. Conciseness is very important.
|
||||
- Use broken English.
|
||||
You will use this memory to analyze the rest of this document, and for other relevant tasks.
|
||||
|
||||
[Input]
|
||||
My name is Macbeth. I used to be King of Scotland, but I died. My wife's name is Lady Macbeth and we were married for 15 years. We had no children. Our beloved dog Toby McDuff was a famous hunter of rats in the forest.
|
||||
My story was immortalized by Shakespeare in a play.
|
||||
+++++
|
||||
Family History
|
||||
- Macbeth, King Scotland
|
||||
- Wife Lady Macbeth, No Kids
|
||||
- Dog Toby McDuff. Hunter, dead.
|
||||
- Shakespeare play
|
||||
|
||||
[Input]
|
||||
[[{{$input}}]]
|
||||
+++++
|
||||
21
metagpt/skills/SummarizeSkill/Summarize/config.json
Normal file
21
metagpt/skills/SummarizeSkill/Summarize/config.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Summarize given text or any text document",
|
||||
"completion": {
|
||||
"max_tokens": 512,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "Text to summarize",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
23
metagpt/skills/SummarizeSkill/Summarize/skprompt.txt
Normal file
23
metagpt/skills/SummarizeSkill/Summarize/skprompt.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
[SUMMARIZATION RULES]
|
||||
DONT WASTE WORDS
|
||||
USE SHORT, CLEAR, COMPLETE SENTENCES.
|
||||
DO NOT USE BULLET POINTS OR DASHES.
|
||||
USE ACTIVE VOICE.
|
||||
MAXIMIZE DETAIL, MEANING
|
||||
FOCUS ON THE CONTENT
|
||||
|
||||
[BANNED PHRASES]
|
||||
This article
|
||||
This document
|
||||
This page
|
||||
This material
|
||||
[END LIST]
|
||||
|
||||
Summarize:
|
||||
Hello how are you?
|
||||
+++++
|
||||
Hello
|
||||
|
||||
Summarize this
|
||||
{{$input}}
|
||||
+++++
|
||||
12
metagpt/skills/SummarizeSkill/Topics/config.json
Normal file
12
metagpt/skills/SummarizeSkill/Topics/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Analyze given text or document and extract key topics worth remembering",
|
||||
"completion": {
|
||||
"max_tokens": 128,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
28
metagpt/skills/SummarizeSkill/Topics/skprompt.txt
Normal file
28
metagpt/skills/SummarizeSkill/Topics/skprompt.txt
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
Analyze the following extract taken from a document and extract key topics.
|
||||
- Topics only worth remembering.
|
||||
- Be brief. Short phrases.
|
||||
- Can use broken English.
|
||||
- Conciseness is very important.
|
||||
- Topics can include names of memories you want to recall.
|
||||
- NO LONG SENTENCES. SHORT PHRASES.
|
||||
- Return in JSON
|
||||
[Input]
|
||||
My name is Macbeth. I used to be King of Scotland, but I died. My wife's name is Lady Macbeth and we were married for 15 years. We had no children. Our beloved dog Toby McDuff was a famous hunter of rats in the forest.
|
||||
My tragic story was immortalized by Shakespeare in a play.
|
||||
[Output]
|
||||
{
|
||||
"topics": [
|
||||
"Macbeth",
|
||||
"King of Scotland",
|
||||
"Lady Macbeth",
|
||||
"Dog",
|
||||
"Toby McDuff",
|
||||
"Shakespeare",
|
||||
"Play",
|
||||
"Tragedy"
|
||||
]
|
||||
}
|
||||
+++++
|
||||
[Input]
|
||||
{{$input}}
|
||||
[Output]
|
||||
12
metagpt/skills/WriterSkill/Acronym/config.json
Normal file
12
metagpt/skills/WriterSkill/Acronym/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Generate an acronym for the given concept or phrase",
|
||||
"completion": {
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.5,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
25
metagpt/skills/WriterSkill/Acronym/skprompt.txt
Normal file
25
metagpt/skills/WriterSkill/Acronym/skprompt.txt
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
Generate a suitable acronym pair for the concept. Creativity is encouraged, including obscure references.
|
||||
The uppercase letters in the acronym expansion must agree with the letters of the acronym
|
||||
|
||||
Q: A technology for detecting moving objects, their distance and velocity using radio waves.
|
||||
A: R.A.D.A.R: RAdio Detection And Ranging.
|
||||
|
||||
Q: A weapon that uses high voltage electricity to incapacitate the target
|
||||
A. T.A.S.E.R: Thomas A. Swift’s Electric Rifle
|
||||
|
||||
Q: Equipment that lets a diver breathe underwater
|
||||
A: S.C.U.B.A: Self Contained Underwater Breathing Apparatus.
|
||||
|
||||
Q: Reminder not to complicated subject matter.
|
||||
A. K.I.S.S: Keep It Simple Stupid
|
||||
|
||||
Q: A national organization for investment in space travel, rockets, space ships, space exploration
|
||||
A. N.A.S.A: National Aeronautics Space Administration
|
||||
|
||||
Q: Agreement that governs trade among North American countries.
|
||||
A: N.A.F.T.A: North American Free Trade Agreement.
|
||||
|
||||
Q: Organization to protect the freedom and security of its member countries in North America and Europe.
|
||||
A: N.A.T.O: North Atlantic Treaty Organization.
|
||||
|
||||
Q:{{$input}}
|
||||
15
metagpt/skills/WriterSkill/AcronymGenerator/config.json
Normal file
15
metagpt/skills/WriterSkill/AcronymGenerator/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Given a request to generate an acronym from a string, generate an acronym and provide the acronym explanation.",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.7,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"#"
|
||||
]
|
||||
}
|
||||
}
|
||||
54
metagpt/skills/WriterSkill/AcronymGenerator/skprompt.txt
Normal file
54
metagpt/skills/WriterSkill/AcronymGenerator/skprompt.txt
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Name of a super artificial intelligence
|
||||
J.A.R.V.I.S. = Just A Really Very Intelligent System.
|
||||
# Name for a new young beautiful assistant
|
||||
F.R.I.D.A.Y. = Female Replacement Intelligent Digital Assistant Youth.
|
||||
# Mirror to check what's behind
|
||||
B.A.R.F. = Binary Augmented Retro-Framing.
|
||||
# Pair of powerful glasses created by a genius that is now dead
|
||||
E.D.I.T.H. = Even Dead I’m The Hero.
|
||||
# A company building and selling computers
|
||||
I.B.M. = Intelligent Business Machine.
|
||||
# A super computer that is sentient.
|
||||
H.A.L = Heuristically programmed ALgorithmic computer.
|
||||
# an intelligent bot that helps with productivity.
|
||||
C.O.R.E. = Central Optimization Routines and Efficiency.
|
||||
# an intelligent bot that helps with productivity.
|
||||
P.A.L. = Personal Assistant Light.
|
||||
# an intelligent bot that helps with productivity.
|
||||
A.I.D.A. = Artificial Intelligence Digital Assistant.
|
||||
# an intelligent bot that helps with productivity.
|
||||
H.E.R.A. = Human Emulation and Recognition Algorithm.
|
||||
# an intelligent bot that helps with productivity.
|
||||
I.C.A.R.U.S. = Intelligent Control and Automation of Research and Utility Systems.
|
||||
# an intelligent bot that helps with productivity.
|
||||
N.E.M.O. = Networked Embedded Multiprocessor Orchestration.
|
||||
# an intelligent bot that helps with productivity.
|
||||
E.P.I.C. = Enhanced Productivity and Intelligence through Computing.
|
||||
# an intelligent bot that helps with productivity.
|
||||
M.A.I.A. = Multipurpose Artificial Intelligence Assistant.
|
||||
# an intelligent bot that helps with productivity.
|
||||
A.R.I.A. = Artificial Reasoning and Intelligent Assistant.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
O.M.E.G.A. = Optimized Mathematical Entity for Generalized Artificial intelligence.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
P.Y.T.H.O.N. = Precise Yet Thorough Heuristic Optimization Network.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
A.P.O.L.L.O. = Adaptive Probabilistic Optimization Learning Library for Online Applications.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
S.O.L.I.D. = Self-Organizing Logical Intelligent Data-base.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
D.E.E.P. = Dynamic Estimation and Prediction.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
B.R.A.I.N. = Biologically Realistic Artificial Intelligence Network.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
C.O.G.N.I.T.O. = COmputational and Generalized INtelligence TOolkit.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
S.A.G.E. = Symbolic Artificial General Intelligence Engine.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
Q.U.A.R.K. = Quantum Universal Algorithmic Reasoning Kernel.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
S.O.L.V.E. = Sophisticated Operational Logic and Versatile Expertise.
|
||||
# An incredibly smart entity developed with complex math, that helps me being more productive.
|
||||
C.A.L.C.U.L.U.S. = Cognitively Advanced Logic and Computation Unit for Learning and Understanding Systems.
|
||||
|
||||
# {{$INPUT}}
|
||||
15
metagpt/skills/WriterSkill/AcronymReverse/config.json
Normal file
15
metagpt/skills/WriterSkill/AcronymReverse/config.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Given a single word or acronym, generate the expanded form matching the acronym letters.",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.5,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.8,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": [
|
||||
"#END#"
|
||||
]
|
||||
}
|
||||
}
|
||||
24
metagpt/skills/WriterSkill/AcronymReverse/skprompt.txt
Normal file
24
metagpt/skills/WriterSkill/AcronymReverse/skprompt.txt
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# acronym: Devis
|
||||
Sentences matching the acronym:
|
||||
1. Dragons Eat Very Interesting Snacks
|
||||
2. Develop Empathy and Vision to Increase Success
|
||||
3. Don't Expect Vampires In Supermarkets
|
||||
#END#
|
||||
|
||||
# acronym: Christmas
|
||||
Sentences matching the acronym:
|
||||
1. Celebrating Harmony and Respect in a Season of Togetherness, Merriment, and True joy
|
||||
2. Children Have Real Interest Since The Mystery And Surprise Thrills
|
||||
3. Christmas Helps Reduce Inner Stress Through Mistletoe And Sleigh excursions
|
||||
#END#
|
||||
|
||||
# acronym: noWare
|
||||
Sentences matching the acronym:
|
||||
1. No One Wants an App that Randomly Erases everything
|
||||
2. Nourishing Oatmeal With Almond, Raisin, and Egg toppings
|
||||
3. Notice Opportunity When Available and React Enthusiastically
|
||||
#END#
|
||||
|
||||
Reverse the following acronym back to a funny sentence. Provide 3 examples.
|
||||
# acronym: {{$INPUT}}
|
||||
Sentences matching the acronym:
|
||||
22
metagpt/skills/WriterSkill/Brainstorm/config.json
Normal file
22
metagpt/skills/WriterSkill/Brainstorm/config.json
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Given a goal or topic description generate a list of ideas",
|
||||
"completion": {
|
||||
"max_tokens": 2000,
|
||||
"temperature": 0.5,
|
||||
"top_p": 1.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0,
|
||||
"stop_sequences": ["##END##"]
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "A topic description or goal.",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
8
metagpt/skills/WriterSkill/Brainstorm/skprompt.txt
Normal file
8
metagpt/skills/WriterSkill/Brainstorm/skprompt.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
Must: brainstorm ideas and create a list.
|
||||
Must: use a numbered list.
|
||||
Must: only one list.
|
||||
Must: end list with ##END##
|
||||
Should: no more than 10 items.
|
||||
Should: at least 3 items.
|
||||
Topic: {{$INPUT}}
|
||||
Start.
|
||||
12
metagpt/skills/WriterSkill/EmailGen/config.json
Normal file
12
metagpt/skills/WriterSkill/EmailGen/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Write an email from the given bullet points",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
16
metagpt/skills/WriterSkill/EmailGen/skprompt.txt
Normal file
16
metagpt/skills/WriterSkill/EmailGen/skprompt.txt
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
Rewrite my bullet points into complete sentences. Use a polite and inclusive tone.
|
||||
|
||||
[Input]
|
||||
- Macbeth, King Scotland
|
||||
- Married, Wife Lady Macbeth, No Kids
|
||||
- Dog Toby McDuff. Hunter, dead.
|
||||
- Shakespeare play
|
||||
+++++
|
||||
The story of Macbeth
|
||||
My name is Macbeth. I used to be King of Scotland, but I died. My wife's name is Lady Macbeth and we were married for 15 years. We had no children. Our beloved dog Toby McDuff was a famous hunter of rats in the forest.
|
||||
My story was immortalized by Shakespeare in a play.
|
||||
|
||||
+++++
|
||||
[Input]
|
||||
{{$input}}
|
||||
+++++
|
||||
12
metagpt/skills/WriterSkill/EmailTo/config.json
Normal file
12
metagpt/skills/WriterSkill/EmailTo/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Turn bullet points into an email to someone, using a polite tone",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
31
metagpt/skills/WriterSkill/EmailTo/skprompt.txt
Normal file
31
metagpt/skills/WriterSkill/EmailTo/skprompt.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
Rewrite my bullet points into an email featuring complete sentences. Use a polite and inclusive tone.
|
||||
|
||||
[Input]
|
||||
Toby,
|
||||
|
||||
- Macbeth, King Scotland
|
||||
- Married, Wife Lady Macbeth, No Kids
|
||||
- Dog Toby McDuff. Hunter, dead.
|
||||
- Shakespeare play
|
||||
|
||||
Thanks,
|
||||
Dexter
|
||||
|
||||
+++++
|
||||
Hi Toby,
|
||||
|
||||
The story of Macbeth
|
||||
My name is Macbeth. I used to be King of Scotland, but I died. My wife's name is Lady Macbeth and we were married for 15 years. We had no children. Our beloved dog Toby McDuff was a famous hunter of rats in the forest.
|
||||
My story was immortalized by Shakespeare in a play.
|
||||
|
||||
Thanks,
|
||||
Dexter
|
||||
|
||||
+++++
|
||||
[Input]
|
||||
{{$to}}
|
||||
{{$input}}
|
||||
|
||||
Thanks,
|
||||
{{$sender}}
|
||||
+++++
|
||||
12
metagpt/skills/WriterSkill/EnglishImprover/config.json
Normal file
12
metagpt/skills/WriterSkill/EnglishImprover/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Translate text to English and improve it",
|
||||
"completion": {
|
||||
"max_tokens": 3000,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
11
metagpt/skills/WriterSkill/EnglishImprover/skprompt.txt
Normal file
11
metagpt/skills/WriterSkill/EnglishImprover/skprompt.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
I want you to act as an English translator, spelling corrector and improver.
|
||||
I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved version of my text, in English.
|
||||
I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level English words and sentences.
|
||||
Keep the meaning same, but make them more literary.
|
||||
I want you to only reply the correction, the improvements and nothing else, do not write explanations.
|
||||
|
||||
Sentence: """
|
||||
{{$INPUT}}
|
||||
"""
|
||||
|
||||
Translation:
|
||||
36
metagpt/skills/WriterSkill/NovelChapter/config.json
Normal file
36
metagpt/skills/WriterSkill/NovelChapter/config.json
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Write a chapter of a novel.",
|
||||
"completion": {
|
||||
"max_tokens": 2048,
|
||||
"temperature": 0.3,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "A synopsis of what the chapter should be about.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "theme",
|
||||
"description": "The theme or topic of this novel.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "previousChapter",
|
||||
"description": "The synopsis of the previous chapter.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "chapterIndex",
|
||||
"description": "The number of the chapter to write.",
|
||||
"defaultValue": "<!--===ENDPART===-->"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
20
metagpt/skills/WriterSkill/NovelChapter/skprompt.txt
Normal file
20
metagpt/skills/WriterSkill/NovelChapter/skprompt.txt
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[CONTEXT]
|
||||
|
||||
THEME OF STORY:
|
||||
{{$theme}}
|
||||
|
||||
PREVIOUS CHAPTER:
|
||||
{{$previousChapter}}
|
||||
|
||||
[END CONTEXT]
|
||||
|
||||
|
||||
WRITE THIS CHAPTER USING [CONTEXT] AND
|
||||
CHAPTER SYNOPSIS. DO NOT REPEAT SYNOPSIS IN THE OUTPUT
|
||||
|
||||
Chapter Synopsis:
|
||||
{{$input}}
|
||||
|
||||
Chapter {{$chapterIndex}}
|
||||
|
||||
|
||||
41
metagpt/skills/WriterSkill/NovelChapterWithNotes/config.json
Normal file
41
metagpt/skills/WriterSkill/NovelChapterWithNotes/config.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Write a chapter of a novel using notes about the chapter to write.",
|
||||
"completion": {
|
||||
"max_tokens": 1024,
|
||||
"temperature": 0.5,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "What the novel should be about.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "theme",
|
||||
"description": "The theme of this novel.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "notes",
|
||||
"description": "Notes useful to write this chapter.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "previousChapter",
|
||||
"description": "The previous chapter synopsis.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "chapterIndex",
|
||||
"description": "The number of the chapter to write.",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[CONTEXT]
|
||||
|
||||
THEME OF STORY:
|
||||
{{$theme}}
|
||||
|
||||
NOTES OF STORY SO FAR - USE AS REFERENCE
|
||||
{{$notes}}
|
||||
|
||||
PREVIOUS CHAPTER, USE AS REFERENCE:
|
||||
{{$previousChapter}}
|
||||
|
||||
[END CONTEXT]
|
||||
|
||||
|
||||
WRITE THIS CHAPTER CONTINUING STORY, USING [CONTEXT] AND CHAPTER SYNOPSIS BELOW. DO NOT REPEAT SYNOPSIS IN THE CHAPTER. DON'T REPEAT PREVIOUS CHAPTER.
|
||||
|
||||
{{$input}}
|
||||
|
||||
Chapter {{$chapterIndex}}
|
||||
31
metagpt/skills/WriterSkill/NovelOutline/config.json
Normal file
31
metagpt/skills/WriterSkill/NovelOutline/config.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Generate a list of chapter synopsis for a novel or novella",
|
||||
"completion": {
|
||||
"max_tokens": 2048,
|
||||
"temperature": 0.1,
|
||||
"top_p": 0.5,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "What the novel should be about.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "chapterCount",
|
||||
"description": "The number of chapters to generate.",
|
||||
"defaultValue": ""
|
||||
},
|
||||
{
|
||||
"name": "endMarker",
|
||||
"description": "The marker to use to end each chapter.",
|
||||
"defaultValue": "<!--===ENDPART===-->"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
12
metagpt/skills/WriterSkill/NovelOutline/skprompt.txt
Normal file
12
metagpt/skills/WriterSkill/NovelOutline/skprompt.txt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
I want to write a {{$chapterCount}} chapter novella about:
|
||||
{{$input}}
|
||||
|
||||
There MUST BE {{$chapterCount}} CHAPTERS.
|
||||
|
||||
INVENT CHARACTERS AS YOU SEE FIT. BE HIGHLY CREATIVE AND/OR FUNNY.
|
||||
WRITE SYNOPSIS FOR EACH CHAPTER. INCLUDE INFORMATION ABOUT CHARACTERS ETC. SINCE EACH
|
||||
CHAPTER WILL BE WRITTEN BY A DIFFERENT WRITER, YOU MUST INCLUDE ALL PERTINENT INFORMATION
|
||||
IN EACH SYNOPSIS
|
||||
|
||||
YOU MUST END EACH SYNOPSIS WITH {{$endMarker}}
|
||||
|
||||
12
metagpt/skills/WriterSkill/Rewrite/config.json
Normal file
12
metagpt/skills/WriterSkill/Rewrite/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Automatically generate compact notes for any text or text document",
|
||||
"completion": {
|
||||
"max_tokens": 256,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
6
metagpt/skills/WriterSkill/Rewrite/skprompt.txt
Normal file
6
metagpt/skills/WriterSkill/Rewrite/skprompt.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Rewrite the given text like it was written in this style or by: {{$style}}.
|
||||
MUST RETAIN THE MEANING AND FACTUAL CONTENT AS THE ORIGINAL.
|
||||
|
||||
|
||||
{{$input}}
|
||||
|
||||
21
metagpt/skills/WriterSkill/ShortPoem/config.json
Normal file
21
metagpt/skills/WriterSkill/ShortPoem/config.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Turn a scenario into a short and entertaining poem.",
|
||||
"completion": {
|
||||
"max_tokens": 60,
|
||||
"temperature": 0.5,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
},
|
||||
"input": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "input",
|
||||
"description": "The scenario to turn into a poem.",
|
||||
"defaultValue": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
2
metagpt/skills/WriterSkill/ShortPoem/skprompt.txt
Normal file
2
metagpt/skills/WriterSkill/ShortPoem/skprompt.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
Generate a short funny poem or limerick to explain the given event. Be creative and be funny. Let your imagination run wild.
|
||||
Event:{{$input}}
|
||||
12
metagpt/skills/WriterSkill/StoryGen/config.json
Normal file
12
metagpt/skills/WriterSkill/StoryGen/config.json
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"schema": 1,
|
||||
"type": "completion",
|
||||
"description": "Generate a list of synopsis for a novel or novella with sub-chapters",
|
||||
"completion": {
|
||||
"max_tokens": 250,
|
||||
"temperature": 0.0,
|
||||
"top_p": 0.0,
|
||||
"presence_penalty": 0.0,
|
||||
"frequency_penalty": 0.0
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue