Model/IO
Prompt
提示词工程,给大模型提供上下文,输出目标,输出格式,例子集合,指导大模型应该输出什么
Language Models
LLM 模型主要是理解人类语言,通用文本生成(如写代码、翻译、单轮问答) Chat 模型是基于 LLM 模型的专精多轮对话的上下文维护,多轮对话
Output Parsers
对结果进行结构化输出,JSON 输出,支持多种结构化输出(如XML、YAML),同时处理格式校验和错误重试
Data Connection
用于实时处理用户输入的外部数据(如加载PDF、抓取网页)
Document Loaders
Folder, File 等 Loader 加载本地数据,也可以通过 Web 从外部检索数据
Document Splitters
数据需要转换成向量,才能被大模型高效检索,数据转换成向量时,需要大模型转换,输入到大模型的数据每次只支持10-100k,数据太大时,就要进行分割。咱们可以通过 Text,Code,Token 等不同策略进行分割,分割同时考虑语义完整性(如按段落分割保留上下文)和特定场景需求(代码按函数分割)
Vector Stores
存储和管理向量数据的工具
Embedding: 将数据转换成向量的工具
Vector DB: 专用向量数据库
Memory: 短期记忆管理(如对话上下文向量缓存)
Self Host: 部署私有化向量存储方案
Vector Retrievers
为了解决大模型问题,金额提通过 Vector DB 通过向量近似度匹配, 通过 Web API 搜索引擎匹配, 通过云服务 Bass 检索其他向量数据
Memory
管理对话历史记录,方便上下文管理
Buffer: 临时存储高频访问的向量(缓存机制,如内存)
Vector DB: 专用向量数据库
KV DB: 传统 KEY - VALUE 数据库
SQL DB:传统关系型数据库
Chains
预定义任务流程(如:文档加载→分割→向量化→检索→生成回答),支持顺序/条件/循环执行
Agent
根据输入动态选择工具(如先检索知识库,再调用计算器),通过ReAct模式(Reason→Act)自主决策步骤。组合不同功能的 Chains,使用 function call 定义函数,告诉大模型什么时候调用这个函数
Callback
记录大模型思考过程,还支持实时干预(如修改生成中的文本)和性能监控(记录token消耗、响应延迟)