Commit f006dcc

mo khan <mo@mokhan.ca>
2026-09-07 23:31:19
port vertex.rb from the old .elelem plugin: register :vertex as a second Anthropic::Provider
1 parent 619cc74
Changed files (1)
lib
lib/elelem/anthropic.rb
@@ -17,4 +17,16 @@ Elelem.configure do |config|
       model: ENV.fetch("ANTHROPIC_MODEL", "claude-opus-4-5-20250514")
     )
   end
+
+  config.provider(:vertex) do
+    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::Anthropic::Provider.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
 end