原文:https://mp.weixin.qq.com/s/t99TeeaVhDTuzobY6WkYng

揭秘Linera:高可扩展区块链基础设施,附CLI工具快速上手攻略

linera-protocol 是一个基于Rust构建的高性能、去中心化微服务区块链协议的底层框架。简单讲,它让开发者能用微服务架构轻松搭建区块链应用,提升扩展性和运行效率。适用人群:区块链开发者、去中心化应用开发者、对高性能链上计算感兴趣的技术人员。

项目地址:https://github.com/linera-io/linera-protocol

主要语言:Rust

stars: 29.64k

项目概述

Linera是一个去中心化的区块链基础设施,专为高可扩展性、安全、低延迟的Web3应用程序而设计。

主要优势

  • 高可扩展性:能够支持大量的交易和用户,满足Web3应用不断增长的需求。
  • 安全性:采用了先进的加密技术和共识机制,保障数据和交易的安全。
  • 低延迟:可以实现快速的交易确认和响应,提供流畅的用户体验。

核心功能

  • 多链架构:支持微链(microchains),可以实现高效的跨链消息传递和资产转移。
  • 智能合约:提供了开发智能合约的SDK,允许开发者使用Rust语言为Wasm虚拟机编写应用程序。
  • 钱包管理:通过命令行工具(CLI)可以方便地管理用户钱包、创建链、查询余额和进行转账等操作。

仓库结构

仓库包含多个主要的crates和目录,按照依赖关系从低到高排列:

  • linera-base:基础定义,包括密码学相关内容。
  • linera-version:用于管理二进制文件和服务中的版本信息。
  • linera-views:将复杂数据结构映射到键值存储的库。
  • linera-execution:处理Linera应用程序的持久化数据和运行时逻辑。
  • linera-chain:负责块链、证书和跨链消息的持久化数据和逻辑。
  • linera-storage:在linera-chain之上定义协议的存储抽象。
  • linera-core:Linera协议的核心,包括客户端和服务器逻辑、节点同步等。
  • linera-rpc:定义RPC消息的数据类型和跟踪相应的数据模式。
  • linera-client:用于编写Linera客户端的库。
  • linera-service:包含客户端(CLI钱包)、代理(验证器前端)和服务器的可执行文件。
  • linera-sdk:用于开发基于Wasm虚拟机的Rust Linera应用程序的库。
  • examples:提供了用Rust编写的Linera应用程序示例。

可能的应用场景

  • 去中心化金融(DeFi):构建高效、安全的借贷、交易、流动性提供等金融应用。
  • 非同质化代币(NFT):支持NFT的创建、交易和管理,实现快速的资产转移和所有权验证。
  • 供应链管理:通过区块链的不可篡改特性,实现供应链的透明和可追溯性。

快速开始

可以使用Linera CLI工具快速设置本地测试网络,并进行一些微链之间的转账操作。具体步骤如下:

# 确保编译Linera二进制文件并添加到PATH中
export PATH="$PWD/target/debug:$PATH" # 导入可选的辅助函数
source /dev/stdin <<<"$(linera net helper 2>/dev/null)" # 启动本地测试网络
linera_spawn \
linera net up --with-faucet --faucet-port 8080 # 记录水龙头的URL
FAUCET_URL=http://localhost:8080 # 设置钱包和存储路径
export LINERA_WALLET="$LINERA_TMP_DIR/wallet.json"
export LINERA_KEYSTORE="$LINERA_TMP_DIR/keystore.json"
export LINERA_STORAGE="rocksdb:$LINERA_TMP_DIR/client.db" # 初始化新的用户钱包
linera wallet init --faucet $FAUCET_URL # 请求链
INFO1=($(linera wallet request-chain --faucet $FAUCET_URL))
INFO2=($(linera wallet request-chain --faucet $FAUCET_URL))
CHAIN1="${INFO1[0]}"
ACCOUNT1="${INFO1[1]}"
CHAIN2="${INFO2[0]}"
ACCOUNT2="${INFO2[1]}" # 显示钱包跟踪的不同链
linera wallet show # 查询链余额
linera query-balance "$CHAIN1"
linera query-balance "$CHAIN2" # 进行转账操作
linera transfer 10 --from "$CHAIN1" --to "$CHAIN2"
linera transfer 5 --from "$CHAIN2" --to "$CHAIN1" # 再次查询余额
linera query-balance "$CHAIN1"
linera query-balance "$CHAIN2" # 为用户余额充值
linera transfer 5 --from "$CHAIN1" --to "$CHAIN1:$ACCOUNT1"
linera transfer 2 --from "$CHAIN1:$ACCOUNT1" --to "$CHAIN2:$ACCOUNT2" # 查询用户余额
linera query-balance "$CHAIN1:$ACCOUNT1"
linera query-balance "$CHAIN2:$ACCOUNT2"

12周24课!微软超全AI入门课程,多语言支持还能边学边练!

AI-For-Beginners 是一个面向初学者的人工智能学习课程项目。简单讲,它用12周、24节课带你从零开始了解AI基础知识,配套Jupyter Notebook实践内容,适合边学边练。适用人群:AI初学者、学生、教师及对人工智能感兴趣的非专业人群。

项目地址:https://github.com/microsoft/AI-For-Beginners

主要语言:Jupyter Notebook

stars: 40.6k

这是一个由微软推出的人工智能初学者课程仓库,旨在帮助初学者了解人工智能的基础知识和实践技能。以下是该仓库的详细介绍:

课程概况

  • 课程为期12周,包含24节课程,涵盖了人工智能的多个方面,包括不同的人工智能方法、神经网络、深度学习、计算机视觉、自然语言处理等。
  • 课程提供了实践课程、测验和实验,帮助学习者巩固所学知识。
  • 课程适合初学者,涵盖了TensorFlow和PyTorch等工具,以及人工智能伦理等内容。

多语言支持

该课程支持多种语言,包括法语、西班牙语、德语、俄语、阿拉伯语等,通过GitHub Action实现自动化更新。

学习内容

  • 不同的人工智能方法:包括“传统”的符号方法,如知识表示和推理。
  • 神经网络和深度学习:使用TensorFlow和PyTorch两个流行的框架,介绍神经网络和深度学习的概念。
  • 图像处理和文本处理的神经网络架构:介绍用于处理图像和文本的神经网络架构,但可能在最新技术方面有所欠缺。
  • 不太流行的人工智能方法:如遗传算法和多智能体系统。

课程不涵盖内容

  • 人工智能在商业中的应用案例:建议学习微软学习平台上的相关课程。
  • 经典机器学习:可参考微软的机器学习初学者课程。
  • 使用认知服务构建的实用人工智能应用:建议从微软学习平台的相关模块开始学习。
  • 特定的机器学习云框架:如Azure Machine Learning、Microsoft Fabric或Azure Databricks,可参考相关学习路径。
  • 对话式人工智能和聊天机器人:有单独的学习路径可供参考。
  • 深度学习背后的深层数学知识:推荐阅读相关书籍。

课程内容结构

课程内容分为多个部分,每个部分包含多节课程,具体如下:

  • 课程设置:帮助学习者设置开发环境。
  • 人工智能简介:介绍人工智能的历史和不同方法。
  • 符号人工智能:介绍知识表示和专家系统。
  • 神经网络简介:介绍感知机、多层感知机和创建自己的框架。
  • 计算机视觉:介绍计算机视觉的基础知识、卷积神经网络、预训练网络和迁移学习等。
  • 自然语言处理:介绍文本表示、语义词嵌入、语言建模、循环神经网络、生成式循环网络、Transformer和BERT等。
  • 其他人工智能技术:介绍遗传算法、深度强化学习和多智能体系统。
  • 人工智能伦理:介绍人工智能伦理和负责任的人工智能。
  • 额外内容:介绍多模态网络、CLIP和VQGAN等。

课程特点

  • 预读材料:每节课程都包含预读材料,帮助学习者提前了解课程内容。
  • 可执行的Jupyter笔记本:提供了大量的Jupyter笔记本,包含理论知识和代码示例,帮助学习者更好地理解和实践。
  • 实验:部分课程提供了实验,让学习者有机会将所学知识应用到实际问题中。
  • 微软学习模块链接:部分课程包含了微软学习平台上相关模块的链接,方便学习者进一步学习。

入门指南

  • 设置开发环境:提供了设置开发环境的课程,以及针对教育工作者的课程设置指南。
  • 运行代码:介绍了如何在VSCode或Codepace中运行代码。
  • 克隆仓库:学习者可以通过点击“Fork”按钮复制仓库,并使用git clone命令克隆到本地。

CopilotKit:快速集成、安全开源的AI助手开发神器!

CopilotKit 是一个提供 React UI 与优雅基础设施的 AI 辅助开发工具库。简单讲,它帮你快速在应用中集成 AI 助手、聊天机器人和智能代理,让 AI 更贴近实际使用场景。适用人群:前端开发者、AI 应用开发者

项目地址:https://github.com/CopilotKit/CopilotKit

主要语言:TypeScript

stars: 23.23k

简介

CopilotKit 是一个用于在应用程序中集成 AI 助手和代理的开源工具包,具有快速集成、框架无关和生产就绪等特点,可帮助开发者在应用中轻松部署深度集成的 AI 助手。

核心功能

  • 快速安装与配置:通过简单的 CLI 命令 npx copilotkit@latest init 即可完成安装,接着添加 CopilotKit 提供者到应用中,实现快速集成。
  • 灵活定制:提供两种定制方式,既可以使用无头 UI 进行完全自定义控制,也能借助具有深度定制选项的预构建组件(支持 CSS 定制和传递自定义子组件)。
  • 前端动作与生成式 UI:支持前端动作和生成式 UI,具备完整的流式传输功能,可实现如 appendToSpreadsheet 这样的特定操作。
  • 应用内协同代理集成:借助 LangGraph 实现应用内协同代理的集成,支持状态共享、代理生成式 UI 以及人工干预审批等功能。
  • 中间代理状态流式传输:支持 LangGraph.js 和 LangGraph Python,可对中间代理状态进行流式传输。

优势

  • 快速集成:利用 CLI 能够在短时间内完成集成。
  • 框架无关:可与 React、Next.js、AGUI 等多种框架协同工作。
  • 生产就绪的 UI:提供可定制的组件,或者支持使用无头 UI 进行构建。
  • 内置安全机制:具备提示注入保护功能。
  • 开源透明:采用开源模式,完全透明且由社区驱动。

应用场景

可用于在各类应用程序中部署深度集成的 AI 助手和代理,辅助用户高效完成任务,像表单填充、状态机管理、数据聊天等场景都适用。

代码示例

  • 使用无头 API 和预构建组件
// 无头 UI 实现完全控制
const { visibleMessages, appendMessage, setMessages, ... } = useCopilotChat(); // 预构建组件,拥有深度定制选项
<CopilotPopup
instructions={"You are assisting the user as best as you can. Answer in the best way possible given the data you have."}
labels={{ title: "Popup Assistant", initial: "Need any help?" }}
/>
  • 前端动作与生成式 UI
useCopilotAction({
name: "appendToSpreadsheet",
description: "Append rows to the current spreadsheet",
parameters: [
{ name: "rows", type: "object[]", attributes: [{ name: "cells", type: "object[]", attributes: [{ name: "value", type: "string" }] }] }
],
render: ({ status, args }) => <Spreadsheet data={canonicalSpreadsheetData(args.rows)} />,
handler: ({ rows }) => setSpreadsheet({ ...spreadsheet, rows: [...spreadsheet.rows, ...canonicalSpreadsheetData(rows)] }),
});
  • 集成应用内协同代理与 LangGraph
// 应用与代理之间共享状态
const { agentState } = useCoAgent({
name: "basic_agent",
initialState: { input: "NYC" }
}); // 代理生成式 UI
useCoAgentStateRender({
name: "basic_agent",
render: ({ state }) => <WeatherDisplay {...state.final_response} />,
}); // 人工干预审批
useCopilotAction({
name: "email_tool",
parameters: [
{
name: "email_draft",
type: "string",
description: "The email content",
required: true,
},
],
renderAndWaitForResponse: ({ args, status, respond }) => {
return (
<EmailConfirmation
emailContent={args.email_draft || ""}
isExecuting={status === "executing"}
onCancel={() => respond?.({ approved: false })}
onSend={() =>
respond?.({
approved: true,
metadata: { sentAt: new Date().toISOString() },
})
}
/>
);
},
});
  • 中间代理状态流式传输
const modifiedConfig = copilotKitCustomizeConfig(config, {
emitIntermediateState: [{
stateKey: "outline",
tool: "set_outline",
toolArgument: "outline"
}],
});
const response = await ChatOpenAI({ model: "gpt-4o" }).invoke(messages, modifiedConfig);

【GitHub每日速递 250926】12 周 24 课,边学边练!微软 AI 初学者的通关秘籍的更多相关文章

  1. 一年一度!GitHub 开发者大会「GitHub 热点速递 v.22.45」

    GitHub 是全球最大的开源社区,它的一举一动都深受每一位开源爱好者的关注.这周末刚落下帷幕的<GitHub Universe 2022>是 GitHub 发布最新产品.功能.报告和计划 ...

  2. GitHub 热点速览 Vol.12:不可思议的浏览器 browser-2020 周涨 star 超 3 千

    作者:HelloGitHub-小鱼干 摘要:本周的 GitHub Trending 像极最近的天气,温暖如春突然来个急降温.新晋 GitHub 项目重启屈指可数的模式,好在老项目们表现甚好.比如一周就 ...

  3. 获取 Windows 密码「GitHub 热点速览 v.21.28」

    作者:HelloGitHub-小鱼干 安全问题一直是 GitHub 的一大热点,因为数据安全问题诞生的各类自托管服务便是.而本周周榜上的 2 个和安全主题相关的项目,有些不同.mimikatz 是个老 ...

  4. 在?开源社区版的 AirTag 请收下——GitHub 热点速览 v.21.21

    作者:HelloGitHub-小鱼干 在比特币跌到怀疑人生的时候,看着"出血不止"的荷包,是时候来"薅"一波羊毛了.openhaystack 能让你免去购买 A ...

  5. 视觉享受,兼顾人文观感和几何特征的字体「GitHub 热点速览 v.22.46」

    GitHub 上开源的字体不在少数,但是支持汉字以及其他非英文语言的字体少之又少,记得上一个字体还是 霞鹜文楷,本周 B 站知名设计 UP 主开源了的得意黑体在人文观感和几何特征之间找到了美的平衡. ...

  6. 快速绘制流程图「GitHub 热点速览 v.22.47」

    画流程图一直是研发的一个难题,如何画得通俗易懂已经够让人头疼了,还要美观大方.用 d2 的语法描述下流程,d2 会自动帮你生成一张配色极佳的流程图.说到研发的选择,本周特推的 choiceof.dev ...

  7. GitHub 官方大动作频频「GitHub 热点速览 v.22.24」

    作者:HelloGitHub-小鱼干 本周 GitHub 官方 Blog 很是热闹,GitHub 官方大动作频频也带来了 GitHub Blog 的频繁更新,除了本周 News 快读收录的 GitHu ...

  8. 12月18日风险投资速递:Facebook收购实时体育数据提供商Sport Stream

    国内公司 1.手游公司成都掌沃无限获得近千万元天使投资 成都掌沃无限成立于2013年,是一家新成立的手机游戏开发商,创始人及CEO张涛拥有超过10年的游戏行业从业经验和连续创业经历,其首款游戏产品为& ...

  9. 电子检索实体书「GitHub 热点速览 v.22.12」

    不知道有没有小伙伴遇到实体书快速定位指定内容的问题,凭借着记忆里很难快速翻阅到正确的页数,但 paperless-ngx 也许能帮上你的忙,它除了能将你的实体书籍电子化变成文件库里的一员之外,还能帮你 ...

  10. Python 霸榜的一周,又有什么新 AI 力作呢?「GitHub 热点速览」

    GPT 带火了一波语言模型,LLaMA 和 Alpaca 也在持续发力.依旧是各类 GPT 后缀霸榜 GitHub trending 的一周,为此特推部分专门收录了两个比较不错的 GPT 应用.而作为 ...

随机推荐

  1. MindManager:将excel转成思维导图

    当被要求把一个excel的内容转成思维导图的时,我讨要了很长的时间,使得有更多时间进行摸鱼,来完成本篇博客. 一:excel格式 绝不能使用合并单元格的方式,有合并的地方需要拆分,这是因为合并单元格后 ...

  2. 统计的系统客观性与动态进化性•Freq频率与Bayes两大学派及争论•统计推断•Bayes学派及其基本观点与Bayes估计

    统计的系统客观性: 统计数据及其活动不是片面的,而是系统客观反映客观现象. 周期的做"总体统计" + 随机/按需/周期做"抽样统计": 统计的动态进化性: 统计 ...

  3. SciTech-Health-Dental: 铸造冠+锤造冠

    锤造冠: 锤造全冠是应用合金片经冲压而成的壳状全冠修复体.有无缝冠和焊接冠二种, 优点是制作简单方便. 焊接冠: 表面有焊缝,机械性能差,制作不便,已少用. 应用现代焊接与融接科技,能不能重振&quo ...

  4. FreeSwitch: ESL Inbound内联模式下如何设置单腿变量

    outbound外联模式下,可以参考我先前写的文章:freeswitch: ESL中如何自定义事件及自定义事件的监听,使用export导出变量.但是inbound模式下,ESL client并未封装e ...

  5. OpenList挂载「百度网盘」

    01 基础挂载设置 存储->添加 选择百度网盘 填写挂载路径 策略可选用302代理,也可选用本地代理 下载接口使用官方.online api 关掉 获取客户端ID.密钥以及刷新令牌(在下面几步中 ...

  6. win11正式版系统如何去除盾牌图标?

    有雨林木风官网的小伙伴,在win11纯净版系统发现桌面图标有一个小盾牌,看着很不舒服,那么如何去除盾牌图标呢?其实很简单的,以下就是ylmf小编小编整理的解决方法,有需要的朋友一起来学习吧! 以下是在 ...

  7. Win10正式版玩老游戏不兼容如何设置的问题

    有一位雨林木风系统的小伙伴,说他用的win10正式版系统电脑根本不支持运行老游戏了.有些单机游戏完全就不能玩了.其实,不能运行的主要原因就是电脑的兼容性问题,接下来,win10专业版小编就来分享设置兼 ...

  8. Unity开源搜索引擎

    https://unitylist.com/

  9. 对Java的性能问题的一些思考

    解决 Java 的性能问题需要系统化的诊断和针对性的优化,涉及代码.JVM.架构等多个层面.以下是从 "问题定位" 到 "优化落地" 的完整流程和具体方法:一. ...

  10. tmux 常用命令

    Tmux(Terminal Multiplexer)是一个 终端复用工具,用于在单个终端窗口中创建和管理多个 虚拟终端会话.它主要解决以下问题: Tmux 的核心功能 会话持久化 即使断开SSH连接, ...