fixes
This commit is contained in:
@@ -312,11 +312,13 @@ func (s *Service) ResolveAIConfig(ctx context.Context, role string) (ResolvedAIC
|
||||
Source: SourceDB,
|
||||
}
|
||||
if role == AIRoleProcessing {
|
||||
// Prefer legacy openai JSON fields before OPENAI_* env so a mock .env
|
||||
// cannot override a configured platform DB endpoint.
|
||||
if out.BaseURL == "" {
|
||||
out.BaseURL = strings.TrimSpace(s.Env.OpenAIBaseURL)
|
||||
out.BaseURL = firstNonEmpty(strings.TrimSpace(doc.OpenAI.BaseURL), strings.TrimSpace(s.Env.OpenAIBaseURL))
|
||||
}
|
||||
if out.Model == "" {
|
||||
out.Model = strings.TrimSpace(s.Env.OpenAIModel)
|
||||
out.Model = firstNonEmpty(strings.TrimSpace(doc.OpenAI.Model), strings.TrimSpace(s.Env.OpenAIModel))
|
||||
}
|
||||
}
|
||||
if role == AIRoleVectorization {
|
||||
@@ -330,20 +332,36 @@ func (s *Service) ResolveAIConfig(ctx context.Context, role string) (ResolvedAIC
|
||||
return out, nil
|
||||
}
|
||||
|
||||
if role == AIRoleProcessing && !hasRoleMeta {
|
||||
// processing: prefer legacy openai (DB) then env when the role slot has no key,
|
||||
// even if provider/model/base meta was partially written.
|
||||
if role == AIRoleProcessing {
|
||||
legacy, err := s.resolveLegacyOpenAI(doc)
|
||||
if err != nil {
|
||||
return ResolvedAIConfig{}, err
|
||||
}
|
||||
return ResolvedAIConfig{
|
||||
Role: role,
|
||||
Provider: defaultAIProvider,
|
||||
APIKey: legacy.APIKey,
|
||||
BaseURL: legacy.BaseURL,
|
||||
Model: legacy.Model,
|
||||
Enabled: legacy.APIKey != "",
|
||||
Source: legacy.Source,
|
||||
}, nil
|
||||
if strings.TrimSpace(legacy.APIKey) != "" {
|
||||
return ResolvedAIConfig{
|
||||
Role: role,
|
||||
Provider: firstNonEmpty(strings.TrimSpace(st.Provider), defaultAIProvider),
|
||||
APIKey: legacy.APIKey,
|
||||
BaseURL: firstNonEmpty(strings.TrimSpace(st.BaseURL), legacy.BaseURL),
|
||||
Model: firstNonEmpty(strings.TrimSpace(st.Model), legacy.Model),
|
||||
Enabled: true,
|
||||
Extras: copyStringMap(st.Extras),
|
||||
Source: legacy.Source,
|
||||
}, nil
|
||||
}
|
||||
if !hasRoleMeta {
|
||||
return ResolvedAIConfig{
|
||||
Role: role,
|
||||
Provider: defaultAIProvider,
|
||||
APIKey: legacy.APIKey,
|
||||
BaseURL: legacy.BaseURL,
|
||||
Model: legacy.Model,
|
||||
Enabled: legacy.APIKey != "",
|
||||
Source: legacy.Source,
|
||||
}, nil
|
||||
}
|
||||
}
|
||||
|
||||
if role == AIRoleVectorization && !hasRoleMeta {
|
||||
|
||||
Reference in New Issue
Block a user