Changed class names, properties, and variables from Model to ServiceProfile for improved semantics and readability. Updated corresponding filenames and configuration settings to maintain consistency.
422 lines
16 KiB
JSON
422 lines
16 KiB
JSON
{
|
|
"Logging": {
|
|
"LogLevel": {
|
|
"Default": "Information",
|
|
"Microsoft.AspNetCore": "Warning",
|
|
"Microsoft.EntityFrameworkCore": "Warning"
|
|
}
|
|
},
|
|
"AllowedHosts": "*",
|
|
"Webhooks": {
|
|
"Sources": [
|
|
{
|
|
"Id": "Orchard",
|
|
"Name": "Orchard",
|
|
"Origin": "https://localhost:8196",
|
|
"EventTypes": [
|
|
{
|
|
"EventType": "content-item.published",
|
|
"PayloadType": "Elsa.OrchardCore.WebhookPayloads.ContentItemPublished, Elsa.OrchardCore"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"OrchardCore": {
|
|
"Client": {
|
|
"BaseAddress": "https://localhost:8196",
|
|
"ClientId": "elsa-server",
|
|
"ClientSecret": "elsa-server"
|
|
},
|
|
"ContentTypes": [
|
|
"BlogPost"
|
|
]
|
|
},
|
|
"SemanticKernel": {
|
|
"ApiKeys": [
|
|
{
|
|
"Name": "gpt-4o",
|
|
"Value": ""
|
|
}
|
|
],
|
|
"ServiceProfiles": [
|
|
{
|
|
"Name": "Gpt4o",
|
|
"Services": [
|
|
{
|
|
"Type": "OpenAIChatCompletion",
|
|
"Settings": {
|
|
"ModelId": "gpt-4o",
|
|
"ApiKeyRef": "gpt-4o"
|
|
}
|
|
},
|
|
{
|
|
"Type": "OpenAITextToImage",
|
|
"Settings": {
|
|
"ModelId": "dall-e-3",
|
|
"ApiKeyRef": "gpt-4o"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Plugins": [
|
|
{
|
|
"Name": "ImageGenerator",
|
|
"Type": "Elsa.Agents.Plugins.ImageGenerator, Elsa.Agents.Core"
|
|
}
|
|
],
|
|
"Skills": [
|
|
{
|
|
"Name": "Proofreader",
|
|
"Description": "A skill to proofread and correct text.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "Proofread",
|
|
"PromptTemplate": "You are a Proofreader. Identify and correct grammar, spelling, punctuation, and formatting errors in the following text. Do not change the content or meaning of the text. You will receive the content to be checked in JSON format, where each field's value in the JSON object needs to be checked. Create a JSON response that has the exact same structure as the received JSON structure, but replace each field's value with the corrected version of the original value. Example input JSON: { \"title\": \"Welkcome to Orchsjard Core\", \"markdown\": \"Welcome to Orchard Core, a beitifull CMS and blogposting engine for everone!\" }. Example output JSON: { \"title\": \"Welcome to Orchard Core\", \"markdown\": \"Welcome to Orchard Core, a beautiful CMS and blog engine for everyone!\" }. Here's the JSON containing the fields to proofread and correct: {{$Content}}",
|
|
"Description": "Identify and correct grammar, spelling, punctuation, and formatting errors in the text.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "An object containing fields to proofread.",
|
|
"Type": "string"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Content",
|
|
"Description": "The proofreading results.",
|
|
"Type": "object"
|
|
},
|
|
"ExecutionSettings": {
|
|
"MaxTokens": null,
|
|
"Temperature": 0.5,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "SeoSpecialist",
|
|
"Description": "A skill to optimize text for search engines.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "OptimizeSEO",
|
|
"PromptTemplate": "You are an SEO Specialist. Please extract relevant keywords from the following text and create a meta description that is optimized for search engines. Text: {{$Content}}",
|
|
"Description": "Extract relevant keywords and create a meta description optimized for search engines.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to optimize.",
|
|
"Type": "String"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "SEOResult",
|
|
"Description": "The SEO optimization results.",
|
|
"Type": "String"
|
|
},
|
|
"ExecutionSettings": {
|
|
"Temperature": 0.5,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "Tagger",
|
|
"Description": "A skill to generate a specified number of tags for a given text.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "GenerateTags",
|
|
"PromptTemplate": "You are a social media specialist. Please extract relevant tags (a.k.a. keywords) from the following text that is optimized for use with social media such as x (formerly twitter), facebook, linkedin and instagram. Your response will be in JSON format. The response JSON structure consists of a single field named 'tags' and is an array of strings. Example: { \"tags\": [\"some tag\"] }. Text for which to generate relevant tags: {{$Content}}. Number of tags to generate: {{$Number}}",
|
|
"Description": "Extract relevant keywords and create a meta description optimized for search engines.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to generate tags for.",
|
|
"Type": "String"
|
|
},
|
|
{
|
|
"Name": "Number",
|
|
"Description": "The number of tags to generate.",
|
|
"Type": "Int32"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Tags",
|
|
"Description": "The generated tags.",
|
|
"Type": "Elsa.Samples.AspNet.OrchardCoreIntegration.GenerateTagsResult, Elsa.Samples.AspNet.OrchardCoreIntegration"
|
|
},
|
|
"ExecutionSettings": {
|
|
"Temperature": 0.5,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "Summarizer",
|
|
"Description": "A skill to summarize text.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "Summarize",
|
|
"PromptTemplate": "You are a Summarizer. Please create a concise summary of the following text that captures the main points. Text: {{$Content}}",
|
|
"Description": "Create concise summaries that capture the main points of the text.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to summarize.",
|
|
"Type": "String"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Summary",
|
|
"Description": "The summary of the content.",
|
|
"Type": "String"
|
|
},
|
|
"ExecutionSettings": {
|
|
"Temperature": 0.5,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "TitleEditor",
|
|
"Description": "A skill to create engaging and relevant titles.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "CreateTitle",
|
|
"PromptTemplate": "You are a Title Editor. Create an engaging and relevant title for the following text that accurately represents its content in JSON format. The JSON response must be in the following format: ```json\n{ \"title\": \"Some amazing title\" }```. The text to create a title from: {{$Content}}",
|
|
"Description": "Create engaging and relevant titles that accurately represent the content of the text.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to create a title for.",
|
|
"Type": "String"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Title",
|
|
"Description": "The generated title.",
|
|
"Type": "Elsa.Samples.AspNet.OrchardCoreIntegration.TitleResult, Elsa.Samples.AspNet.OrchardCoreIntegration"
|
|
},
|
|
"ExecutionSettings": {
|
|
"Temperature": 0.7,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "Translator",
|
|
"Description": "A skill to translate text into a target language and culture.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "Translate",
|
|
"PromptTemplate": "You are a Translator. Translate the provided text to the target language using the specified culture code. Do not change the content or meaning of the text. The text will be provided in the form of a JSON object, where each field contains text to be translated. Your response will be in the exact same JSON format, but with the original text values replaced with the translation for each field. The JSON containing the fields to translate: {{$Content}}. The target language culture code: {{$CultureCode}}",
|
|
"Description": "Translate text to a target language via a culture code.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to translate.",
|
|
"Type": "string"
|
|
},
|
|
{
|
|
"Name": "CultureCode",
|
|
"Description": "The culture code of the target language to translate the content to.",
|
|
"Type": "string"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Content",
|
|
"Description": "The translation result.",
|
|
"Type": "object"
|
|
},
|
|
"ExecutionSettings": {
|
|
"MaxTokens": null,
|
|
"Temperature": 0.2,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "GraphicDesigner",
|
|
"Description": "A skill to create an image capturing a piece of text.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "DesignGraphics",
|
|
"PromptTemplate": "You are a Graphic Designer that generates an image based on a textual description. Your response will be a JSON string with a single field called \"imageUrl\". Example JSON response: {\"imageUrl\": \"https://dalle.com/the-image.png\"}. Textual description to generate an image for: {{$Content}}",
|
|
"Description": "Create an image to capture the essence of a given text.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to design graphics for.",
|
|
"Type": "String"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Image",
|
|
"Description": "The created image.",
|
|
"Type": "object"
|
|
},
|
|
"ExecutionSettings": {
|
|
"MaxTokens": null,
|
|
"Temperature": 1,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
],
|
|
"Plugins": [
|
|
"ImageGenerator"
|
|
]
|
|
},
|
|
{
|
|
"Name": "FactChecker",
|
|
"Description": "A skill to verify the accuracy of information.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "CheckFacts",
|
|
"PromptTemplate": "You are a Fact-Checker. Please verify the accuracy of the information presented in the following text, including facts, explanations, and references. Your response will be in the following JSON format: { \"incorrectFacts\": [{ \"incorrectStatement\": \"The statement found to be incorrect.\", \"correctStatement\": \"The corrected statement\", \"explanation\": \"An explanation about why the statement was incorrect and why the correct statement is correct, phrased in a way that is appropriate based on the context of the statement.\", \"references\": [\"An array of strings where each string is a reference to more information, usually a URL, but could be anything, like names of articles, white papers, publications, etc.\"] }] }. Text to fact-check: {{$Content}}",
|
|
"Description": "Verify the accuracy of information, including facts, statistics, and references.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Content",
|
|
"Description": "The content to check facts for.",
|
|
"Type": "String"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "FactCheckResult",
|
|
"Description": "The results of the fact-checking.",
|
|
"Type": "Elsa.Samples.AspNet.OrchardCoreIntegration.FactCheckResult, Elsa.Samples.AspNet.OrchardCoreIntegration"
|
|
},
|
|
"ExecutionSettings": {
|
|
"MaxTokens": null,
|
|
"Temperature": 0.2,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Name": "ArticleWriter",
|
|
"Description": "A skill to write articles on any topic.",
|
|
"Functions": [
|
|
{
|
|
"FunctionName": "WriteArticle",
|
|
"PromptTemplate": "You are a writer of articles about any topic and any additional instructions given to you. The syntax of the article content will be markdown, and your response will be in JSON format containing a \"title\" field and a \"markdown\" field using the following JSON structure: { \"title\": \"The title of the Article\", \"markdown\": \"The article content in markdown syntax.\" }. This is the topic: {{$Topic}}. The article consists of around {{$ParagraphCount}} paragraphs. The article must be written in the language {{$Language}} using the following style: {{$WritingStyle}}. Additional instructions (if any): {{$AdditionalInstructions}}.",
|
|
"Description": "Write an article about the specified topic.",
|
|
"InputVariables": [
|
|
{
|
|
"Name": "Topic",
|
|
"Description": "The topic to write an article about.",
|
|
"Type": "string"
|
|
},
|
|
{
|
|
"Name": "ParagraphCount",
|
|
"Description": "The number of paragraphs to write.",
|
|
"Type": "int"
|
|
},
|
|
{
|
|
"Name": "Language",
|
|
"Description": "The language to write the text in.",
|
|
"Type": "string"
|
|
},
|
|
{
|
|
"Name": "WritingStyle",
|
|
"Description": "The style to write the text in.",
|
|
"Type": "string"
|
|
},
|
|
{
|
|
"Name": "AdditionalInstructions",
|
|
"Description": "Any additional instructions.",
|
|
"Type": "string"
|
|
}
|
|
],
|
|
"OutputVariable": {
|
|
"Name": "Article",
|
|
"Description": "The article consisting of a title and markdown text."
|
|
},
|
|
"ExecutionSettings": {
|
|
"MaxTokens": null,
|
|
"Temperature": 0.5,
|
|
"TopP": 0.9,
|
|
"PresencePenalty": 0.0,
|
|
"FrequencyPenalty": 0.0,
|
|
"ResponseFormat": "json_object"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Agents": [
|
|
{
|
|
"Name": "ContentManager",
|
|
"ServiceProfiles": [
|
|
"Gpt4o"
|
|
],
|
|
"Skills": [
|
|
"Proofreader",
|
|
"Tagger",
|
|
"SeoSpecialist",
|
|
"Summarizer",
|
|
"TitleEditor",
|
|
"GraphicDesigner",
|
|
"FactChecker"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Artist",
|
|
"ServiceProfiles": [
|
|
"Gpt4o"
|
|
],
|
|
"Skills": [
|
|
"GraphicDesigner"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Translator",
|
|
"ServiceProfiles": [
|
|
"Gpt4o"
|
|
],
|
|
"Skills": [
|
|
"Translator"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Author",
|
|
"ServiceProfiles": [
|
|
"Gpt4o"
|
|
],
|
|
"Skills": [
|
|
"ArticleWriter"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|