send instructions in user prompt

This commit is contained in:
2026-02-01 18:42:46 +03:00
parent 21c46ff2c1
commit 6332aa3c19

13
main.go
View File

@@ -31,13 +31,15 @@ func (p *OpenAIPrompter) Prompt(ctx context.Context, req PromptRequest) (*Highly
instructions := p.cfg.SystemPrompt instructions := p.cfg.SystemPrompt
if req.OriginalPostContent != nil { if req.OriginalPostContent != nil {
instructions += fmt.Sprintf("\nThis is the channel post that user is mentioning: %s", *req.OriginalPostContent) instructions += fmt.Sprintf("\nThis is the channel post that user is mentioning: %s", *req.OriginalPostContent)
p.log.Info("composed instructions with post", "instructions", instructions)
} }
prompt := fmt.Sprintf("<system>%v</system> user %v asks: %v", instructions, req.Username, req.Question)
p.log.Info("resulting prompt", "prompt", prompt)
resp, err := p.cli.Responses.New(ctx, responses.ResponseNewParams{ resp, err := p.cli.Responses.New(ctx, responses.ResponseNewParams{
Instructions: openai.String(p.cfg.SystemPrompt), Instructions: openai.String(p.cfg.SystemPrompt),
Input: responses.ResponseNewParamsInputUnion{ Input: responses.ResponseNewParamsInputUnion{
OfString: openai.String(req.Question), OfString: openai.String(prompt),
}, },
Reasoning: shared.ReasoningParam{ Reasoning: shared.ReasoningParam{
Effort: shared.ReasoningEffortXhigh, Effort: shared.ReasoningEffortXhigh,
@@ -67,6 +69,7 @@ type HighlyTrustedResponse struct {
} }
type PromptRequest struct { type PromptRequest struct {
Username string
Question string Question string
OriginalPostContent *string OriginalPostContent *string
} }
@@ -115,9 +118,15 @@ func (a *App) handleMessage(ctx context.Context, msg *tgbotapi.Message) error {
ogPostContent = &msg.ReplyToMessage.Text ogPostContent = &msg.ReplyToMessage.Text
} }
var username string
if msg.From != nil {
username = msg.From.UserName
}
response, err := a.proompter.Prompt(ctx, PromptRequest{ response, err := a.proompter.Prompt(ctx, PromptRequest{
Question: question, Question: question,
OriginalPostContent: ogPostContent, OriginalPostContent: ogPostContent,
Username: username,
}) })
if err != nil { if err != nil {
return fmt.Errorf("prompting: %w", err) return fmt.Errorf("prompting: %w", err)