wiseflow/README_CN.md
2024-07-11 11:35:20 +08:00

10 KiB
Raw Blame History

首席情报官Wiseflow

English | 日本語 | Français | Deutsch

首席情报官Wiseflow是一个敏捷的信息挖掘工具可以从网站、微信公众号、社交平台等各种信息源中按设定的关注点提炼讯息自动做标签归类并上传数据库。


SiliconFlow官宣Qwen2-7B-Instruct、glm-4-9b-chat等数款LLM在线推理服务即日起免费这意味着您可以“零成本”使用首席情报官进行信息挖掘啦


我们缺的其实不是信息,我们需要的是从海量信息中过滤噪音,从而让有价值的信息显露出来!

看看首席情报官是如何帮您节省时间,过滤无关信息,并整理关注要点的吧!

https://github.com/TeamWiseFlow/wiseflow/assets/96130569/bd4b2091-c02d-4457-9ec6-c072d8ddfb16

sample.png

🔥 V0.3.0 重大更新

  • 全新改写的通用网页内容解析器综合使用统计学习依赖开源项目GNE和LLM适配90%以上的新闻页面;

  • 全新的异步任务架构;

  • 全新的信息提取和标签分类策略更精准、更细腻且只需使用9B大小的LLM就可完美执行任务

🌟 功能特色

  • 🚀 原生 LLM 应用
    我们精心选择了最适合的 7B~9B 开源模型,最大化降低使用成本,且利于数据敏感用户随时完全切换至本地部署。

  • 🌱 轻量化设计
    不用任何向量模型,系统开销很小,无需 GPU适合任何硬件环境。

  • 🗃️ 智能信息提取和分类
    从各种信息源中自动提取信息,并根据用户关注点进行标签化和分类管理。

    😄 WiseFlow尤其擅长从微信公众号文章中提取信息为此我们配置了mp article专属解析器

  • 🌍 可以被整合至任意Agent项目
    可以作为任意 Agent 项目的动态知识库无需了解wiseflow的代码只需要与数据库进行读取操作即可

  • 📦 流行的 Pocketbase 数据库
    数据库和界面使用 PocketBase除了 Web 界面外,目前已有 Go/Javascript/Python 等语言的SDK。

🔄 wiseflow 与常见的爬虫工具、LLM-Agent类项目有何不同与关联

特点 首席情报官Wiseflow Crawler / Scraper LLM-Agent
主要解决的问题 数据处理(筛选、提炼、贴标签) 原始数据获取 下游应用
关联 可以集成至WiseFlow使wiseflow具有更强大的原始数据获取能力 可以集成WiseFlow作为动态知识库

📥 安装与使用

首席情报官对于硬件基本无要求系统开销很小无需独立显卡和CUDA使用在线LLM服务的情况下

  1. 克隆代码仓库

    😄 点赞、fork是好习惯

    git clone https://github.com/TeamWiseFlow/wiseflow.git
    cd wiseflow
    
  2. 强烈推荐使用docker 运行

    中国区用户使用前请合理配置网络或者指定docker hub镜像

    docker compose up
    

    可按需修改compose.yaml

    注意:

    • 在wiseflow代码仓根目录下运行上述命令
    • 运行前先创建并编辑.env文件放置在Dockerfile同级目录wiseflow代码仓根目录.env文件可以参考env_sample
    • 第一次运行docker container时会遇到报错这其实是正常现象因为你尚未为pb仓库创建admin账号。

    此时请保持container不关闭状态浏览器打开http://127.0.0.1:8090/_/ 按提示创建admin账号一定要使用邮箱然后将创建的admin邮箱再次强调一定要用邮箱和密码填入.env文件重启container即可。

    如您想更改container的时区和语言【会决定prompt语言选择但实测对呈现结果影响不大】使用如下命令运行image

    docker run -e LANG=zh_CN.UTF-8 -e LC_CTYPE=zh_CN.UTF-8 your_image
    
  3. 【备选】直接使用python运行

    conda create -n wiseflow python=3.10
    conda activate wiseflow
    cd core
    pip install -r requirements.txt
    

    之后可以通过core/scrips 中的脚本分别启动pb、task和backend 将脚本文件移动到core目录下

    注意:

    • 一定要先启动pbtask和backend是独立进程先后顺序无所谓也可以按需求只启动其中一个
    • 需要先去这里 https://pocketbase.io/docs/ 下载对应自己设备的pocketbase客户端并放置在 /core/pb 目录下
    • pb运行问题包括首次运行报错等参考 core/pb/README.md
    • 使用前请创建并编辑.env文件放置在wiseflow代码仓根目录core目录的上级.evn文件可以参考env_sample详细配置说明见下

    📚 for developer see /core/README.md for more

    通过 pocketbase 访问获取的数据:

  4. 配置

    复制目录下的env_sample并改名为.env, 参考如下 填入你的配置信息LLM服务token等

    • LLM_API_KEY # 大模型推理服务API KEY
    • LLM_API_BASE # 本项目依赖openai sdk只要模型服务支持openai接口就可以通过配置该项正常使用如使用openai服务删除这一项即可
    • WS_LOG="verbose" # 设定是否开始debug观察如无需要删除即可
    • GET_INFO_MODEL # 信息提炼与标签匹配任务模型,默认为 gpt-3.5-turbo
    • REWRITE_MODEL # 近似信息合并改写任务模型,默认为 gpt-3.5-turbo
    • HTML_PARSE_MODEL # 网页解析模型GNE算法效果不佳时智能启用默认为 gpt-3.5-turbo
    • PROJECT_DIR # 数据、缓存以及日志文件存储位置,相对于代码仓的相对路径,默认不填就在代码仓
    • PB_API_AUTH='email|password' # pb数据库admin的邮箱和密码注意一定是邮箱可以是虚构的邮箱
    • PB_API_BASE # 正常使用无需这一项只有当你不使用默认的pocketbase本地接口8090时才需要
  5. 模型推荐

    经过反复测试(中英文任务),综合效果和价格,GET_INFO_MODELREWRITE_MODELHTML_PARSE_MODEL 三项我们分别推荐 "zhipuai/glm4-9B-chat""alibaba/Qwen2-7B-Instruct""alibaba/Qwen2-7B-Instruct"

    它们可以非常好的适配本项目指令遵循稳定且生成效果优秀本项目相关的prompt也是针对这三个模型进行的优化。HTML_PARSE_MODEL 也可以使用 "01-ai/Yi-1.5-9B-Chat",实测效果也非常棒)

    ⚠️ 同时强烈推荐使用 SiliconFlow 的在线推理服务,更低的价格、更快的速度、更高的免费额度!⚠️

    SiliconFlow 在线推理服务兼容openai SDK并同时提供上述三个模型的开源服务仅需配置 LLM_API_BASE 为 "https://api.siliconflow.cn/v1" ,并配置 LLM_API_KEY 即可使用。

    😄 或者您愿意使用我的邀请链接这样我也可以获得更多token奖励 😄

  6. 关注点和定时扫描信源添加

    启动程序后打开pocketbase Admin dashboard UI (http://127.0.0.1:8090/_/)

     6.1 打开 **tags表单**
    
     通过这个表单可以指定你的关注点LLM会按此提炼、过滤并分类信息。
    
     tags 字段说明:
    
     - name, 关注点描述,**注意:要具体一些**,好的例子是:`中美竞争动向`,不好的例子是:`国际局势`。
     - activated, 是否激活。如果关闭则会忽略该关注点关闭后可再次开启。开启和关闭无需重启docker容器会在下一次定时任务时更新。
    
    
     6.2 打开 **sites表单**
    
     通过这个表单可以指定自定义信源,系统会启动后台定时任务,在本地执行信源扫描、解析和分析。
    
     sites 字段说明:
    
     - url, 信源的url信源无需给定具体文章页面给文章列表页面即可。
     - per_hours, 扫描频率单位为小时类型为整数1~24范围我们建议扫描频次不要超过一天一次即设定为24
     - activated, 是否激活。如果关闭则会忽略该信源关闭后可再次开启。开启和关闭无需重启docker容器会在下一次定时任务时更新。
    
  7. 本地部署

    如您所见本项目使用7b\9b大小的LLM且无需任何向量模型这就意味着仅仅需要一块3090RTX24G显存就可以完全的对本项目进行本地化部署。

    请保证您的本地化部署LLM服务兼容openai SDK并配置 LLM_API_BASE 即可

🛡️ 许可协议

本项目基于 Apach2.0 开源。

商用以及定制合作,请联系 Email35252986@qq.com

  • 商用客户请联系我们报备登记,产品承诺永远免费。
  • 对于定制客户,我们会针对您的信源和业务需求提供如下服务:
    • 针对客户业务场景信源的专用爬虫和解析器
    • 定制信息提取和分类策略
    • 针对性llm推荐甚至微调服务
    • 私有化部署服务
    • UI界面定制

📬 联系方式

有任何问题或建议,欢迎通过 issue 与我们联系。

🤝 本项目基于如下优秀的开源项目:

Citation

如果您在相关工作中参考或引用了本项目的部分或全部,请注明如下信息:

AuthorWiseflow Team
https://openi.pcl.ac.cn/wiseflow/wiseflow
https://github.com/TeamWiseFlow/wiseflow
Licensed under Apache2.0