Commit a90ce8d
.elelem/plugins/vertex.rb
@@ -1,9 +1,13 @@
# frozen_string_literal: true
Elelem::Providers.register(:vertex) do
- Elelem::Net::Claude.vertex(
- model: ENV.fetch("VERTEX_MODEL", "claude-opus-4-5@20251101"),
- project: ENV.fetch("GOOGLE_CLOUD_PROJECT"),
- region: ENV.fetch("GOOGLE_CLOUD_REGION", "us-east5")
+ model = ENV.fetch("VERTEX_MODEL", "claude-opus-4-5@20251101")
+ project = ENV.fetch("GOOGLE_CLOUD_PROJECT")
+ region = ENV.fetch("GOOGLE_CLOUD_REGION", "us-east5")
+ Elelem::Net::Claude.new(
+ endpoint: "https://#{region}-aiplatform.googleapis.com/v1/projects/#{project}/locations/#{region}/publishers/anthropic/models/#{model}:rawPredict",
+ headers: -> { { "Authorization" => "Bearer #{`gcloud auth application-default print-access-token`.strip}" } },
+ model: model,
+ version: "vertex-2023-10-16",
)
end
lib/elelem/net/claude.rb
@@ -3,16 +3,6 @@
module Elelem
module Net
class Claude
- def self.vertex(model:, project:, region: "us-east5", http: Elelem::Net.http)
- new(
- endpoint: "https://#{region}-aiplatform.googleapis.com/v1/projects/#{project}/locations/#{region}/publishers/anthropic/models/#{model}:rawPredict",
- headers: -> { { "Authorization" => "Bearer #{`gcloud auth application-default print-access-token`.strip}" } },
- model:,
- version: "vertex-2023-10-16",
- http:
- )
- end
-
def initialize(endpoint:, headers:, model:, version: nil, http: Elelem::Net.http)
@endpoint = endpoint
@headers_source = headers