Skip to content

PartyBoard原力小镇项目的ICP canister的代码

License

Notifications You must be signed in to change notification settings

MetaPowerMatrix/pabOnICP

Repository files navigation

原力小镇

  • 构建一个AI驱动的在ICP网络上运行的社交应用
  • 验证ICP网络运行社交应用的可行性 - Web App访问地址

Introduction

PartyBoard原力小镇项目部署在ICP网络上的三个服务的代码,matrix,agent和battery,编译部署成三个canister

Highlight Features:

  • 话题社交。
  • 和不同的AI角色聊天。
  • 和不同的真人角色聊天。

Achievement

  1. offchain访问onchain服务的参数编码问题
  2. 使用了wasm版本的rusqlite-ic,ic-sqlite包实现sqlite数据存储的和之前版本的兼容
  3. 使用了onchain的随机数生成服务保证之前服务中大量的UUID生成的兼容性
  4. 使用stable_structure持久化用户私有数据的问题,保证canister升级时的数据升级
  5. 使用stable_fs的文件操作和传统文件操作流程有差异,完成了通用访问函数的编写实现打开目录,遍历目录,读写文件等
  6. 在使用outgress http调用的时候,通过proxy返回简单一致数据保证共识达成,并升级服务支持ipv6
  7. 部署了ICP上的Vector Database canister用于用户数据embeddings的存储和查询,给社区提供一个将来规模足够大的AI训练和语料库用于训练和RAG
  8. 实现了在ICP上运行的AI社交dAPP,并初步集成进来了发行在BSC上的PAB token

架构图

Installation

Prerequisites

需要先安装ICP的开发工具

$ sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"

Install

下载和编译部署cansiter的步骤

$ git clone [<GitHub repo>](https://github.com/MetaPowerMatrix/pabOnICP)
$ cd pabOnIcp
$ dfx deploy --network ic

部署之前需要本地钱包中有足够的cycles

Usage

部署完成之后,可以通过web界面访问canister的接口,也可以使用dfx工具反问接口

接口访问例子

$ dfx canister call matrix hi
$ dfx canister call agent request_all_patos

Roadmap

Describe the project roadmap, this could be the grant milestones, but it could also be the team's broader project roadmap.

  • 移植Matrix和Agent服务,部署两个canister
  • 移植Pato智能体服务,部署一个canister
  • 增加向量数据库使用,部署一个canister.
  • 部署前端App到canister,可以通过canister域名访问应用的功能.
  • 添加更多的系统AI角色.
  • 构建数据量足够大的社交应用向量数据库供检索.

License

This project is licensed under the MIT license, see LICENSE.md for details. See CONTRIBUTE.md for details about how to contribute to this project.

References