🎨 AI supports configuration randomness and context number https://github.com/siyuan-note/siyuan/issues/10660

This commit is contained in:
Daniel 2024-03-20 11:45:22 +08:00
parent 41b4984de3
commit 5300638622
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
11 changed files with 55 additions and 10 deletions

View file

@ -35,6 +35,7 @@ type OpenAI struct {
APIModel string `json:"apiModel"`
APIMaxTokens int `json:"apiMaxTokens"`
APITemperature float64 `json:"apiTemperature"`
APIMaxContexts int `json:"apiMaxContexts"`
APIBaseURL string `json:"apiBaseURL"`
APIUserAgent string `json:"apiUserAgent"`
APIProvider string `json:"apiProvider"` // OpenAI, Azure
@ -43,11 +44,13 @@ type OpenAI struct {
func NewAI() *AI {
openAI := &OpenAI{
APITimeout: 30,
APIModel: openai.GPT3Dot5Turbo,
APIBaseURL: "https://api.openai.com/v1",
APIUserAgent: util.UserAgent,
APIProvider: "OpenAI",
APITemperature: 1.0,
APIMaxContexts: 7,
APITimeout: 30,
APIModel: openai.GPT3Dot5Turbo,
APIBaseURL: "https://api.openai.com/v1",
APIUserAgent: util.UserAgent,
APIProvider: "OpenAI",
}
openAI.APIKey = os.Getenv("SIYUAN_OPENAI_API_KEY")
@ -77,6 +80,13 @@ func NewAI() *AI {
}
}
if maxContexts := os.Getenv("SIYUAN_OPENAI_API_MAX_CONTEXTS"); "" != maxContexts {
maxContextsInt, err := strconv.Atoi(maxContexts)
if nil == err {
openAI.APIMaxContexts = maxContextsInt
}
}
if baseURL := os.Getenv("SIYUAN_OPENAI_API_BASE_URL"); "" != baseURL {
openAI.APIBaseURL = baseURL
}