llm_memory 0.1.5 → 0.1.7

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: aea28ca9fb65d35a8d98964ac433cb7c445d8137a2672bcf542d35fa31935582
4
- data.tar.gz: 02d4d7a619eb3031df0310c2fa9bef9105035f732bc1d9e5381a3dd2d8ded836
3
+ metadata.gz: c20af963efe2764e2360a0e7c5149afc18b6c757b7c24dc178b3efe190330c20
4
+ data.tar.gz: 90d3ee12fffc237846e9bd6342ad9863e257bed7ae573c378673cb6c1b4a42f5
5
5
  SHA512:
6
- metadata.gz: d30618749a0b4016a2ca9cd2815cb6b7b4971a46c50ea83fa3e5b30d1e0813127053b576882587634f166cff7312f3898c6183f71a32ea724b53deea5d676936
7
- data.tar.gz: 4957d9857a4a5b05cd725b45e44c44b9ecfb695034e6c2e6c45ed80c9c819d0b581fdc4f9977d4af9180b15af983f544df62507e5d25001f0e508ff90acfa8b6
6
+ metadata.gz: 2240230ab5c96a4f8642f01114da452207d086e8a35432bf69c8652a170307b200fdacb8f48713c3027074d712bb33628da905a5aec1d5afb2c6db9659723d8f
7
+ data.tar.gz: 907c03f50e230d7fccbd60244ff6a9c412c5dc7962b1202585c3e56619203c7e3b5dc57be2881d49228167d8296827958315b6e823b69a3e35c32dd08db3be36
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm_memory (0.1.5)
4
+ llm_memory (0.1.7)
5
5
  redis (~> 4.6.0)
6
6
  ruby-openai (~> 3.7.0)
7
7
  tokenizers (~> 0.3.3)
data/README.md CHANGED
@@ -99,7 +99,7 @@ answer the question: <%= query_str %>
99
99
  TEMPLATE
100
100
 
101
101
  broca = LlmMemory::Broca.new(prompt: prompt, model: 'gpt-3.5-turbo')
102
- messages = broca.respond(query_str: query_str, related_docs: related_docs)
102
+ message = broca.respond(query_str: query_str, related_docs: related_docs)
103
103
 
104
104
  ...
105
105
  query_str2 = "How are you?"
@@ -32,11 +32,12 @@ module LlmMemory
32
32
  temperature: @temperature
33
33
  }
34
34
  )
35
+ LlmMemory.logger.debug(response)
35
36
  response_content = response.dig("choices", 0, "message", "content")
36
- @messages.push({role: "system", content: response_content})
37
+ @messages.push({role: "system", content: response_content}) unless response_content.nil?
37
38
  response_content
38
39
  rescue => e
39
- puts e.inspect
40
+ LlmMemory.logger.info(e.inspect)
40
41
  # @messages = []
41
42
  nil
42
43
  end
@@ -52,8 +53,9 @@ module LlmMemory
52
53
  new_messages = []
53
54
  @messages.reverse_each do |message|
54
55
  encoded = tokenizer.encode(message[:content], add_special_tokens: true)
55
- if count < @max_token
56
- count += encoded.tokens.length
56
+ token_count = encoded.tokens.length
57
+ count += token_count
58
+ if count <= @max_token
57
59
  new_messages.push(message)
58
60
  else
59
61
  break
@@ -57,12 +57,13 @@ module LlmMemory
57
57
  v.each_slice(2).to_h.transform_keys(&:to_sym)
58
58
  }
59
59
  result.each do |item|
60
- item[:metadata] = JSON.parse(item[:metadata])
60
+ hash = JSON.parse(item[:metadata])
61
+ item[:metadata] = hash.transform_keys(&:to_sym)
61
62
  end
62
63
  result
63
64
  end
64
65
 
65
- def forgot_all
66
+ def forget_all
66
67
  @store.drop_index
67
68
  end
68
69
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LlmMemory
4
- VERSION = "0.1.5"
4
+ VERSION = "0.1.7"
5
5
  end
data/lib/llm_memory.rb CHANGED
@@ -1,19 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "logger"
3
4
  # config
4
5
  require_relative "llm_memory/configuration"
5
-
6
6
  require_relative "llm_memory/hippocampus"
7
7
  require_relative "llm_memory/broca"
8
8
  require_relative "llm_memory/wernicke"
9
-
10
9
  require_relative "llm_memory/version"
11
10
 
12
11
  module LlmMemory
13
12
  class Error < StandardError; end
14
13
 
15
14
  class << self
16
- attr_accessor :configuration
15
+ attr_accessor :configuration, :log_level
16
+
17
+ def logger
18
+ @logger ||= Logger.new($stdout).tap do |logger|
19
+ logger.level = log_level || Logger::INFO
20
+ end
21
+ end
17
22
  end
18
23
 
19
24
  def self.configure
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm_memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shohei Kameda