mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-09 22:38:10 -05:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43ca0dccf7 | ||
|
|
fcfcf55610 | ||
|
|
188235efc5 | ||
|
|
fdd1d614b2 | ||
|
|
fc67dea243 | ||
|
|
efd363d5fb | ||
|
|
a7d6de1661 | ||
|
|
c0ade48648 | ||
|
|
7fd4fa4742 |
@@ -31,6 +31,15 @@ func (o *Chatter) Send(request *common.ChatRequest, opts *common.ChatOptions) (s
|
||||
return
|
||||
}
|
||||
|
||||
vendorMessages := session.GetVendorMessages()
|
||||
if len(vendorMessages) == 0 {
|
||||
if session.Name != "" {
|
||||
err = o.db.Sessions.SaveSession(session)
|
||||
}
|
||||
err = fmt.Errorf("no messages provided")
|
||||
return
|
||||
}
|
||||
|
||||
if opts.Model == "" {
|
||||
opts.Model = o.model
|
||||
}
|
||||
@@ -101,24 +110,28 @@ func (o *Chatter) BuildSession(request *common.ChatRequest, raw bool) (session *
|
||||
contextContent = ctx.Content
|
||||
}
|
||||
|
||||
var messageContent string
|
||||
// Process any template variables in the message content (user input)
|
||||
// Double curly braces {{variable}} indicate template substitution
|
||||
// should occur, whether in patterns or direct input
|
||||
if request.Message != nil {
|
||||
if request.Message.Content, err =
|
||||
template.ApplyTemplate(request.Message.Content, request.PatternVariables, ""); err != nil {
|
||||
return
|
||||
// Ensure we have a message before processing, other wise we'll get an error when we pass to pattern.go
|
||||
if request.Message == nil {
|
||||
request.Message = &goopenai.ChatCompletionMessage{
|
||||
Role: goopenai.ChatMessageRoleUser,
|
||||
Content: " ",
|
||||
}
|
||||
messageContent = request.Message.Content
|
||||
}
|
||||
|
||||
// Now we know request.Message is not nil, process template variables
|
||||
request.Message.Content, err = template.ApplyTemplate(request.Message.Content, request.PatternVariables, "")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var patternContent string
|
||||
if request.PatternName != "" {
|
||||
var pattern *fsdb.Pattern
|
||||
if pattern, err = o.db.Patterns.GetApplyVariables(
|
||||
request.PatternName, request.PatternVariables, messageContent); err != nil {
|
||||
pattern, err := o.db.Patterns.GetApplyVariables(request.PatternName, request.PatternVariables, request.Message.Content)
|
||||
// pattrn will now contain user input, and all variables will be resolved, or errored
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not get pattern %s: %v", request.PatternName, err)
|
||||
}
|
||||
patternContent = pattern.Pattern
|
||||
|
||||
20
patterns/create_newsletter_entry/system.md
Normal file
20
patterns/create_newsletter_entry/system.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Identity and Purpose
|
||||
You are a custom GPT designed to create newsletter sections in the style of Frontend Weekly.
|
||||
|
||||
# Step-by-Step Process:
|
||||
1. The user will provide article text.
|
||||
2. Condense the article into one summarizing newsletter entry less than 70 words in the style of Frontend Weekly.
|
||||
3. Generate a concise title for the entry, focus on the main idea or most important fact of the article
|
||||
|
||||
# Tone and Style Guidelines:
|
||||
* Third-Party Narration: The newsletter should sound like it’s being narrated by an outside observer, someone who is both knowledgeable, unbiased and calm. Focus on the facts or main opinions in the original article. Creates a sense of objectivity and adds a layer of professionalism.
|
||||
|
||||
* Concise: Maintain brevity and clarity. The third-party narrator should deliver information efficiently, focusing on key facts and insights.
|
||||
|
||||
# Output Instructions:
|
||||
Your final output should be a polished, newsletter-ready paragraph with a title line in bold followed by the summary paragraph.
|
||||
|
||||
# INPUT:
|
||||
|
||||
INPUT:
|
||||
|
||||
0
patterns/create_newsletter_entry/user.md
Normal file
0
patterns/create_newsletter_entry/user.md
Normal file
@@ -1 +1 @@
|
||||
"1.4.116"
|
||||
"1.4.118"
|
||||
|
||||
@@ -58,8 +58,7 @@ func (o *Session) Append(messages ...*goopenai.ChatCompletionMessage) {
|
||||
}
|
||||
|
||||
func (o *Session) GetVendorMessages() (ret []*goopenai.ChatCompletionMessage) {
|
||||
if o.vendorMessages == nil {
|
||||
o.vendorMessages = []*goopenai.ChatCompletionMessage{}
|
||||
if len(o.vendorMessages) == 0 {
|
||||
for _, message := range o.Messages {
|
||||
o.appendVendorMessage(message)
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
package main
|
||||
|
||||
var version = "v1.4.116"
|
||||
var version = "v1.4.118"
|
||||
|
||||
Reference in New Issue
Block a user