Skip to content

配置指南

本指南将帮助您完成 AnythingLLM 的初始配置,让您能够开始使用所有功能。

首次启动设置

当您第一次启动 AnythingLLM 时,会看到设置向导。按照以下步骤完成配置:

1. 创建管理员账户

首次访问时,您需要创建管理员账户:

用户名: admin (或您喜欢的用户名)
密码: 设置一个强密码
确认密码: 再次输入密码

安全提示

请使用强密码,包含大小写字母、数字和特殊字符,长度至少 8 位。

2. 选择 LLM 提供商

AnythingLLM 支持多种 LLM 提供商,选择最适合您需求的:

OpenAI (推荐)

bash
提供商: OpenAI
API 密钥: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
模型: gpt-3.5-turbo gpt-4

Anthropic Claude

bash
提供商: Anthropic
API 密钥: sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
模型: claude-3-sonnet claude-3-opus

Ollama (本地模型)

bash
提供商: Ollama
服务器地址: http://localhost:11434
模型: llama2, codellama, mistral

Azure OpenAI

bash
提供商: Azure OpenAI
端点: https://your-resource.openai.azure.com/
API 密钥: your-azure-api-key
部署名称: your-deployment-name
API 版本: 2023-12-01-preview

3. 配置向量数据库

向量数据库用于存储文档的向量表示,支持语义搜索:

LanceDB (默认,推荐)

bash
提供商: LanceDB
存储路径: ./storage/lancedb

无需额外配置,开箱即用。

Pinecone

bash
提供商: Pinecone
API 密钥: your-pinecone-api-key
环境: us-west1-gcp
索引名称: anythingllm-index

Chroma

bash
提供商: Chroma
服务器地址: http://localhost:8000

4. 配置嵌入模型

嵌入模型用于将文本转换为向量:

OpenAI Embeddings

bash
提供商: OpenAI
模型: text-embedding-ada-002
API 密钥: (使用与 LLM 相同的密钥)

本地嵌入模型

bash
提供商: Native
模型: all-MiniLM-L6-v2 (默认)

高级配置

环境变量详解

.env 文件中配置以下变量:

bash
# 基本配置
JWT_SECRET=your-jwt-secret-here
STORAGE_DIR=/app/server/storage
SERVER_PORT=3001

# LLM 配置
LLM_PROVIDER=openai
OPENAI_API_KEY=your-openai-api-key
OPENAI_MODEL_PREF=gpt-3.5-turbo

# 向量数据库配置
VECTOR_DB=lancedb
LANCE_DB_PATH=/app/server/storage/lancedb

# 嵌入模型配置
EMBEDDING_ENGINE=openai
EMBEDDING_MODEL_PREF=text-embedding-ada-002

# 文档处理配置
DOCUMENT_PROCESSOR_THREADS=4
MAX_DOCUMENT_SIZE_MB=25

# 安全配置
DISABLE_TELEMETRY=true
ENABLE_HTTPS=false
HTTPS_CERT_PATH=/path/to/cert.pem
HTTPS_KEY_PATH=/path/to/key.pem

# 日志配置
LOG_LEVEL=info
LOG_FILE_PATH=/app/server/logs/server.log

数据库配置

AnythingLLM 使用 SQLite 作为主数据库,您可以配置:

bash
# 数据库文件路径
DATABASE_PATH=/app/server/storage/anythingllm.db

# 数据库连接池大小
DB_POOL_SIZE=10

# 数据库超时设置
DB_TIMEOUT=30000

文件上传配置

配置文件上传限制和处理选项:

bash
# 最大文件大小 (MB)
MAX_DOCUMENT_SIZE_MB=25

# 支持的文件类型
SUPPORTED_FILE_TYPES=.pdf,.docx,.txt,.md

# 文档处理线程数
DOCUMENT_PROCESSOR_THREADS=4

# 临时文件目录
TEMP_DIR=/app/server/storage/tmp

用户管理配置

bash
# 启用用户注册
ENABLE_USER_REGISTRATION=false

# 默认用户角色
DEFAULT_USER_ROLE=user

# 会话超时 (分钟)
SESSION_TIMEOUT=1440

# 最大登录尝试次数
MAX_LOGIN_ATTEMPTS=5

工作空间配置

创建第一个工作空间

  1. 登录后,点击 "新建工作空间"
  2. 输入工作空间名称,如 "我的第一个工作空间"
  3. 选择要使用的 LLM 模型
  4. 配置系统提示词(可选)
  5. 点击 "创建"

工作空间设置

每个工作空间都有独立的设置:

yaml
# 工作空间配置示例
name: "技术文档助手"
description: "用于技术文档问答的工作空间"
llm_provider: "openai"
llm_model: "gpt-4"
temperature: 0.7
max_tokens: 2048
system_prompt: "你是一个专业的技术文档助手,请基于提供的文档内容回答问题。"

性能优化

内存优化

bash
# Node.js 内存限制
NODE_OPTIONS="--max-old-space-size=4096"

# 垃圾回收优化
NODE_OPTIONS="--optimize-for-size"

缓存配置

bash
# 启用缓存
ENABLE_CACHE=true

# 缓存大小 (MB)
CACHE_SIZE_MB=512

# 缓存过期时间 (秒)
CACHE_TTL=3600

并发配置

bash
# 最大并发请求数
MAX_CONCURRENT_REQUESTS=10

# 请求队列大小
REQUEST_QUEUE_SIZE=100

# 请求超时 (毫秒)
REQUEST_TIMEOUT=30000

安全配置

HTTPS 配置

bash
# 启用 HTTPS
ENABLE_HTTPS=true

# SSL 证书路径
HTTPS_CERT_PATH=/path/to/certificate.pem
HTTPS_KEY_PATH=/path/to/private-key.pem

# SSL 配置
SSL_PROTOCOLS=TLSv1.2,TLSv1.3

访问控制

bash
# 允许的域名
ALLOWED_ORIGINS=https://yourdomain.com,https://anotherdomain.com

# API 速率限制
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=900000  # 15分钟

# IP 白名单
ALLOWED_IPS=192.168.1.0/24,10.0.0.0/8

监控和日志

日志配置

bash
# 日志级别
LOG_LEVEL=info  # debug, info, warn, error

# 日志文件
LOG_FILE_PATH=/app/server/logs/anythingllm.log

# 日志轮转
LOG_MAX_SIZE=100MB
LOG_MAX_FILES=5

监控配置

bash
# 启用监控
ENABLE_MONITORING=true

# 监控端口
MONITORING_PORT=9090

# 健康检查端点
HEALTH_CHECK_ENDPOINT=/health

备份配置

自动备份

bash
# 启用自动备份
ENABLE_AUTO_BACKUP=true

# 备份间隔 (小时)
BACKUP_INTERVAL=24

# 备份保留天数
BACKUP_RETENTION_DAYS=30

# 备份存储路径
BACKUP_STORAGE_PATH=/app/server/backups

验证配置

配置完成后,您可以通过以下方式验证:

  1. 健康检查: 访问 http://localhost:3001/health
  2. 系统信息: 在管理面板查看系统状态
  3. 测试对话: 创建工作空间并进行测试对话
  4. 文档上传: 尝试上传和处理文档

下一步

配置完成后,您可以:


提示

建议定期备份您的配置文件和数据库,以防数据丢失。

注意

修改配置后需要重启 AnythingLLM 服务才能生效。

AnythingLLM 是一个功能强大的开源 AI 知识管理平台,支持多种 LLM 模型,让您轻松构建智能对话系统和知识库。