aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/analyzer/openai/options.go
diff options
context:
space:
mode:
authorGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-11 13:15:50 -0700
committerGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-11 13:15:50 -0700
commit6a3c21fb0b1c126849f2bbff494403bbe901448e (patch)
tree5d7805524357c2c8a9819c39d2051a4e3633a1d5 /backend/internal/analyzer/openai/options.go
parent29c6040a51616e9e4cf6c70ee16391b2a3b238c9 (diff)
parentf34b92ded11b07f78575ac62c260a380c468e5ea (diff)
downloadibd-trader-6a3c21fb0b1c126849f2bbff494403bbe901448e.tar.gz
ibd-trader-6a3c21fb0b1c126849f2bbff494403bbe901448e.tar.zst
ibd-trader-6a3c21fb0b1c126849f2bbff494403bbe901448e.zip
Merge remote-tracking branch 'backend/main'
Diffstat (limited to 'backend/internal/analyzer/openai/options.go')
-rw-r--r--backend/internal/analyzer/openai/options.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/backend/internal/analyzer/openai/options.go b/backend/internal/analyzer/openai/options.go
new file mode 100644
index 0000000..11d691f
--- /dev/null
+++ b/backend/internal/analyzer/openai/options.go
@@ -0,0 +1,45 @@
+package openai
+
+import (
+ _ "embed"
+
+ "github.com/sashabaranov/go-openai"
+)
+
+//go:embed system.txt
+var defaultSystemMsg string
+
+const defaultModel = openai.GPT4o
+const defaultTemperature = 0.25
+
+type Option func(*Analyzer)
+
+func WithClientConfig(cfg openai.ClientConfig) Option {
+ return func(a *Analyzer) {
+ a.client = openai.NewClientWithConfig(cfg)
+ }
+}
+
+func WithDefaultConfig(apiKey string) Option {
+ return func(a *Analyzer) {
+ a.client = openai.NewClient(apiKey)
+ }
+}
+
+func WithModel(model string) Option {
+ return func(a *Analyzer) {
+ a.model = model
+ }
+}
+
+func WithSystemMsg(msg string) Option {
+ return func(a *Analyzer) {
+ a.systemMsg = msg
+ }
+}
+
+func WithTemperature(temp float32) Option {
+ return func(a *Analyzer) {
+ a.temperature = temp
+ }
+}