Class: SmartBrain::ModelProvider::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/smart_brain/model_provider/base.rb

Direct Known Subclasses

Ollama, OpenAI, Stub

Instance Method Summary collapse

Instance Method Details

#complete(prompt:, system: nil, temperature: nil, max_tokens: nil) ⇒ Object

=> { text: String, error?: String }

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/smart_brain/model_provider/base.rb', line 21

def complete(prompt:, system: nil, temperature: nil, max_tokens: nil)
  raise NotImplementedError
end

#enabled?Boolean

provider 可用(Stub 永远可用,只是非 LLM)。

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/smart_brain/model_provider/base.rb', line 16

def enabled?
  raise NotImplementedError
end

#llm?Boolean

真实 LLM 能力(决定 summary 是否走真摘要、merger 是否走 LLM rerank)。

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/smart_brain/model_provider/base.rb', line 11

def llm?
  raise NotImplementedError
end

#rerank(query:, documents:) ⇒ Object

=> [{ index: Integer, score: Float }] 与 documents 等长、按相关性降序

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/smart_brain/model_provider/base.rb', line 26

def rerank(query:, documents:)
  raise NotImplementedError
end