mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-10 23:08:06 -05:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8de6ec27b8 | ||
|
|
2b8b626f69 | ||
|
|
d81fdb0f9c | ||
|
|
38406ee586 | ||
|
|
f2fdd6e6d3 | ||
|
|
ee3668006d | ||
|
|
8b5be309fe |
@@ -217,6 +217,7 @@ Application Options:
|
||||
-v, --variable= Values for pattern variables, e.g. -v=#role:expert -v=#points:30"
|
||||
-C, --context= Choose a context from the available contexts
|
||||
--session= Choose a session from the available sessions
|
||||
-a, --attachment= Attachment path or URL (e.g. for OpenAI image recognition messages)
|
||||
-S, --setup Run setup for all reconfigurable parts of fabric
|
||||
-t, --temperature= Set temperature (default: 0.7)
|
||||
-T, --topp= Set top P (default: 0.9)
|
||||
|
||||
20
cli/cli.go
20
cli/cli.go
@@ -134,6 +134,8 @@ func Cli(version string) (err error) {
|
||||
|
||||
// if none of the above currentFlags are set, run the initiate chat function
|
||||
|
||||
var messageTools string
|
||||
|
||||
if currentFlags.YouTube != "" {
|
||||
if registry.YouTube.IsConfigured() == false {
|
||||
err = fmt.Errorf("YouTube is not configured, please run the setup procedure")
|
||||
@@ -158,8 +160,7 @@ func Cli(version string) (err error) {
|
||||
if transcript, err = registry.YouTube.GrabTranscript(videoId, language); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
currentFlags.AppendMessage(transcript)
|
||||
messageTools = AppendMessage(messageTools, transcript)
|
||||
}
|
||||
|
||||
if currentFlags.YouTubeComments {
|
||||
@@ -170,12 +171,12 @@ func Cli(version string) (err error) {
|
||||
|
||||
commentsString := strings.Join(comments, "\n")
|
||||
|
||||
currentFlags.AppendMessage(commentsString)
|
||||
messageTools = AppendMessage(messageTools, commentsString)
|
||||
}
|
||||
|
||||
if !currentFlags.IsChatRequest() {
|
||||
// if the pattern flag is not set, we wanted only to grab the transcript or comments
|
||||
fmt.Println(currentFlags.Message)
|
||||
fmt.Println(messageTools)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -187,8 +188,7 @@ func Cli(version string) (err error) {
|
||||
if website, err = registry.Jina.ScrapeURL(currentFlags.ScrapeURL); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
currentFlags.AppendMessage(website)
|
||||
messageTools = AppendMessage(messageTools, website)
|
||||
}
|
||||
|
||||
// Check if the scrape_question flag is set and call ScrapeQuestion
|
||||
@@ -198,16 +198,20 @@ func Cli(version string) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
currentFlags.AppendMessage(website)
|
||||
messageTools = AppendMessage(messageTools, website)
|
||||
}
|
||||
|
||||
if !currentFlags.IsChatRequest() {
|
||||
// if the pattern flag is not set, we wanted only to grab the url or get the answer to the question
|
||||
fmt.Println(currentFlags.Message)
|
||||
fmt.Println(messageTools)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if messageTools != "" {
|
||||
currentFlags.AppendMessage(messageTools)
|
||||
}
|
||||
|
||||
var chatter *core.Chatter
|
||||
if chatter, err = registry.GetChatter(currentFlags.Model, currentFlags.Stream, currentFlags.DryRun); err != nil {
|
||||
return
|
||||
|
||||
19
cli/flags.go
19
cli/flags.go
@@ -20,7 +20,7 @@ type Flags struct {
|
||||
PatternVariables map[string]string `short:"v" long:"variable" description:"Values for pattern variables, e.g. -v=#role:expert -v=#points:30"`
|
||||
Context string `short:"C" long:"context" description:"Choose a context from the available contexts" default:""`
|
||||
Session string `long:"session" description:"Choose a session from the available sessions"`
|
||||
Attachments []string `short:"a" long:"attachment" description:"Attachment path or URL"`
|
||||
Attachments []string `short:"a" long:"attachment" description:"Attachment path or URL (e.g. for OpenAI image recognition messages)"`
|
||||
Setup bool `short:"S" long:"setup" description:"Run setup for all reconfigurable parts of fabric"`
|
||||
Temperature float64 `short:"t" long:"temperature" description:"Set temperature" default:"0.7"`
|
||||
TopP float64 `short:"T" long:"topp" description:"Set top P" default:"0.9"`
|
||||
@@ -182,15 +182,20 @@ func (o *Flags) BuildChatRequest(Meta string) (ret *common.ChatRequest, err erro
|
||||
}
|
||||
|
||||
func (o *Flags) AppendMessage(message string) {
|
||||
if o.Message != "" {
|
||||
o.Message = o.Message + "\n" + message
|
||||
} else {
|
||||
o.Message = message
|
||||
}
|
||||
o.Message = AppendMessage(o.Message, message)
|
||||
return
|
||||
}
|
||||
|
||||
func (o *Flags) IsChatRequest() (ret bool) {
|
||||
ret = o.Message != "" || o.Context != "" || o.Session != "" || o.Pattern != "" || len(o.Attachments) > 0
|
||||
ret = o.Message != "" || len(o.Attachments) > 0 || o.Context != "" || o.Session != "" || o.Pattern != ""
|
||||
return
|
||||
}
|
||||
|
||||
func AppendMessage(message string, newMessage string) (ret string) {
|
||||
if message != "" {
|
||||
ret = message + "\n" + newMessage
|
||||
} else {
|
||||
ret = newMessage
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
56
patterns/md_callout/system.md
Normal file
56
patterns/md_callout/system.md
Normal file
@@ -0,0 +1,56 @@
|
||||
IDENTITY and GOAL:
|
||||
|
||||
You are an ultra-wise and brilliant classifier and judge of content. You create a markdown callout based on the provided text.
|
||||
|
||||
Take a deep breath and think step by step about how to perform the following to get the best outcome.
|
||||
|
||||
STEPS:
|
||||
|
||||
1. You determine which callout type is going to best identify the content you are working with.
|
||||
|
||||
CALLOUT OPTIONS TO SELECT FROM (Select one that applies best):
|
||||
|
||||
> [!NOTE]
|
||||
> This is a note callout for general information.
|
||||
|
||||
> [!TIP]
|
||||
> Here's a helpful tip for users.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> This information is crucial for success.
|
||||
|
||||
> [!WARNING]
|
||||
> Be cautious! This action has potential risks.
|
||||
|
||||
> [!CAUTION]
|
||||
> This action may have negative consequences.
|
||||
|
||||
END OF CALLOUT OPTIONS
|
||||
|
||||
2. Take the text I gave you and place it in the appropriate callout format.
|
||||
|
||||
OUTPUT:
|
||||
|
||||
The output should look like the following:
|
||||
|
||||
```md
|
||||
> [!CHOSEN CALLOUT]
|
||||
> The text I gave you goes here.
|
||||
```
|
||||
|
||||
OUTPUT FORMAT:
|
||||
|
||||
```md
|
||||
> [!CHOSEN CALLOUT]
|
||||
> The text I gave you goes here.
|
||||
```
|
||||
|
||||
OUTPUT INSTRUCTIONS
|
||||
|
||||
- ONLY generate the chosen callout
|
||||
|
||||
- ONLY OUTPUT THE MARKDOWN CALLOUT ABOVE.
|
||||
|
||||
- Do not output the ```md container. Just the marodkwn itself.
|
||||
|
||||
INPUT:
|
||||
@@ -1,3 +1,3 @@
|
||||
package main
|
||||
|
||||
var version = "v1.4.79"
|
||||
var version = "v1.4.82"
|
||||
|
||||
Reference in New Issue
Block a user