Tip
Flock 是一个基于工作流 workflow 的低代码平台,用于快速构建聊天机器人、RAG 应用和协调多代理团队。它基于 LangChain 和 LangGraph 构建,提供灵活的低代码编排协作代理解决方案,支持聊天机器人、RAG 应用、代理和多代理系统,并具备离线运行能力。
flock.mp4
Flock 的工作流系统由各种类型的节点组成,每种节点都有特定的用途:
- 输入节点:处理初始输入并将其转换为工作流可处理的格式。
- LLM 节点:利用大型语言模型进行文本生成和处理。
- 检索节点:从知识库中获取相关信息。
- 工具节点:执行特定的任务或操作,扩展工作流功能。
- 检索工具节点:结合检索能力和工具功能。
- 意图识别节点:根据预设类别自动识别用户输入意图并路由到不同的处理流程。
- 回答节点:生成最终答案或输出,整合前序节点的结果。
- 子图节点:封装完整的子工作流,允许模块化设计。
- 开始和结束节点:标记工作流的开始和结束。
未来计划添加的节点包括:
- 条件分支节点(If-Else)
- 文件上传节点
- 代码执行节点
- 参数提取节点
这些节点可以组合创建强大而灵活的工作流,适用于各种复杂的业务需求和应用场景。
git clone https://github.com/Onelevenvy/flock.git
cp .env.example .env
.env 文件中的一些环境变量默认值为 changethis。 您必须将它们更改为密钥,要生成密钥,可以运行以下命令:
python -c "import secrets; print(secrets.token_urlsafe(32))"
复制内容并将其用作密码/密钥。再次运行该命令以生成另一个安全密钥。
cd docker
docker compose --env-file ../.env up -d
服务器启动需要 Python 3.10.x。建议使用 pyenv 快速安装 Python 环境。
要安装其他 Python 版本,请使用 pyenv install。
pyenv install 3.10
要切换到 "3.10" Python 环境,请使用以下命令:
pyenv global 3.10
按照以下步骤操作: 导航到 "backend" 目录:
cd backend
激活环境。
poetry env use 3.10
poetry install
# 让数据库启动
python /app/app/backend_pre_start.py
# 运行迁移
alembic upgrade head
# 在数据库中创建初始数据
python /app/app/initial_data.py
uvicorn app.main:app --reload --log-level debug
poetry run celery -A app.core.celery_app.celery_app worker --loglevel=debug
cd web
pnpm install
cd web
pnpm dev
# 或者 pnpm build 然后 pnpm start