-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
Hi,
I tried to get this working myself by pulling the weaviate-ruby repo and langchainrb, but could not get it to work.
I couldn't get bundler to use the local Gem versions for some reason, I think due to Homebrew overriding the path, or something.
So thought I'd ask for a feature request, rather than bang my head against gem dependencies, as I was getting no where fast.
Here's my Git Diff:
% git diff
diff --git a/lib/weaviate/client.rb b/lib/weaviate/client.rb
index d957ac7..c57b9ed 100644
--- a/lib/weaviate/client.rb
+++ b/lib/weaviate/client.rb
@@ -5,7 +5,7 @@ require "graphlient"
module Weaviate
class Client
- attr_reader :url, :api_key, :model_service, :model_service_api_key, :adapter
+ attr_reader :url, :api_key, :model_service, :model_service_api_key, :adapter, :proxy
API_VERSION = "v1"
@@ -23,7 +23,8 @@ module Weaviate
api_key: nil,
model_service: nil,
model_service_api_key: nil,
- adapter: Faraday.default_adapter
+ adapter: Faraday.default_adapter,
+ proxy: nil
)
validate_model_service!(model_service) unless model_service.nil?
@@ -32,6 +33,7 @@ module Weaviate
@model_service = model_service
@model_service_api_key = model_service_api_key
@adapter = adapter
+ @proxy = proxy
end
def oidc
@@ -100,7 +102,7 @@ module Weaviate
end
def connection
- @connection ||= Faraday.new(url: "#{url}/#{API_VERSION}/") do |faraday|
+ @connection ||= Faraday.new(url: "#{url}/#{API_VERSION}/", proxy: proxy) do |faraday|
if api_key
faraday.request :authorization, :Bearer, api_key
end
A proxy feature would be super useful in debugging connection issues.
Perhaps a better way to do this, to ensure other connection options are also supported, would be to allow a hash of connection options passed to the Client, as seen in this example I found online:
conn_options = { ssl: {verify: false} }
conn_options[:proxy] = "http://localhost"
conn = Faraday.new(url, conn_options) do |conn|
# middleware ...
conn.adapter :em_http
end
Thanks,
Ryan
Metadata
Metadata
Assignees
Labels
No labels