大家好!我是韩老师。

不得不说,最近 OpenAI/ChatGPT 真的是太火了。

前几天,微软宣布推出全新的 Bing 和 Edge,集成了 OpenAI/ChatGPT 相关的技术,带动股价大涨:

微软市值一夜飙涨 5450 亿

国内外各家大厂也是纷纷跟进,发布或者将要发布与 OpenAI/ChatGPT 对标的 AI 技术。

那么,各家大厂都在加大投入 OpenAI/ChatGPT 类似的 AI 技术。我们普通人是否能搭建一个属于我们自己的 ChatGPT 机器人呢?

答案是肯定的。

虽然 ChatGPT 没有开放官方的 API 或者 SDK,但是 OpenAI 提供了官方的 REST API 以及 Node.js 和 Python 的 SDK。

而且,OpenAI API 所提供的 text-davinci-003model,和 ChatGPT 相类似,也是 GPT-3.5 的 model。

如此一来,我们就可以站在巨人的肩膀上,打造自己的 ChatGPT 机器人!

Mircosot Teams 是一款全球知名的团队协作工具。韩老师就以 Teams 为例,带大家打造一款在 Teams 中运行的 OpenAI/ChatGPT 机器人!

运行后,你就可以在 Teams 与你自己的 ChatGPT 机器人互动啦!

再问问他知不知道疯狂星期四?

接下来,让我们一起看看如何快速地把 ChatGPT 机器人运行起来~

前置条件

1. 注册一个 OpenAI 的账号,然后申请一个 API key

https://beta.openai.com/account/api-keys

2. 安装 Node.js 18

https://nodejs.org/en/

3. 一个 M365 账号。如果没有 M365 账号的话,可以申请一个免费的 M365 开发者账号:

https://developer.microsoft.com/microsoft-365/dev-program

4. 安装 VS Code 和 Teams Toolkit 插件

https://marketplace.visualstudio.com/items?itemName=TeamsDevApp.ms-teams-vscode-extension

本地运行

1. 下载项目代码到本地

https://github.com/formulahendry/openai-teams-bot

2. 在 VS Code 中,打开 openai-teams-bot 项目

3. 在 bot 文件夹下,创建一个 .env.teamsfx.local 文件,然后设置 OPENAI_API_KEY

4. 点击 “F5” 来启动项目

5. 第一次启动时,会让你登录 M365 账号

6. 如果一切顺利,VS Code 会自动打开浏览器,然后添加这个应用即可。

接下来,就可以愉快地和你的 ChatGPT 机器人聊天了~

云端部署

除了在本地运行,是否能分享给更多人一起玩呢?

答案也是肯定的。

通过 Teams Toolkit,可以一键部署,轻松上云,把 ChatGPT 机器人运行在 Azure 上!

1. 登录到 Azure

如果没有 Azure 账号的话,可以创建一个免费的 Azure 账号:

https://azure.microsoft.com/free/

在 VS Code 左侧的边栏中,点击 Teams 的图标,然后点击 “Sign in to Azure”。

2. 创建云端资源

点击 “Provision in the cloud” 来创建 Azure 云资源。

3. 部署代码到云端

点击 “Deploy in the cloud” 把本地的代码部署到 Azure 云端。

4. 运行 ChatGPT 机器人

在 VS Code 左侧的边栏中,点击调试的图标,然后选择 Launch Remote (Edge) 或者 Launch Remote (Chrome),再点击绿色的运行按钮,就能启动浏览器运行 ChatGPT 机器人啦!

了解更多

如果你想要了解更多的内容,可以 star 一下本项目:

https://github.com/formulahendry/openai-teams-bot

项目代码完全是开源的~

一起来玩转 OpenAI/ChatGPT 机器人吧!

从零开始,打造属于你的 ChatGPT 机器人!的更多相关文章

  1. 2021 从零开始打造一个自己的 UI 组件库

    2021 从零开始打造一个自己的 UI 组件库 refs GUI https://github.com/xgqfrms/gui/ https://www.npmjs.com/package/@xgqf ...

  2. 在微信上搭建ChatGpt机器人

    在微信上搭建ChatGpt机器人 项目地址:https://gitee.com/shtml/wechatbot?_from=gitee_search 准备 一个服务器:Windos,Centos,Ub ...

  3. 人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_178 聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈 ...

  4. 企业微信集成openai实现ChatGPT机器人

    背景: 现在网上查资料,痛点太多了,什么广告,什么重复的,对于程序员的我来说,简直是无语 最近接触到ChatGpt,问了些技术问题,答的比某度好,甚至可以写代码,真的太棒了 因此想写个专门的机器人,给 ...

  5. 从零开始打造个人专属命令行工具集——yargs完全指南

    前言 使用命令行程序对程序员来说很常见,就算是前端工程师或者开发gui的,也需要使用命令行来编译程序或者打包程序 熟练使用命令行工具能极大的提高开发效率,linux自带的命令行工具都非常的有用,但是这 ...

  6. 使用nodejs + wecharty打造你的个人微信机器人

    开源地址:https://github.com/isnl/wechat-robot 注: 从2017年6月下旬开始,使用基于web版微信接入方案存在大概率的被限制登陆的可能性. 主要表现为:无法登陆W ...

  7. Android 从零开始打造异步处理框架

    转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/5995752.html 本文出自[赵彦军的博客] 概述 在Android中会使用异步任务来处理耗时操作,避免出 ...

  8. [js高手之路]从零开始打造一个javascript开源框架gdom与插件开发免费视频教程连载中

    百度网盘下载地址:https://pan.baidu.com/s/1kULNXOF 优酷土豆观看地址:http://v.youku.com/v_show/id_XMzAwNTY2MTE0MA==.ht ...

  9. 从零开始打造 Mock 平台 - 核心篇

    前言 最近一直在捣鼓毕设,准备做的是一个基于前后端开发的Mock平台,前期花了很多时间完成了功能模块的交互.现在进度推到如何设计核心功能,也就是Mock数据的解析. 根据之前的需求设定加上一些思考,用 ...

  10. 10分钟教你用Python打造微信天气预报机器人

    01 前言 最近武汉的天气越来越恶劣了.动不动就下雨,所以,拥有一款好的天气预报工具,对于我们大学生来说,还真是挺重要的了.好了,自己动手,丰衣足食,我们来用Python打造一个天气预报的微信机器人吧 ...

随机推荐

  1. K8s如何启用cgroup2支持?

    什么是 cgroup ️Reference: control groups(控制组),通常被称为cgroup,是Linux内核的一项功能.它允许将进程组织成分层的组,然后限制和监控各种资源的使用. 内 ...

  2. IDEA项目下out与target目录的区别详解

    IDEA项目下out与target目录的区别详解 一.目录主要区别: out存放的是该项目下所有Module(模块)的编译结果. target存放的是单个Module的编译结果. 二.目录详解 out ...

  3. 关于CSDN微信登录接口的研究

    代码 import requests import re from threading import Thread import time import requests from io import ...

  4. ArcObjects SDK开发 005 ArcObjects SDK中的插件式架构

    1.什么是插件式架构 插件式架构设计中主要包括三个重要部分,宿主.插件协议以及插件实现.宿主是指使用插件的部分,该模块可以是一个类,也可以是多个接口和类组成的模块.插件协议是指宿主与插件之间的协议,宿 ...

  5. MybatisPlus多表连接查询一对多分页查询数据

    一.序言 在日常一线开发过程中,多表连接查询不可或缺,基于MybatisPlus多表连接查询究竟该如何实现,本文将带你找到答案. 在多表连接查询中,既有查询单条记录的情况,又有列表查询,还有分页查询, ...

  6. postgresql函数:满足特定格式的表及指定日期前的删除

    -- 一.现有函数-- 1.现有函数调用select "ap"."delete_analysis_backup"('ap');-- 2.函数内容CREATE O ...

  7. 如何理性看待国内大热的HuTool工具包

    一.序言 关于HuTool工具包,相信很多技术朋友都听说甚至使用过.在HuTool之前,已经有比较成熟的工具包比如Apache Common包,谷歌推出的Guava包,他们已经在全世界大范围使用了. ...

  8. 模板层之标签 自定义过滤器及标签 模板的继承与导入 模型层之前期准备 ORM常用关键字

    目录 模板层之标签 if判断 for循环 自定义过滤器.标签及inclusion_tag(了解) 前期三步骤 自定义过滤器(最大只能接收两个参数) 自定义标签(参数没有限制) 自定义inclusion ...

  9. JavaScript:操作符:算术运算符(加减乘除模幂)及其隐式转换数据类型

    加法+ 减法- 乘法* 除法/ 模运算% 幂运算**,即a ** b求的是a的b次方 执行上述运算时,当两个操作数有非数字时,JS会隐式转换为数字,再进行运算: 一些特殊的非数字,会进行如下转换: t ...

  10. Python从0到1丨细说图像增强及运算

    摘要:本文主要讲解常见的图像锐化和边缘检测方法,即Roberts算子和Prewitt算子. 本文分享自华为云社区<[Python从零到壹] 五十七.图像增强及运算篇之图像锐化Roberts.Pr ...