概述

工厂系统由四个主要工厂类组成,用于处理跨不同组件类型的提供程序的动态实例化。每个工厂在创建实例之前维护提供程序映射并处理配置验证。

工厂框架

在这里插入图片描述

核心工厂类

Llm 工厂

LlmFactory 类管理 LLM 提供程序实例化,支持旧版 BaseLlmConfig 和特定于提供程序的配置。
在这里插入图片描述

VectorStore 工厂

·VectorStoreFactory· 处理跨 19+ 受支持的提供程序的矢量数据库实例化。
在这里插入图片描述

EmbedderFactory 和 GraphStoreFactory

在这里插入图片描述

动态类加载

·load_class· 功能提供了所有工厂使用的动态导入功能。

类加载机制

在这里插入图片描述

配置处理

LLM 配置流程

LlmFactory.create 方法处理多个配置方案:
在这里插入图片描述

矢量存储配置

VectorStoreConfig 类提供验证和特定于提供者的配置创建:
在这里插入图片描述

提供商注册

静态注册与动态注册

工厂系统支持静态提供程序映射和动态注册:

静态提供程序 动态注册
LlmFactory 17 家供应商 register_provider() 方法
EmbedderFactory 10 家供应商 无动态注册
VectorStoreFactory 19 家供应商 无动态注册
GraphStoreFactory 4 家供应商 无动态注册

LLM 提供商注册

在这里插入图片描述

使用模式

存储系统中的工厂集成

在这里插入图片描述

错误处理

工厂系统包括全面的错误处理:

异常类型

错误类型 条件
ValueError 不受支持的提供程序 所有工厂
ImportError 缺少提供程序类 GraphStoreFactory
AttributeError 模块中找不到类 GraphStoreFactory

Embedder Factory 特殊案例

EmbedderFactory 包括对具有嵌入式嵌入的 Upstash Vector 的特殊处理:

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐