langchainrb 0.15.1 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +2 -2
- data/lib/langchain/assistants/assistant.rb +20 -1
- data/lib/langchain/llm/openai.rb +3 -0
- data/lib/langchain/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c8d4d8e7dd770a724268c97b24f40ba812c1ec2b60e37242ee97da9c83a6c7d
|
4
|
+
data.tar.gz: 8b98e726a7079ef750324052ad6681e81f92327ba74d82ea2445ee1212e048f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5189bbf3830a802aecf9ac67e4723b49bcbd68af5fbba6c107b656eb3658318f9a664a70344d77ae67972c1277bf19f606bf46c338d1d3f6ac4461c2f135d6b
|
7
|
+
data.tar.gz: b6afcec28e4228a402dfee5d8f0aefd17a2d6bcbbacece31a6781d4e4c39433d16699c92aad7147a38553a61f63154335f39cbe8240fd5b4b618f25e97d0fb5f
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.15.3] - 2024-08-27
|
4
|
+
- Fix OpenAI#embed when text-embedding-ada-002 is used
|
5
|
+
|
6
|
+
## [0.15.2] - 2024-08-23
|
7
|
+
- Add Assistant#add_messages() method and fix Assistant#messages= method
|
8
|
+
|
3
9
|
## [0.15.1] - 2024-08-19
|
4
10
|
- Drop `to_bool` gem in favour of custom util class
|
5
11
|
- Drop `colorize` which is GPL-licensed in favour of `rainbow`
|
data/README.md
CHANGED
@@ -64,7 +64,7 @@ Langchain.rb wraps supported LLMs in a unified interface allowing you to easily
|
|
64
64
|
| [Cohere](https://cohere.com/?utm_source=langchainrb&utm_medium=github) | ✅ | ✅ | ✅ | ✅ | |
|
65
65
|
| [GooglePalm](https://ai.google/discover/palm2?utm_source=langchainrb&utm_medium=github) | ✅ | ✅ | ✅ | ✅ | |
|
66
66
|
| [GoogleVertexAI](https://cloud.google.com/vertex-ai?utm_source=langchainrb&utm_medium=github) | ✅ | ❌ | ✅ | ❌ | Requires Google Cloud service auth |
|
67
|
-
| [GoogleGemini](https://cloud.google.com/vertex-ai?utm_source=langchainrb&utm_medium=github) | ✅ | ❌ | ✅ | ❌ | Requires Gemini API Key (
|
67
|
+
| [GoogleGemini](https://cloud.google.com/vertex-ai?utm_source=langchainrb&utm_medium=github) | ✅ | ❌ | ✅ | ❌ | Requires Gemini API Key ([get key](https://ai.google.dev/gemini-api/docs/api-key)) |
|
68
68
|
| [HuggingFace](https://huggingface.co/?utm_source=langchainrb&utm_medium=github) | ✅ | ❌ | ❌ | ❌ | |
|
69
69
|
| [MistralAI](https://mistral.ai/?utm_source=langchainrb&utm_medium=github) | ✅ | ❌ | ✅ | ❌ | |
|
70
70
|
| [Ollama](https://ollama.ai/?utm_source=langchainrb&utm_medium=github) | ✅ | ✅ | ✅ | ✅ | |
|
@@ -415,7 +415,7 @@ Assistants are Agent-like objects that leverage helpful instructions, LLMs, tool
|
|
415
415
|
| "google_search" | A wrapper around Google Search | `ENV["SERPAPI_API_KEY"]` (https://serpapi.com/manage-api-key) | `gem "google_search_results", "~> 2.0.0"` |
|
416
416
|
| "news_retriever" | A wrapper around NewsApi.org | `ENV["NEWS_API_KEY"]` (https://newsapi.org/) | |
|
417
417
|
| "tavily" | A wrapper around Tavily AI | `ENV["TAVILY_API_KEY"]` (https://tavily.com/) | |
|
418
|
-
| "weather" | Calls Open Weather API to retrieve the current weather | `ENV["OPEN_WEATHER_API_KEY"]` (https://home.openweathermap.org/api_keys) |
|
418
|
+
| "weather" | Calls Open Weather API to retrieve the current weather | `ENV["OPEN_WEATHER_API_KEY"]` (https://home.openweathermap.org/api_keys) | |
|
419
419
|
| "wikipedia" | Calls Wikipedia API to retrieve the summary | | `gem "wikipedia-client", "~> 1.17.0"` |
|
420
420
|
|
421
421
|
### Demos
|
@@ -13,7 +13,7 @@ module Langchain
|
|
13
13
|
# )
|
14
14
|
class Assistant
|
15
15
|
extend Forwardable
|
16
|
-
def_delegators :thread, :messages
|
16
|
+
def_delegators :thread, :messages
|
17
17
|
|
18
18
|
attr_reader :llm, :thread, :instructions, :state
|
19
19
|
attr_reader :total_prompt_tokens, :total_completion_tokens, :total_tokens
|
@@ -69,6 +69,25 @@ module Langchain
|
|
69
69
|
messages
|
70
70
|
end
|
71
71
|
|
72
|
+
# Set multiple messages to the thread
|
73
|
+
#
|
74
|
+
# @param messages [Array<Hash>] The messages to set
|
75
|
+
# @return [Array<Langchain::Message>] The messages in the thread
|
76
|
+
def messages=(messages)
|
77
|
+
clear_thread!
|
78
|
+
add_messages(messages: messages)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Add multiple messages to the thread
|
82
|
+
#
|
83
|
+
# @param messages [Array<Hash>] The messages to add
|
84
|
+
# @return [Array<Langchain::Message>] The messages in the thread
|
85
|
+
def add_messages(messages:)
|
86
|
+
messages.each do |message_hash|
|
87
|
+
add_message(**message_hash.slice(:content, :role, :tool_calls, :tool_call_id))
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
72
91
|
# Run the assistant
|
73
92
|
#
|
74
93
|
# @param auto_tool_execution [Boolean] Whether or not to automatically run tools
|
data/lib/langchain/llm/openai.rb
CHANGED
@@ -80,6 +80,9 @@ module Langchain::LLM
|
|
80
80
|
parameters[:dimensions] = EMBEDDING_SIZES[model]
|
81
81
|
end
|
82
82
|
|
83
|
+
# dimensions parameter not supported by text-embedding-ada-002 model
|
84
|
+
parameters.delete(:dimensions) if model == "text-embedding-ada-002"
|
85
|
+
|
83
86
|
response = with_api_error_handling do
|
84
87
|
client.embeddings(parameters: parameters)
|
85
88
|
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.15.
|
4
|
+
version: 0.15.3
|
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-08-
|
11
|
+
date: 2024-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: baran
|
@@ -576,14 +576,14 @@ dependencies:
|
|
576
576
|
requirements:
|
577
577
|
- - "~>"
|
578
578
|
- !ruby/object:Gem::Version
|
579
|
-
version:
|
579
|
+
version: 7.1.0
|
580
580
|
type: :development
|
581
581
|
prerelease: false
|
582
582
|
version_requirements: !ruby/object:Gem::Requirement
|
583
583
|
requirements:
|
584
584
|
- - "~>"
|
585
585
|
- !ruby/object:Gem::Version
|
586
|
-
version:
|
586
|
+
version: 7.1.0
|
587
587
|
- !ruby/object:Gem::Dependency
|
588
588
|
name: safe_ruby
|
589
589
|
requirement: !ruby/object:Gem::Requirement
|
@@ -798,7 +798,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
798
798
|
- !ruby/object:Gem::Version
|
799
799
|
version: '0'
|
800
800
|
requirements: []
|
801
|
-
rubygems_version: 3.5.
|
801
|
+
rubygems_version: 3.5.11
|
802
802
|
signing_key:
|
803
803
|
specification_version: 4
|
804
804
|
summary: Build LLM-backed Ruby applications with Ruby's Langchain.rb
|