Class: Ace::LLM::Organisms::ZaiClient
- Inherits:
-
BaseClient
- Object
- BaseClient
- Ace::LLM::Organisms::ZaiClient
- Includes:
- Molecules::OpenAICompatibleParams
- Defined in:
- lib/ace/llm/organisms/zai_client.rb
Overview
ZaiClient handles interactions with Z.AI’s OpenAI-compatible API.
Constant Summary collapse
- API_BASE_URL =
"https://api.z.ai/api/paas/v4"- DEFAULT_MODEL =
"glm-4.7-flashx"- DEFAULT_GENERATION_CONFIG =
{ temperature: 0.7, max_tokens: 4096, top_p: nil, frequency_penalty: nil, presence_penalty: nil }.freeze
- GENERATION_KEYS =
%i[temperature max_tokens top_p frequency_penalty presence_penalty].freeze
Constants inherited from BaseClient
BaseClient::DEFAULT_SYSTEM_PROMPT_SEPARATOR
Instance Attribute Summary
Attributes inherited from BaseClient
#api_key, #base_url, #generation_config, #http_client, #model
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Molecules::OpenAICompatibleParams
#extract_openai_compatible_options
Methods inherited from BaseClient
#initialize, #needs_credentials?, #provider_name
Constructor Details
This class inherits a constructor from Ace::LLM::Organisms::BaseClient
Class Method Details
.provider_name ⇒ Object
24 25 26 |
# File 'lib/ace/llm/organisms/zai_client.rb', line 24 def self.provider_name "zai" end |
Instance Method Details
#generate(messages, **options) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ace/llm/organisms/zai_client.rb', line 28 def generate(, **) = () generation_params = () request_body = build_request_body(, generation_params) response = make_api_request(request_body) parse_response(response) rescue => e handle_api_error(e) end |