Home

Awesome

首席情报官(Wiseflow)

English | 日本語 | 한국어

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

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

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

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

<img alt="sample.png" src="asset/sample.png" width="1024"/>

🔥 隆重推荐整合了完整RAG能力的 wiseflow 下游应用项目 awada 1.x

Awada 是一个基于微信生态的团队内知识助理智能体。它可以从群聊、公众号、网站等来源中进行在线自主学习(同时也接受自主文档上传),打造团队私域知识库,并为团队成员提供问答、资料查找以及写作(Word)服务。

如果你的关注点并不是信息列表,而是基于信息的下游应用,那么 awada 将是一个不错的选择。

Awada 整合了 wiseflow 的在线学习能力和 Qanything 的 RAG 能力,如果你更加关注基于微信生态的信息搜集(比如公众号文章),也请参考 awada项目

V0.3.1 更新

dashboard 部分已经删除,如果您有dashboard需求,请下载 V0.2.1版本

👏 虽然部分9b大小的LLM(THUDM/glm-4-9b-chat)已经可以实现稳定的信息提取输出,但是我们发现对于复杂含义的tag(比如“党建”)或者需要特指的tag(比如仅需采集“居民区活动”,而不希望包括诸如演唱会这样的大型活动信息), 使用目前的prompt还是不能进行准确的提取,因此我们在这一版本中为每个tag增加了explaination字段,可以通过输入该字段进行更加清晰的tag指定。

注:复杂explaination需要更大规模的模型才能准确理解,具体见 [模型推荐 2024-09-03](###-4. 模型推荐 [2024-09-03])

👏 另外针对上一版本prompt语言选择的问题(虽然这并不影响输出结果),我们在目前版本中进一步简化了方案,用户无需指定系统语言(这在docker中并不那么直观),系统会根据tag以及tag的explaination判断选择何种语言的 prompt(也就决定了info的输出语言),这进一步简化了wiseflow的部署和使用。【不过目前wiseflow仅支持简体中文和英文两种语言,其他语言的需求可以通过更改 core/insights/get_info.py 中的prompt实现】

🌹另外本次更新合并了过去两个月的PR,本次新增contributor如下:

@wwz223 @madizm @GuanYixuan @xnp2020 @JimmyMa99

🌹 感谢大家的贡献!

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

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

🌟 如何在您的应用中整合wiseflow

wiseflow是一个原生的LLM应用,仅需7B~9B大小LLM就可以很好的执行信息挖掘、过滤与分类任务,且无需向量模型,系统开销很小,适合各种硬件环境下的本地化以及私有化部署。

✋如果您的应用只需要使用wiseflow挖掘出的数据,即您的应用作为wiseflow的下游任务

wiseflow将挖掘出的信息存储于自带的Pocketbase数据库中,这意味着这种情况下您无需了解wiseflow的代码,只需要对数据库进行读取操作即可!

PocketBase作为流行的轻量级数据库,目前已有 Go/Javascript/Python 等语言的SDK。

✋如果您想将wiseflow作为实时的信息处理工具,即wiseflow作为您应用的下游任务

可以参考我们的一个示例项目 —— 基于微信的可在线自主学习的个人AI助理(也可能是行业专家)awada

📥 安装与使用

1. 克隆代码仓库

🌹 点赞、fork是好习惯 🌹

git clone https://github.com/TeamWiseFlow/wiseflow.git
cd wiseflow

2. 推荐使用docker运行

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

docker compose up

注意:

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

如您想更改container的时区和语言,请仿照如下命令运行image

docker run -e LANG=zh_CN.UTF-8 -e LC_CTYPE=zh_CN.UTF-8 your_image

2.【备选】直接使用python运行

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

之后可以参考core/scripts 中的脚本分别启动pb、task和backend (将脚本文件移动到core目录下)

注意:

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

通过 pocketbase 访问获取的数据:

3. 配置

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

windows用户如果选择直接运行python程序,可以直接在 “开始 - 设置 - 系统 - 关于 - 高级系统设置 - 环境变量“ 中设置如下项目,设置后需要重启终端生效

4. 模型推荐 [2024-09-03]

经过反复测试(中英文任务)GET_INFO_MODELREWRITE_MODELHTML_PARSE_MODEL 三项最小可用模型分别为:"THUDM/glm-4-9b-chat""Qwen/Qwen2-7B-Instruct""Qwen/Qwen2-7B-Instruct"

目前,SiliconFlow已经官宣Qwen2-7B-Instruct、glm-4-9b-chat在线推理服务免费,这意味着您可以“零成本”使用wiseflow啦!

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

⚠️ V0.3.1更新

如果您使用带explaination的复杂tag,那么glm-4-9b-chat规模的模型是无法保证准确理解的,目前测试下来针对该类型任务效果比较好的模型为 Qwen/Qwen2-72B-Instructgpt-4o-mini-2024-07-18

针对有需求使用 gpt-4o-mini-2024-07-18 的用户,可以尝试第三方代理 AiHubMix,支持国内网络环境直连、支付宝充值(实际费率相当于官网86折)

🌹 欢迎使用如下邀请链接 AiHubMix邀请链接 注册 🌹

🌍 上述两个平台的在线推理服务均兼容openai SDK,配置.env LLM_API_BASELLM_API_KEY后即可使用。

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

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

5.1 打开 tags表单

通过这个表单可以指定你的关注点,LLM会按此提炼、过滤并分类信息。

tags 字段说明:

5.2 打开 sites表单

通过这个表单可以指定自定义信源,系统会启动后台定时任务,在本地执行信源扫描、解析和分析。

sites 字段说明:

6. 本地部署

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

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

注:若需让7b~9b规模的LLM可以实现对tag explaination的准确理解,推荐使用dspy进行prompt优化,但这需要累积约50条人工标记数据。详见 DSPy

🛡️ 许可协议

本项目基于 Apache2.0 开源。

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

📬 联系方式

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

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

Citation

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

Author:Wiseflow Team
https://github.com/TeamWiseFlow/wiseflow
Licensed under Apache2.0