基于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"]))

六. 最终效果演示



相关推荐
每天一把堆栈2 小时前
ciscn-pwn
安全·网络安全·pwn
05候补工程师2 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
雪度娃娃3 小时前
Asio异步读写——连接的安全回收问题
开发语言·c++·安全·php
国科安芯5 小时前
ASM232S抗辐照RS-232收发器的技术架构与空间环境适应性研究
单片机·嵌入式硬件·安全·架构·安全性测试
px不是xp5 小时前
【灶台导航】个人中心模块开发实战
javascript·微信·腾讯云·notepad++
秦明月136 小时前
电气安全回路设计实战:皮尔兹安全继电器应用
经验分享·笔记·安全·职场和发展·创业创新·学习方法
ylscode8 小时前
巨齿鲨突袭GitHub:5500余仓库沦陷,开源供应链安全防线再遭重创
运维·服务器·网络·安全·安全威胁分析
开开心心就好8 小时前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
tryqaaa_9 小时前
学习日志(三)【php语法学习,iscc校赛wp】
android·网络协议·学习·安全·web安全·web
青春喂了后端9 小时前
Go Sidecar Repository 并发锁改造:让并发请求安全地进入 Git 仓库层
git·安全·golang