简体中文 | English
本项目表情包数据来源于智谱 AI 团队,数据来源和相关介绍如下
https://github.com/LLM-Red-Team/emo-visual-data
感谢开源 一起玩转大模型 🎉🌟🌟
💡💡💡 更新:我们支持微信客户端体验啦~
- 安装 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 -
- 安装依赖
# 克隆项目代码到本地
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
我们支持微信客户端体验啦~
核心流程:
- 项目数据初始化,将表情包数据集下载并同步到向量数据库和云盘等
- 前端传入 Prompt 通过 Retriever 召回表情包信息(文件名、文件描述)列表(默认 4 个)
- 通过大语言模型,从表情包列表中筛选出最符合输入 Prompt 的表情包
- 通过表情包的文件名去数据中心获取图片数据,返回前端呈现
├── 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 # 日志目录
- 支持
openai
zhipuai
deepseek
大模型 - 支持本地向量数据库
chroma
和腾讯云向量数据库
- 支持 配置文件动态加载
- 支持 Web Demo 演示
- 搭建 LangChain-Emoji 初步框架,完善基本功能
- 支持本地向量数据库 Chroma
- 搭建前端 Web Demo
- 选择 LLM
- 支持更多模型
- 在线大模型: 深度求索 ⏳ 测试中
- 本地大模型
- 接入微信客户端,开启斗图模式
🎉 扫码联系作者,如果你也对本项目感兴趣
🎉 欢迎加入 LangChain-X (帝阅开发社区) 项目群参与讨论交流
欢迎大家贡献力量,一起共建 LangChain-Emoji,您可以做任何有益事情
- 报告错误
- 建议改进
- 文档贡献
- 代码贡献
...
👏👏👏
「帝阅」
是一款个人专属知识管理与创造的 AI Native 产品
为用户打造一位专属的侍读助理,帮助提升用户获取知识效率和发挥创造力
让用户更好地去积累知识、管理知识、运用知识
LangChain-Emoji 是帝阅项目一个子项目
欢迎大家前往体验帝阅 给我们提出宝贵的建议