bx_builder_chain 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a129a03fb46c5a4c483721b73d4f6b519573bda233ab32179b88888bff43d3d0
4
- data.tar.gz: 699c90850886df914112c003e9fccc01baa131eff088dbc344e1e18a3b605322
3
+ metadata.gz: 9eb5ff5b21c231a4b2780d308fb4f60e7547f665c01338d309e7e596d8ddcc88
4
+ data.tar.gz: 23d0c9b0eaa1e9aac37e51bdad3e4228e7ca110bb74c03a0e3f51444c75e3844
5
5
  SHA512:
6
- metadata.gz: d2f871a38cc38e88a481239f4f1a297e8d50ccee7449f82628d675fc129481b839aaabf683c5e8fd222db52eea696b190af29dda1f6fb2c5f8e9bd42c5d91eff
7
- data.tar.gz: e4b293d650197f9db8691435fc577ffb4d60cac24f61ead231d48e736941bedcc4b2a1713e3b2b462de7d6d12d3cc49aed8f2910580f8cde97c170292243a3b2
6
+ metadata.gz: 0c6492b7df7f26268d0b950603c945d14b1b75c1bbde0876793dd03b02b7ca66c324d047ad1dd5aebe269a37400bfca7a9bbadab95bcd6e6ee1ac8d5adcc9124
7
+ data.tar.gz: 8d959ade792d8f9977219814358b283cb79a105285e3ccc9c6034639f0df61e455aa61746b656d305dc82950f5e7de1eb35ee0f5bfcd3c8c4084f6425ab5c63b
@@ -184,7 +184,7 @@ module BxBuilderChain::Llm
184
184
  def transform_messages(messages)
185
185
  messages.map do |message|
186
186
  {
187
- role: ROLE_MAPPING.fetch(message.type, message.type),
187
+ role: ROLE_MAPPING.fetch(message[:type], message[:type]),
188
188
  content: message.content
189
189
  }
190
190
  end
@@ -69,9 +69,20 @@ module BxBuilderChain::Vectorsearch
69
69
  # @return [Array<Integer>] The the ids of the added texts.
70
70
  def add_texts(texts:, ids: nil)
71
71
  if ids.nil? || ids.empty?
72
- data = texts.map do |text|
73
- {content: text, vectors: llm.embed(text: text).to_s, namespace: namespaces[0]}
74
- end
72
+ Async do |parent|
73
+ data = texts.each_slice(20).flat_map do |text_batch| # Process in batches of 20
74
+ text_batch.map do |text|
75
+ parent.async do |task|
76
+ begin
77
+ {content: text, vectors: llm.embed(text: text).to_s, namespace: namespaces[0]}
78
+ rescue => e
79
+ puts "Error processing text: #{e.message}"
80
+ nil # or some error indication
81
+ end
82
+ end
83
+ end.map(&:wait) # Ensure all tasks in the batch are completed
84
+ end
85
+ end
75
86
  @db[@table_name.to_sym].multi_insert(data, return: :primary_key)
76
87
  else
77
88
  upsert_texts(texts: texts, ids: ids)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BxBuilderChain
4
- VERSION = "0.1.14"
4
+ VERSION = "0.1.15"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bx_builder_chain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Ketelle
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-19 00:00:00.000000000 Z
11
+ date: 2024-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk