-
-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathlangchainrb_rails.rb
47 lines (39 loc) · 1.53 KB
/
langchainrb_rails.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# frozen_string_literal: true
require "forwardable"
require "langchain"
require "rails"
require "langchainrb_rails/config"
require "langchainrb_rails/prompting"
require "langchainrb_rails/railtie"
require "langchainrb_rails/version"
require_relative "langchainrb_overrides/vectorsearch/pgvector"
require_relative "langchainrb_overrides/vectorsearch/sqlite_vec"
require_relative "langchainrb_overrides/assistant"
require_relative "langchainrb_overrides/message"
module LangchainrbRails
class Error < StandardError; end
module ActiveRecord
autoload :Hooks, "langchainrb_rails/active_record/hooks"
end
module Generators
autoload :BaseGenerator, "langchainrb_rails/generators/langchainrb_rails/base_generator"
autoload :AssistantGenerator, "langchainrb_rails/generators/langchainrb_rails/assistant_generator"
autoload :ChromaGenerator, "langchainrb_rails/generators/langchainrb_rails/chroma_generator"
autoload :PgvectorGenerator, "langchainrb_rails/generators/langchainrb_rails/pgvector_generator"
autoload :QdrantGenerator, "langchainrb_rails/generators/langchainrb_rails/qdrant_generator"
autoload :PromptGenerator, "langchainrb_rails/generators/langchainrb_rails/prompt_generator"
end
class << self
# Configures global settings for LangchainrbRails
# LangchainrbRails.configure do |config|
# config.vectorsearch = ...
# end
def configure
yield(config)
end
# @return [Config] The global configuration object
def config
@_config ||= Config.new
end
end
end