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

原文: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);

相关推荐
猴子吃桃_Q1 天前
【GitHub每日速递 250925】 一套代码跑遍全平台!Flutter 让你的应用开发提速 10 倍
github每日速递
猴子吃桃_Q2 天前
【GitHub每日速递 250924】18 个 AI 投资大师齐上阵!这个开源对冲基金让你看透市场底牌
github每日速递
猴子吃桃_Q4 天前
【GitHub每日速递 250922】开源 AI 搜索引擎 Perplexica:本地大模型 + 多模式搜索,免费又强大!
github每日速递
猴子吃桃_Q7 天前
【GitHub每日速递 250919】MCP 生态新工具!Registry 服务器注册服务预览版,AI 开发者部署认证全流程揭秘
github每日速递
猴子吃桃_Q8 天前
【GitHub每日速递 250918】开发者必藏!336k 星标项目告诉你:前端 / 后端 / AI 岗该怎么学才高效
github每日速递
猴子吃桃_Q9 天前
【GitHub每日速递 250917】69k 星标!这个 MCP 服务器大集合,竟能解锁 AI 无限可能?
github每日速递
猴子吃桃_Q10 天前
【GitHub每日速递 250916】2053 个 n8n 工作流曝光!365 种集成 + 可视化管理,效率直接拉满
github每日速递
猴子吃桃_Q11 天前
【GitHub每日速递 250915】3 个宝藏开源项目:超长语音合成、算法学习库、自托管软件导航,开发者速收
github每日速递
猴子吃桃_Q14 天前
【GitHub每日速递】无需提示词!Nano Bananary香蕉超市:AI绘画玩法多到停不下来
github每日速递