基于dify+memobase实现带永久记忆功能AI智能微信客服系统(安全无风控无封号)

python 复制代码
Tips: 本项目适用于开发者!
开发环境:Python 3.11.9

一. 所需项目

Dify项目:https://github.com/langgenius/dify 推荐部署1.70版本!

Memobase项目:项目文件见本项目文件内!(memobase-main.zip)

在dify工具库中搜索memobase并安装,配置memobase参数,注意Memobase URL需要使用:http://host.docker.internal:8019 这个位置需要注意下!

二. Dify和Memobase项目部署(Docker compose部署)

1. dify本地部署视频教程~

https://www.bilibili.com/video/BV1homLBjEEj/?spm_id_from=333.337.search-card.all.click\&vd_source=15a592c5f0263a9d0bc6f52efa971d09

2. memobase本地部署视频教程~

https://www.bilibili.com/video/BV1JwVZz5EPS/?spm_id_from=333.1391.0.0

https://www.bilibili.com/video/BV1eTLFzkEwg/?spm_id_from=333.1391.0.0

························································以上为前置工作······················································

三. 本项目参数配置

项目文件:带记忆功能的微信智能客服.rar

链接: https://pan.baidu.com/s/1z-mWJEBppxDQ5GKbkBOwPw?pwd=9tdq 提取码: 9tdq

配置文件参数说明

复制代码
1.基础参数配置!

ROBOT_ID=机器人微信Id(官网登录后可以在管理系统中查看到,www.wechatbot.online)
TOKEN=令牌(官网登录后可以在管理系统中查看到,www.wechatbot.online)
SERVER_IP=服务器IP无需修改
SERVER_PORT=5555(服务端口,无需修改)

2.dify项目配置!

>>chatflow智能体本地访问URL和密钥<<
DIFY_BASE_URL=http://127.0.0.1/v1
DIFY_API_KEY=app-cdLLKDMn0vDn8yOpWGlIrfwq
>>知识库本地访问URL和密钥<<
KNOWLEDGE_BASE_URL=http://127.0.0.1/v1
KNOWLEDGE_API_KEY=dataset-RDyPjU6YVhHrHU0PogV4r3og

3.群聊触发关键词!
KEYWORD=@马先宏

四. 项目文件说明

main.py项目入口
schedule.py消息调度(可改异步)
usermanger.py 是实现memobase项目增查功能!
sdk_python3.X 是天翼云SDK,用户操作对象存储! 可实现 增删改查 https://wechat-bot.apifox.cn/7540681m0
api>difyapi.py> 调用dify中chatflow智能体的的接口!
api>knowledge_dify.py> 在dify中操作知识库的接口!
action> 消息发送接口! https://wechat-bot.apifox.cn/7531569m0
带记忆的聊天助手.yml> chatflow的工作流文件。在dify中直接导入使用。

五. Memobase项目本地Python代码操作说明

  1. 判断是否成功链接: 成功返回 True
python 复制代码
from memobase import MemoBaseClient, ChatBlob

# 确保端口是 8019,API Key 是 secret
mb = MemoBaseClient(project_url="http://47.106.20.33:8019", api_key="secret")

# 连接状态
assert mb.ping()
print(mb.ping())
  1. 创建新用户
python 复制代码
# 创建用户
uid = mb.add_user({"username": "demo"})
mb.update_user(uid, {"username": "demo"})
print(uid)
  1. 管理用户 (获取用户信息并打印)
python 复制代码
 
uid = "13c03ec9-c25f-4f43-a66e-58865ea41acf"
u = mb.get_user(uid)
print(u.context())
  1. 插入数据
python 复制代码
# 插入聊天数据
messages = [
    {
        "role": "user",
        "content": "我是一个程序员"
    },
    {
        "role": "user",
        "content": "我喜欢python",
    },
    {
        "role": "user",
        "content": "我超级喜欢打PUBG"
    }
]
bid = u.insert(ChatBlob(messages=messages))
print(bid)
print(u.get(bid))
u.flush()
  1. 查询数据
python 复制代码
# 获取记忆数据
u.flush()
print(u.profile(need_json=True))

6 .将记忆集成到您的提示词中

python 复制代码
print(u.context(max_token_size=500, prefer_topics=["basic_info"]))

六. 最终效果演示



相关推荐
pps-key2 小时前
网络安全教学体系构建与实施方案
安全·web安全
乾元2 小时前
AI 在 BGP 池管理与路由安全(RPKI / ROA)中的自动化运用——服务提供商网络中“可验证路由”的工程化实现
运维·服务器·网络·人工智能·网络协议·安全·自动化
Bruce_Liuxiaowei2 小时前
HTTPS真的安全吗?—— 使用 mitmproxy 中间人攻击破解 GitHub 登录会话
安全·网络安全·https
江边鸟2193 小时前
小迪安全第二十六天
网络·tcp/ip·安全·web安全·网络安全
陈思杰系统思考Jason3 小时前
学习型组织:决策质量的提升
百度·微信·微信公众平台·新浪微博·微信开放平台
米羊1219 小时前
fastjson (3修复)
网络·网络协议·安全
weixin_4624462313 小时前
exo + tinygrad:Linux 节点设备能力自动探测(NVIDIA / AMD / CPU 安全兜底)
linux·运维·python·安全
喂自己代言18 小时前
Windows 10 22H2 纯系统自带工具安全方案
windows·安全
合才科技19 小时前
【要闻周报】网络安全与数据合规 12-31
安全·web安全