likes
comments
collection
share

基于智谱AI表情包数据建立的EmojiAgent开源项目

作者站长头像
站长
· 阅读数 8

👋 大家好,最近智谱AI组织了一场表情包斗图Agent的分享直播,他们的演示是使用GLMs的智能体进行演示。

基于智谱AI表情包数据建立的EmojiAgent开源项目

看起来很有趣,我就想基于他们公开的表情包数据集,做一个开源EmojiAgent项目 ➡️ 一方面是能接入自己研发的AI Native产品 帝阅-专注知识管理与创造的智能侍读助理 ➡️ 另一方面是作为一个工程案例分享给更多AI同行者


如果大家对我的其它开源项目感兴趣,欢迎访问我的Github主页

基于智谱AI表情包数据建立的EmojiAgent开源项目

接下来我就和大家介绍一下我最新制作的这个EmojiAgent开源项目:LangChain-Emoji

📊 表情包数据集

本项目表情包数据来源于智谱 AI 团队,数据来源和相关介绍如下 github.com/LLM-Red-Tea… 感谢开源 一起玩转大模型 🎉🌟🌟

🚀 快速开始

1.部署 Python 环境

  • 安装 miniconda
mkdir ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
  • 创建虚拟环境
# 创建环境
conda create -n LangChain-Emoji python==3.10.11
  • 安装 poetry
# 安装
curl -sSL https://install.python-poetry.org | python3 -

2. 运行 LangChain-Emoji

  • 安装依赖
# 克隆项目代码到本地
git clone https://github.com/ptonlix/LangChain-Emoji.git
conda activate LangChain-Emoji # 激活环境
cd LangChain-Emoji # 进入项目
poetry install # 安装依赖
  • 修改配置文件

OpenAI 文档 ZhipuAI 文档 LangChain API

# settings.yaml

配置文件录入或通过环境变量设置以下变量

# OPENAI 大模型API
OPENAI_API_BASE
OPENAI_API_KEY

# ZHIPUAI 智谱API
ZHIPUAI_API_KEY

# LangChain调试 API
LANGCHAIN_API_KEY

# 向量数据库,默认采用chromadb
embedding #配置向量模型,默认为zhipuai

# 腾讯云向量数据库配置(可选)
TCVERCTORDB_API_HOST
TCVERCTORDB_API_KEY

# Minio云盘配置(可选)
MINIO_HOST
MINIO_ACCESS_KEY
MINIO_SECRET_KEY

详情配置文件介绍见: LangChain-Emoji 配置

  • 数据初始化

主要借助于 tools/datainit.py 数据初始化工具完成相关操作

I. 采用数据本地文件部署

➡️ 百度云盘下载

从百度下载数据,解析
地址:https://pan.baidu.com/s/11iwqoxLtjV-DOQli81vZ6Q?pwd=tab4
下载到local_data,并解压

➡️ 谷歌云盘下载

cd tools
python datainit.py --download
# 等待数据包下载并解压完成

Ⅱ. 采用 Minio 云盘部署(可选)

完成步骤1,将数据下载到 local_data 目录并解压完成

修改settings.yaml配置文件中 minio 的配置,填写好 MINIO_HOST MINIO_ACCESS_KEY MINIO_SECRET_KEY 填写好这三个参数

cd tools
python datainit.py --upload
# 等待数据上传到minio完成

Ⅲ. 同步元数据到向量数据库 (默认采用 ChromaDB)

cd tools
python datainit.py --vectordb
# 等待数据上传到向量数据库完成

腾讯云向量数据库(可选) 修改settings.yaml配置文件中 向量数据库 的配置,填写好 TCVERCTORDB_API_HOST TCVERCTORDB_API_HOST 填写好这两个参数 vectorstore database选择 tcvectordb

  • 启动项目
# 启动项目
python -m langchain_emoji

# 查看API
访问: http://localhost:8003/docs 获取 API 信息
  • 启动 Web Demo
# 进入前端目录
cd frontend
# 启动
streamlit run emoji.py

💡 演示效果

基于智谱AI表情包数据建立的EmojiAgent开源项目

📖 项目介绍

1. 流程架构

基于智谱AI表情包数据建立的EmojiAgent开源项目

LangChain-Emoji流程架构图

核心流程:

  1. 项目数据初始化,将表情包数据集下载并同步到向量数据库和云盘等
  2. 前端传入 Prompt 通过 Retriever 召回表情包信息(文件名、文件描述)列表(默认 4 个)
  3. 通过大语言模型,从表情包列表中筛选出最符合输入 Prompt 的表情包
  4. 通过表情包的文件名去数据中心获取图片数据,返回前端呈现

2. 目录结构

├── docs  # 文档
├── local_data  # 数据集目录
├── langchain_emoji
│   ├── components #自定义组件
│   ├── server # API服务
│   ├── settings # 配置服务
│   ├── utils
│   ├── constants.py
│   ├── di.py
│   ├── launcher.py
│   ├── main.py
│   ├── paths.py
│   ├── __init__.py
│   ├── __main__.py #入口
│   └── __version__.py
├── log # 日志目录

3. 功能介绍

  • 支持 openai zhipuai deepseek 大模型
  • 支持本地向量数据库chroma腾讯云向量数据库
  • 支持 配置文件动态加载
  • 支持 Web Demo 演示

🚩 Roadmap

  • 搭建 LangChain-Emoji 初步框架,完善基本功能
  • 支持本地向量数据库 Chroma
  • 搭建前端 Web Demo
  • 新在线大模型: 深度求索 ⏳ 测试中
  • 接入微信客户端,开启斗图模式

💥 贡献

欢迎大家贡献力量,一起共建 LangChain-Emoji,您可以做任何有益事情

  • 报告错误
  • 建议改进
  • 文档贡献
  • 代码贡献 ... 👏👏👏

🎉 感谢大家支持~ 也欢迎大家在评论区多多与我留言与讨论AI相关的产品与技术~


转载自:https://juejin.cn/post/7366836510689689635
评论
请登录