Wiseflow is an agile information mining tool that extracts concise messages from various sources such as websites, WeChat official accounts, social platforms, etc. It automatically categorizes and uploads them to the database.
🚀 首席情报官(Wiseflow)是一个敏捷的信息挖掘工具,可以从网站、微信公众号、社交平台等各种信息源中按设定的关注点提炼讯息,自动做标签归类并上传数据库。
我们缺的其实不是信息,我们需要的是从海量信息中过滤噪音,从而让有价值的信息显露出来
🌱看看首席情报官是如何帮您节省时间,过滤无关信息,并整理关注要点的吧!🌱
https://github.com/TeamWiseFlow/wiseflow/assets/96130569/bd4b2091-c02d-4457-9ec6-c072d8ddfb16
Awada 是一个基于微信生态的团队内知识助理智能体。它可以从群聊、公众号、网站等来源中进行在线自主学习(同时也接受自主文档上传),打造团队私域知识库,并为团队成员提供问答、资料查找以及写作(Word)服务。
如果你的关注点并不是信息列表,而是基于信息的下游应用,那么 awada 将是一个不错的选择。
Awada 整合了 wiseflow 的在线学习能力和 Qanything 的 RAG 能力,如果你更加关注基于微信生态的信息搜集(比如公众号文章),也请参考 awada项目
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) | Crawler / Scraper | LLM-Agent |
---|---|---|---|
主要解决的问题 | 数据处理(筛选、提炼、贴标签) | 原始数据获取 | 下游应用 |
关联 | 可以集成至WiseFlow,使wiseflow具有更强大的原始数据获取能力 | 可以集成WiseFlow,作为动态知识库 |
wiseflow是一个原生的LLM应用,仅需7B~9B大小LLM就可以很好的执行信息挖掘、过滤与分类任务,且无需向量模型,系统开销很小,适合各种硬件环境下的本地化以及私有化部署。
wiseflow将挖掘出的信息存储于自带的Pocketbase数据库中,这意味着这种情况下您无需了解wiseflow的代码,只需要对数据库进行读取操作即可!
PocketBase作为流行的轻量级数据库,目前已有 Go/Javascript/Python 等语言的SDK。
可以参考我们的一个示例项目 —— 基于微信的可在线自主学习的个人AI助理(也可能是行业专家)awada
🌹 点赞、fork是好习惯 🌹
git clone https://github.com/TeamWiseFlow/wiseflow.git
cd wiseflow
中国区用户使用前请合理配置网络,或者指定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
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 访问获取的数据:
复制目录下的env_sample,并改名为.env, 参考如下 填入你的配置信息(LLM服务token等)
windows用户如果选择直接运行python程序,可以直接在 “开始 - 设置 - 系统 - 关于 - 高级系统设置 - 环境变量“ 中设置如下项目,设置后需要重启终端生效
经过反复测试(中英文任务)GET_INFO_MODEL、REWRITE_MODEL、HTML_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-Instruct 和 gpt-4o-mini-2024-07-18 。
针对有需求使用 gpt-4o-mini-2024-07-18
的用户,可以尝试第三方代理 AiHubMix,支持国内网络环境直连、支付宝充值(实际费率相当于官网86折)
🌹 欢迎使用如下邀请链接 AiHubMix邀请链接 注册 🌹
🌍 上述两个平台的在线推理服务均兼容openai SDK,配置.env
的LLM_API_BASE
和LLM_API_KEY
后即可使用。
启动程序后,打开pocketbase Admin dashboard UI (http://127.0.0.1:8090/_/)
通过这个表单可以指定你的关注点,LLM会按此提炼、过滤并分类信息。
tags 字段说明:
通过这个表单可以指定自定义信源,系统会启动后台定时任务,在本地执行信源扫描、解析和分析。
sites 字段说明:
如您所见,本项目最低仅需使用7b\9b大小的LLM,且无需任何向量模型,这就意味着仅仅需要一块3090RTX(24G显存)就可以完全的对本项目进行本地化部署。
请保证您的本地化部署LLM服务兼容openai SDK,并配置 LLM_API_BASE 即可。
注:若需让7b~9b规模的LLM可以实现对tag explaination的准确理解,推荐使用dspy进行prompt优化,但这需要累积约50条人工标记数据。详见 DSPy
本项目基于 Apache2.0 开源。
商用以及定制合作,请联系 Email:[email protected]
有任何问题或建议,欢迎通过 issue 与我们联系。
如果您在相关工作中参考或引用了本项目的部分或全部,请注明如下信息:
Author:Wiseflow Team
https://github.com/TeamWiseFlow/wiseflow
Licensed under Apache2.0