Class: OpenaiChatgpt::Client
- Inherits:
-
Object
- Object
- OpenaiChatgpt::Client
- Defined in:
- lib/openai_chatgpt/client.rb
Overview
Client having API methods and api_key
Constant Summary collapse
- BASE_URL =
Base url for OpenAI ChatGPT API
"https://api.openai.com/v1/chat/completions"
Instance Attribute Summary collapse
-
#adapter ⇒ Object
readonly
Returns the value of attribute adapter.
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
Instance Method Summary collapse
-
#completions(messages:, model: "gpt-4", temperature: 1.0, top_p: 1.0, n: 1, stream: false, stop: nil, max_tokens: 2000, presence_penalty: 0, frequency_penalty: 0, logit_bias: {}, user: "") ⇒ Object
#### Description: completions method for OpenAI ChatGPT API #### Response: Response object with choices #### Error: OpenaiChatgpt::Error.
-
#initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil, request_timeout: 1200) ⇒ Client
constructor
#### Params: api_key: String - Required - API key for OpenAI ChatGPT API (platform.openai.com/account/api-keys) adapter: Symbol - Optional - Default: :net_http - Adapter for Faraday connection stubs: Faraday::Adapter::Test::Stubs - Optional - Default: nil - Stubs for Faraday connection request_timeout: Integer - Optional - Default: 1200 - Timeout for Faraday connection #### Example: client = OpenaiChatgpt::Client.new api_key: “test” #### Description: Client for OpenAI ChatGPT API.
Constructor Details
#initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil, request_timeout: 1200) ⇒ Client
#### Params: api_key: String - Required - API key for OpenAI ChatGPT API (platform.openai.com/account/api-keys) adapter: Symbol - Optional - Default: :net_http - Adapter for Faraday connection stubs: Faraday::Adapter::Test::Stubs - Optional - Default: nil - Stubs for Faraday connection request_timeout: Integer - Optional - Default: 1200 - Timeout for Faraday connection #### Example: client = OpenaiChatgpt::Client.new api_key: “test” #### Description: Client for OpenAI ChatGPT API
19 20 21 22 23 24 25 26 |
# File 'lib/openai_chatgpt/client.rb', line 19 def initialize(api_key:, adapter: Faraday.default_adapter, stubs: nil, request_timeout: 1200) @api_key = api_key @adapter = adapter @request_timeout = request_timeout # Test stubs for requests @stubs = stubs end |
Instance Attribute Details
#adapter ⇒ Object (readonly)
Returns the value of attribute adapter.
8 9 10 |
# File 'lib/openai_chatgpt/client.rb', line 8 def adapter @adapter end |
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/openai_chatgpt/client.rb', line 8 def api_key @api_key end |
Instance Method Details
#completions(messages:, model: "gpt-4", temperature: 1.0, top_p: 1.0, n: 1, stream: false, stop: nil, max_tokens: 2000, presence_penalty: 0, frequency_penalty: 0, logit_bias: {}, user: "") ⇒ Object
#### Description: completions method for OpenAI ChatGPT API #### Response: Response object with choices #### Error: OpenaiChatgpt::Error
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/openai_chatgpt/client.rb', line 54 def completions( # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists messages:, model: "gpt-4", temperature: 1.0, top_p: 1.0, n: 1, # rubocop:disable Naming/MethodParameterName stream: false, stop: nil, max_tokens: 2000, presence_penalty: 0, frequency_penalty: 0, logit_bias: {}, user: "" ) Response.new post("", { model: model, messages: , temperature: temperature, top_p: top_p, n: n, stream: stream, stop: stop, max_tokens: max_tokens, presence_penalty: presence_penalty, frequency_penalty: frequency_penalty, logit_bias: logit_bias, user: user }.to_json) end |