CopilotKit:开源 Copilot 框架,部署应用内 AI 代理,使用 Langchain 自动执行任何任务!

cover_image
原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!)

CopilotKit:开源 Copilot 框架,部署应用内 AI 代理,使用 Langchain 自动执行任何任务!

🌟如何仅用一行代码将强大的 AI 代理无缝集成到您的应用程序中。

Hello,大家好啊,今天想分享一个 Copilot 新项目: 用于构建自定义 AI Copilots
的框架🤖,应用内AI聊天机器人、应用内AI代理和AI驱动的文本区域。

Copilot构建的“Hello World” 模板

Demo: 这里展示了利用Copilot构建各种小型应用程序的演示,每一个演示都单独分配的一个仓库。

您可以在我们的GitHub示例中找到各种用例的示例。以下是其中一些示例:

  • Hello World: 一个简单的待办事项应用,展示了如何在React中使用CopilotKit。

  • Presentation Voice: 展示了如何将CopilotKit与PowerPoint和语音识别结合使用。

  • Presentation Demo: 一个更复杂的示例,展示了如何在PowerPoint演示中使用CopilotKit。

  • Spreadsheet Demo: 展示了如何在电子表格应用中使用CopilotKit。

**比如, ** PowerPoint + Copilot + 语音 ** : **

视频介绍与教程

组件

🌟 ** : **
构建 应用感知的AI聊天机器人 ,可以“看到”当前的应用状态并在应用内执行操作。
AI聊天机器人可以与您的应用前端和后端以及第三方服务(如Salesforce、Dropbox等)进行对话,支持生成式UI。几秒钟内开始使用:

🌟 ** : **
任何 <textarea /> 的替代品,具有AI辅助文本生成功能。
自动完成 + AI编辑 + 从头生成。基于用户数据和Copilot应用上下文。
只需将 textarea 更改为 CopilotTextarea

🌟 应用内代理(由LangChain驱动):
为代理提供实时应用上下文,让代理在应用内执行操作。

🌟 联合代理(由LangChain驱动,敬请期待):
允许最终用户观察和干预应用内代理的操作,具有原生应用UX。
最终用户可以 纠正 中间步骤中的错误(如果有),并 从该点重新开始代理操作

工作原理

定义以下简单的入口点 进入您的应用程序,CopilotKit🪁执行引擎将处理其余部分!

  • 应用状态 (前端 + 后端 + 第三方)

  • 应用交互 (通过普通的TypeScript代码,前端 + 后端)

  • 特定用途的LLM链

  • • 还有更多。

安装

要安装CopilotKit,请执行以下命令:

pnpm i @copilotkit/react-core  
# or  
npm i @copilotkit/react-core  
# or  
yarn add @copilotkit/react-core

** 📚 阅读文档以了解更多 📚 **

组成模块

有关更全面和最新的概述,请参阅文档。大致如下:

Copilot入口点
  • • ✅ useCopilotReadable :将前端状态提供给copilot。

  • • ✅ useMakeCopilotDocumentReadable :将文档状态提供给copilot,特别适用于第三方状态(例如Gong通话记录)。

  • • ✅ useCopilotAction :前端应用程序交互。

  • • ✅ CopilotRuntime :服务器端运行时。

  • • 🚧 useCopilotChain :提供特定用例的LLM链。

内置UI组件
  • • ✅ :内置的、可定制的Copilot UI(可选 - 你可以使用自己的UI)。

  • • ✅ :内置的弹出UI。

  • • ✅ :独立的聊天UI。

  • • ✅ :具有Copilot自动完成功能的替代 <textarea /> 组件。

  • • ✅ useCopilotChat():用于完全自定义的UI组件。

  • • 🚧 使用自定义UX元素在聊天中 (即将推出)。

示例
<CopilotSidebar />  
import "@copilotkit/react-ui/styles.css"; // 添加到应用全局CSS  
import { CopilotKit } from "@copilotkit/react-core";  
import { CopilotSidebar } from "@copilotkit/react-ui";  
  
function MyAmazingContent() {  
  const importantInfo = useImportantInfo();  
  useCopilotReadable({  
    description: "非常重要的信息",  
    value: importantInfo,  
  });  
  
  useCopilotAction(  
    {  
      name: `selectDestinations_${toCamelCase(heading)}`,  
      description: `在${heading}表格中将给定的目的地设置为“已选择”`,  
      parameters: [  
        {  
          name: "destinationNames",  
          type: "string[]",  
          description: "要选择的目的地名称",  
          required: true,  
        },  
      ],  
      handler: async ({ destinationNames }) => {  
        setCheckedRows((prevState) => {  
          const newState = { ...prevState };  
          destinationNames.forEach((destinationName) => {  
            newState[destinationName] = true;  
          });  
          return newState;  
        });  
      },  
    },  
    []  
  );  
  
  return <YourContent />;  
}  
  
export default function App() {  
  return (  
    <CopilotKit url="/api/copilotkit/chat">  
      {/* 全局状态和copilot逻辑。将其放在整个应用程序周围 */}  
      <CopilotSidebar>  
        {/* 内置的Copilot UI(或使用你自己的UI)。放在单个页面或整个应用程序周围 */}  
        <MyAmazingContent />  
      </CopilotSidebar>  
    </CopilotKit>  
  );  
}


<CopilotTextarea />  
一个具有自动完成、AI插入/编辑和从头生成的替代`<textarea />`组件。<br/>  
基于提供给Copilot的数据进行索引。


import "@copilotkit/react-textarea/styles.css"; // 添加到应用全局CSS  
import { CopilotTextarea } from "@copilotkit/react-textarea";  
import { CopilotKit } from "@copilotkit/react-core";  
  
// 在应用程序中的任何地方调用以提供外部上下文(确保用<CopilotKit>包装应用):  
// 见下文以了解更多功能(父/子层次结构、类别等)  
useCopilotReadable({  
  description: "您的数据描述",  
  value: relevantInformation,  
});  
useMakeCopilotDocumentReadable(document);  
  
return (  
  <CopilotKit url="/api/copilotkit/chat">  
    {/* 全局状态和copilot逻辑。将其放在整个应用程序周围 */}  
    <CopilotTextarea  
      className="p-4 w-1/2 aspect-square font-bold text-3xl bg-slate-800 text-white rounded-lg resize-none"  
      placeholder="一个CopilotTextarea!"  
      autosuggestionsConfig={{  
        purposePrompt:  
          "一个关于CopilotTextarea的酷炫公告帖。简短、清晰、酷炫。",  
        forwardedParams: {  
          // 自定义自动完成的额外参数  
          max_tokens: 25,  
          stop: ["\n", ".", ","],  
        },  
      }}  
    />  
  </CopilotKit>  
);

用例

CopilotKit帮助开发者为用户构建 全新的体验 。以下是一些常见用例:

  • SaaS应用程序中的AI助理 :构建您的应用感知型AI聊天机器人。

  • AI编辑器助手 :通过CopilotTextarea使用强大的助手。

  • AI增强的CRM :使用AI增强您的客户关系管理工具。

  • 自定义AI工作流 :在您的应用程序中定义自定义的AI工作流。

  • • 还有更多!

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

**
**

** 点这里 👇 关注我,记得标星哦~ **

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



收藏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/685648.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端工程化工具系列(九)—— mddir(v1.1.1):自动生成文件目录结构工具

mddir 是一个基于项目目录结构动态生成 Markdown 格式目录结构的工具&#xff0c;方便开发者在文档中展示文件和文件夹的组织结构。 1. 安装 全局安装改工具&#xff0c;方便用于各个项目。 pnpm i -g mddir2. 使用 在想要生成目录接口的项目内打开命令行工具&#xff0c;输…

RocketMQ教程(一):RocketMQ的基本概念

RocketMQ是什么? RocketMQ 是一个分布式消息中间件和流计算平台,由阿里巴巴团队开源并贡献给 Apache 软件基金会,现为 Apache 顶级项目。它主要用于处理大规模数据的传输问题,支持高吞吐量、高可用性和可扩展性的消息发布和订阅服务。RocketMQ 能够确保消息的可靠传输,支持…

从报名到领证:软考高级【系统分析师】报名考试全攻略

本文共计13156字&#xff0c;预计阅读39分钟。包括七个篇章&#xff1a;报名、准考证打印、备考、考试、成绩查询、证书领取及常见问题。 不想看全文的可以点击目录&#xff0c;找到自己想看的篇章进行阅读。 一、报名篇 报名条件要求&#xff1a; 1.凡遵守中华人民共和国宪…

R语言探索与分析17-股票题目

Value at Risk&#xff08;VaR&#xff09;是一种统计技术&#xff0c;用于量化投资组合在正常市场条件下可能遭受的最大潜在损失。它是风险管理和金融领域中一个非常重要的概念。VaR通常以货币单位表示&#xff0c;用于估计在给定的置信水平和特定时间范围内&#xff0c;投资组…

码农危是否到来? AI大模型时代到来程序员能做啥?

前言 “马斯克提到人工智能会让工作变得毫无意义&#xff0c;并建议人们可能需要去编写人工智能程序&#xff0c;以避免被AI剥夺就业”&#xff0c;AI大模型的爆发&#xff0c;各种自动化编码应用工具&#xff0c;AI机器人出现&#xff0c;“前有2023年2月份&#xff0c;ChatG…

基于FPGA的任意点滑动平均(滑动窗长度和数据位宽参数化,例化时参数可设置)

目录 1.前言2.原理3.举例说明4.Matlab实现5.FPGA实现滑动平均 微信公众号获取更多FPGA相关源码&#xff1a; 1.前言 对于一维信号&#xff0c;我们可以使用类似移动平均滤波&#xff08;Moving Average Filtering&#xff09;实现denoising。Moving Average Filtering 是一种…

算法金 | 再见!!!KNN

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 KNN算法的工作原理简单直观&#xff0c;易于理解和实现&#xff0c;这使得它在各种应用场景中备受青睐。 我们将深入探讨KNN算法&…

微服务+分库分表的自增主键ID该如何设计?

一. 前言 分布式ID 是分布式系统里面非常重要的一个组成部分&#xff0c;那么我们在设计分布式ID的时候&#xff0c;需要考虑什么问题呢&#xff1f; ❓简单结构下是怎么实现 ID 的控制的&#xff1f; 单实例系统 &#xff1a;通过时间戳&#xff0c;系统内自增&#xff0c;上…

【高校科研前沿】新疆生地所陈亚宁研究员团队在GeoSus发文:在1.5°C和2°C全球升温情景下,中亚地区暴露于极端降水的人口增加

目录 文章简介 1.研究内容 2.相关图件 3.文章引用 文章简介 论文名称&#xff1a;Increased population exposures to extreme precipitation in Central Asia under 1.5 ◦C and 2 ◦C global warming scenarios&#xff08;在1.5C和2C全球变暖情景下&#xff0c;中亚地区…

flutter LINK : ...fatal error LNK1168: �޷���...

执行 flutter run -d windows 后报错 LINK : fatal error LNK1168: &#xfffd;޷&#xfffd;&#xfffd;&#xfffd; E:\xiaoli\flutter_project\huapu_update_hardware\build\windows\x64\runner\Debug\huapu_update_hardware.exe &#xfffd;&#xfffd;&#xfffd;…

gstreamer+mpp调用硬解码播放视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、cpu解码二、gstreamermpp1.默认已安装2.没安装必要软件 总结 前言 以前一直在MPP上开发硬解码推理&#xff0c;最近想弄一个盒子支持调用mpp硬解码播放视频…

OZON快蜗牛数据工具,OZON数据分析工具

在当今的电商时代&#xff0c;数据已经成为了商家们最宝贵的资产之一。无论是产品选品、市场定位&#xff0c;还是营销策略的制定&#xff0c;都离不开对数据的深入分析和精准把握。而在众多电商平台中&#xff0c;OZON以其独特的商业模式和庞大的用户群体&#xff0c;吸引了众…

Docker高级篇之Dockerfile解析

文章目录 1. DockerFile简介2. DockerFile的构建过程3. DockerFile的常用保留字4. 使用案例5. 虚悬镜像 1. DockerFile简介 DockerFile是用来构建Docker镜像的文本文件&#xff0c;是由一条条构建镜像的指令和参数构成的脚本。 2. DockerFile的构建过程 DockerFile内容的基…

DpEasy社区版1.4.0 | 体验全新的数据库特权账号管理平台!

上周&#xff0c;我们在社区发布了 DpEasy 调整为数据库特权账号管理平台的说明&#xff08;详见文章《“一键”掌控数据库特权&#xff0c;DpEasy 新版本即将起航》&#xff09;。今天&#xff0c;DpEasy 作为数据库特权账号管理平台正式发布了第一个版本&#xff0c;即 DpEas…

惠海 H5112C DC-DC降压恒流 PWM调光芯片12V 24V 36V 48V 60V 共阳无频闪 调光细腻顺滑

H5112C多功能平均电流型LED恒流驱动器是一款性能良好的产品&#xff0c;专为大功率恒流LED驱动领域设计。它具备以下显著特点&#xff1a; 宽电压范围&#xff1a;这款驱动器支持5-90V的宽电压输入范围&#xff0c;使其能够适应许多应用环境&#xff0c;有其稳定驱动性能。 准…

【PL理论】(6) F#:标准库之列表(List)

​​​​​ &#x1f4ad; 写在前面&#xff1a;本章我们将介绍 F# 标准库的列表&#xff0c;我们将简单的先过一遍列表的一些常用操作&#xff0c;具体的讲解我们将放在后续章节。 目录 0x00 标准库&#xff1a;列表&#xff08;List&#xff09; 0x01 模式匹配与列表 0x…

【机器学习系列】“购物篮分析入门:使用Apyori库进行关联规则挖掘”

目录 一、关联分析介绍 关键概念&#xff1a; 1. 支持度&#xff08;Support&#xff09; 2. 置信度&#xff08;Confidence&#xff09; 3. 提升度&#xff08;Lift&#xff09; 4. 频繁项集 5. 关联规则 应用场景&#xff1a; 实现方法 二、导入数据集 额外介绍一…

C语言小例程6/100

题目&#xff1a;输入三个整数x,y,z&#xff0c;请把这三个数由小到大输出。 程序分析&#xff1a;我们想办法把最小的数放到x上&#xff0c;先将x与y进行比较&#xff0c;如果x>y则将x与y的值进行交换&#xff0c;然后再用x与z进行比较&#xff0c;如果x>z则将x与z的值…

信号:干扰类别及特征提取

目录 第一部分&#xff1a;干扰类别 1.压制干扰 1.1噪声调幅瞄准式干扰(单音干扰) 1.2噪声调频阻塞式干扰&#xff08;宽带噪声干扰&#xff09; 1.3噪声调频扫频式干扰&#xff08;线性调频&#xff09; 2.欺骗干扰 2.1距离欺骗干扰&#xff08;幅度调制干扰&#xff0…

现代密码学-X.509认证业务

X.509的基础式公钥密码体制和数字签名。 证书 证书的格式 证书由可信的认证机构CA建立并由CA或者用户自己将其放入目录&#xff0c;以供其他用户方便访问。目录服务器本身并不负责为用户建立公钥证书&#xff0c;仅仅为用户访问公钥提供方便。 x.509证书格式 证书的获取 其…