主题
可以按你的实际需要逐个配置 LlamaCloud 的各项服务。本页说明每个服务各自有哪些配置。
全局配置
截至撰写之时,全局配置只涉及外部依赖。更多信息请参考数据库与队列页。
后端服务
Qdrant
Qdrant 是一个流行的向量数据库,用来存储与检索嵌入向量。用户可以按 project 逐个把 Qdrant 配成 Data Sink;也可以按你的偏好,把它配置成对所有 project 与组织生效的 Data Sink。后一种做法可以设置下列配置:
# basic example
qdrant:
enabled: true
url: "http://qdrant:6333"
apiKey: <QDRANT-API-KEY>
# or, if you prefer to use an existing secret
qdrant:
enabled: true
url: "http://qdrant:6333"
secret: "qdrant-secret"Jobs Worker 服务
有好几项配置可以改变 Jobs Worker 处理任务执行的方式。
并发相关设置
这些设置改变并发任务如何在各个 job worker pod 之间分配,主要用来:
- 防止吵闹的邻居问题 —— 单个用户就把 job worker 打满,从而饿死其他用户
- 防止 Mongo、Embeddings API、向量库等外部资源被过多请求压垮
maxJobsInExecutionPerJobType:定义单个用户在每一种任务类型上最多能同时运行多少任务。job runner 用它防止任一用户把系统压垮。
- 设成 0 即关闭这项并发检查。
maxIndexJobsInExecution:指定单条流水线最多允许并发执行多少摄取(indexing)任务。它作用于处理文档摄取与索引的流水线,用来控制资源占用。
- 设成 0 即关闭这项并发检查。
maxDocumentIngestionJobsInExecution:限制单个用户同时在执行的文档摄取任务数量。文档摄取通常很吃资源,因此这一项应当保持相对较低,以免压垮系统。
- 设成 0 即关闭这项并发检查。
# example values.yaml for high throughput
config:
jobs:
maxJobsInExecutionPerJobType: 25
maxIndexJobsInExecution: 100000
maxDocumentIngestionJobsInExecution: 10超时与上限设置
这些设置控制 Jobs Worker 服务所处理任务的执行超时与数据处理上限:
defaultTransformDocumentTimeoutSeconds:定义文档转换任务的默认超时秒数。文档转换可能很耗资源,依文档大小与复杂度不同可能花费相当长的时间。
- 默认值为
240(4 分钟)。
- 默认值为
transformEmbeddingCharLimit:指定单次 transform embedding 操作最多能处理多少字符。它能防止内存问题,并在处理大文档时保证性能稳定。
- 默认值为
11520000(1152 万字符)。
- 默认值为
# example values.yaml with custom timeout and limits
config:
jobs:
defaultTransformDocumentTimeoutSeconds: "7200" # 2 hours
transformEmbeddingCharLimit: "2000000" # 2 million characters注意:这些配置值必须以带引号的字符串提供,以避免 YAML 对大数字的解析问题。
LlamaParse
任务吞吐设置
- maxQueueConcurrency:设定 LlamaParse 服务最多能并发处理多少任务,让服务能高效地消化大量任务。数值越高占用的资源越多,请留意这一点。
- 默认值为
3。
- 默认值为
# example values.yaml for high throughput
config:
parse:
maxQueueConcurrency: 10