langchainrb 0.13.0 → 0.13.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/langchain/evals/ragas/faithfulness.rb +2 -0
- data/lib/langchain/llm/google_vertex_ai.rb +21 -10
- data/lib/langchain/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 31daa3b09f92561f783122c10c1b48482bba75eac67e01550c71f7d76af36551
|
4
|
+
data.tar.gz: 355e21f33fbc3d21ac364ce046b0d2908ef111d2aa17996605df953ca25d0640
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2bbf794a223f9b0da303f9b65a1a309213db00d45227ce6e9d5a9bc039d1150e06b786ff9730c1e4f2f2fd6d6566687d4a04d3c39f5dcd8d9e66c8e84e097ba
|
7
|
+
data.tar.gz: b406738ff1be88c7c545ec284d3050a3b5c0bb34a747f345ff18cbaeb63a3abf9763ec723913bd58ddd62be261c6abd88a87448fd2b9d3bde00eb53d795931e2
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.13.1] - 2024-05-14
|
4
|
+
- Better error handling for `Langchain::LLM::GoogleVertexAI`
|
5
|
+
|
3
6
|
## [0.13.0] - 2024-05-14
|
4
7
|
- New 🛠️ `Langchain::Tool::NewsRetriever` tool to fetch news via newsapi.org
|
5
8
|
- Langchain::Assistant works with `Langchain::LLM::GoogleVertexAI` and `Langchain::LLM::GoogleGemini` llms
|
@@ -42,6 +42,8 @@ module Langchain
|
|
42
42
|
|
43
43
|
def count_verified_statements(verifications)
|
44
44
|
match = verifications.match(/Final verdict for each statement in order:\s*(.*)/)
|
45
|
+
return 0.0 unless match # no verified statements found
|
46
|
+
|
45
47
|
verdicts = match.captures.first
|
46
48
|
verdicts
|
47
49
|
.split(".")
|
@@ -58,16 +58,20 @@ module Langchain::LLM
|
|
58
58
|
)
|
59
59
|
params = {instances: [{content: text}]}
|
60
60
|
|
61
|
-
|
62
|
-
"#{url}#{model}:predict",
|
63
|
-
body: params.to_json,
|
64
|
-
headers: {
|
65
|
-
"Content-Type" => "application/json",
|
66
|
-
"Authorization" => "Bearer #{@authorizer.fetch_access_token!["access_token"]}"
|
67
|
-
}
|
68
|
-
)
|
61
|
+
uri = URI("#{url}#{model}:predict")
|
69
62
|
|
70
|
-
|
63
|
+
request = Net::HTTP::Post.new(uri)
|
64
|
+
request.content_type = "application/json"
|
65
|
+
request["Authorization"] = "Bearer #{@authorizer.fetch_access_token!["access_token"]}"
|
66
|
+
request.body = params.to_json
|
67
|
+
|
68
|
+
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
|
69
|
+
http.request(request)
|
70
|
+
end
|
71
|
+
|
72
|
+
parsed_response = JSON.parse(response.body)
|
73
|
+
|
74
|
+
Langchain::LLM::GoogleGeminiResponse.new(parsed_response, model: model)
|
71
75
|
end
|
72
76
|
|
73
77
|
# Generate a chat completion for given messages
|
@@ -81,6 +85,7 @@ module Langchain::LLM
|
|
81
85
|
def chat(params = {})
|
82
86
|
params[:system] = {parts: [{text: params[:system]}]} if params[:system]
|
83
87
|
params[:tools] = {function_declarations: params[:tools]} if params[:tools]
|
88
|
+
# This throws an error when tool_choice is passed
|
84
89
|
params[:tool_choice] = {function_calling_config: {mode: params[:tool_choice].upcase}} if params[:tool_choice]
|
85
90
|
|
86
91
|
raise ArgumentError.new("messages argument is required") if Array(params[:messages]).empty?
|
@@ -101,7 +106,13 @@ module Langchain::LLM
|
|
101
106
|
|
102
107
|
parsed_response = JSON.parse(response.body)
|
103
108
|
|
104
|
-
Langchain::LLM::GoogleGeminiResponse.new(parsed_response, model: parameters[:model])
|
109
|
+
wrapped_response = Langchain::LLM::GoogleGeminiResponse.new(parsed_response, model: parameters[:model])
|
110
|
+
|
111
|
+
if wrapped_response.chat_completion || Array(wrapped_response.tool_calls).any?
|
112
|
+
wrapped_response
|
113
|
+
else
|
114
|
+
raise StandardError.new(response)
|
115
|
+
end
|
105
116
|
end
|
106
117
|
end
|
107
118
|
end
|
data/lib/langchain/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: langchainrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrei Bondarev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|