我的开源项目Flock介绍(中文版)https://github.com/Onelevenvy/flock

谭庆新
·发布于 2 个月前·
1 人看过

📃 Flock

Flock 欢迎Star https://github.com/Onelevenvy/flock

一个基于 LangChain、LangGraph 和其他框架的聊天机器人、RAG、代理和多代理应用项目,开源且能够离线部署。

🤖️ 概览

image

工作流

image
image

Agent Chat

image

图像

image

知识检索

image
image

Human-in-the-Loop(人工审批或让 LLM 重新思考或寻求人工帮助)

Flock 旨在成为一个开源的大语言模型(LLM)应用开发平台。它是一个基于 LangChain 和 LangGraph 概念的 LLM 应用。目标是创建一套支持聊天机器人、RAG 应用、代理和多代理系统的 LLMOps 解决方案,并具备离线运行能力。

StreetLamb 项目及其 tribe 项目的启发,Flock 采用了许多相同的方法和代码。在此基础上,它引入了一些新的功能和方向。

本项目的一些布局参考了 Lobe-chatDifyfastgpt。它们都是优秀的开源项目,在此表示感谢 🙇‍。

👨‍💻 开发

项目技术栈:LangChain + LangGraph + React + Next.js + Chakra UI + PostgreSQL

💡 路线图

1 应用

  • 聊天机器人
  • 简单 RAG
  • 层次代理
  • 顺序代理
  • 工作流 ---进行中
  • 更多多代理系统

2 模型

  • OpenAI
  • ZhipuAI
  • Siliconflow
  • Ollama
  • Qwen
  • Xinference

3 其他

  • Tools Calling
  • I18n
  • Langchain Templates

🏘️ 亮点

  • 持久化对话:保存并维护聊天历史,允许您继续对话。
  • 可观察性:使用 LangSmith 实时监控和跟踪您的代理性能和输出,确保它们高效运行。
  • 工具调用:使您的代理能够使用外部工具和 API。
  • 检索增强生成:使您的代理能够利用您的内部知识库进行推理。
  • Human-in-the-loop:在工具调用前启用人工审批。
  • 开源模型:使用开源 LLM 模型,如 llama、Qwen 和 Glm。
  • 多租户:管理和支持多个用户和团队。

如何开始

1. 准备工作

1.1 克隆代码

git clone https://github.com/Onelevenvy/flock.git

1.2 复制环境配置文件
cp .env.example .env
1.3 生成密钥

.env 文件中的一些环境变量默认值为 changethis。
您必须将它们更改为密钥,要生成密钥,可以运行以下命令:

python -c "import secrets; print(secrets.token_urlsafe(32))"

复制内容并将其用作密码/密钥。再次运行该命令以生成另一个安全密钥。

1.3 安装 postgres、qdrant、redis
cd docker
docker compose  --env-file ../.env up -d

2.运行后端

2.1 安装基本环境

服务器启动需要 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
2.2 初始化数据
# 让数据库启动
python /app/app/backend_pre_start.py

# 运行迁移
alembic upgrade head

# 在数据库中创建初始数据
python /app/app/initial_data.py
2.3 运行 unicorn
 uvicorn app.main:app --reload --log-level debug
2.4 运行 celery(非必需,除非您想使用 rag 功能)
poetry run celery -A app.core.celery_app.celery_app worker --loglevel=debug

3.运行前端

3.1 进入 web 目录并安装依赖
cd web
pnpm install
3.2 启动 web 服务
cd web
pnpm dev

# 或者 pnpm build 然后 pnpm start
ai
agi
flock
$ cd ..