概述

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

工厂框架

在这里插入图片描述

核心工厂类

Llm 工厂

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

VectorStore 工厂

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

EmbedderFactory 和 GraphStoreFactory

在这里插入图片描述

动态类加载

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

类加载机制

在这里插入图片描述

配置处理

LLM 配置流程

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

矢量存储配置

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

提供商注册

静态注册与动态注册

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

静态提供程序动态注册
LlmFactory17 家供应商register_provider() 方法
EmbedderFactory10 家供应商无动态注册
VectorStoreFactory19 家供应商无动态注册
GraphStoreFactory4 家供应商无动态注册

LLM 提供商注册

在这里插入图片描述

使用模式

存储系统中的工厂集成

在这里插入图片描述

错误处理

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

异常类型

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

Embedder Factory 特殊案例

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

在这里插入图片描述

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐