可能是最简单的本地GPT3 对话机器人,支持OpenAI 和 Azure OpenAI
毫无疑问,GPT是目前最火的人工智能方向,已经商用的有OpenAI公司原生的GPT3 和 ChatGPT ,以及微软公司的Azure OpenAI Service (暂时还没有包含ChatGPT)。关于他们的各种资料以及讨论(甚至争论),网上已经有很多了。我这里不准备重复。本文分享的一个是我自己为了方便使用GPT服务,编写的一个基于PowerShell的小工具。当前版本包含了对话机器人。
下面是一个简单的例子,可以看出虽然这个结果算不上完美,例如它其实以为是9月15日开学,而不是2月15日,但这种一本正经地胡说八道的蜜汁自信,还是让我很惊讶的。【这属于模型层面的不足,以及问法方面可以改进的部分,本文不过多展开】

使用这个工具,你不需要关注每次调用接口的繁琐细节。你只需要一次一次地输入提示,然后它会帮助你去查询并得到回复。
如果你已经有OpenAI 服务的访问权限,不妨试用一下这个工具。
首先,安装这个神奇的模块 (code365scripts.openai) ,如果你以前没有怎么使用过PowerShell,则可能遇到一些初始配置问题,你可以一次性执行下面三个语句即可。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-PsRepository -InstallationPolicy Trusted -Name PSGallery
Install-Module code365scripts.openai -Scope CurrentUser
然后,我建议你将有关的密钥等信息设置到环境变量。
如果你是用OpenAI原生的GPT3 服务,则只需要提供api_key即可。请继续在PowerShell 命令行中执行下面的代码。
SETX OPENAI_API_KEY "你的密钥"
# 下面这个是可选的,如果不设置,则默认使用 text-davinci-003
SETX OPENAI_ENGINE "你的默认模型"
如果你是用Azure OpenAI的GPT3服务,则需要提供多几个环境变量。
SETX OPENAI_API_KEY_AZURE "你的密钥"
SETX OPENAI_ENGINE_AZURE "你的模型"
SETX OPENAI_ENDPOINT_AZURE "你的服务地址"
下图是我机器上面的情况,因为我同时在用OpenAI 原生的服务,和Azure OpenAI 服务,所以变量比较多。
OpenAI 原生服务的key,是以 sk 开头的。

请注意,关闭一下PowerShell窗口,然后重新打开,以便读取这些环境变量。
接下来,就可以通过 gpt 这个快捷命令开始对话了。如果调用OpenAI原生服务,最简单的用法就是只要输入 gpt 即可。

如果调用Azure OpenAI 服务,则可以用 gpt -azure 的方式。

当然,你只要愿意,也可以指定更多的参数来定制化这个对话机器人。

这个工具还支持从文件直接读取内容并提交给GPT,也支持多行输入文本。请输入 m 或 f 进行尝试吧。
可能是最简单的本地GPT3 对话机器人,支持OpenAI 和 Azure OpenAI的更多相关文章
- Java8简单的本地缓存实现
原文出处:lukaseder Java8简单的本地缓存实现 这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存.因为Map有一个新的方法,在 ...
- mysql 5.7.29 在centos7.6下超简单的本地yum源安装与配置
目录 生成yum源元数据 从网易镜像站下载MySQL 5.7 的 bundle包 创建文件 mysql-local.repo 执行yum install命令 生成yum源元数据 createrepo ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 打造一个window桌面应用:在线聊天对话机器人
大家好,我是辰哥~~~ 本文目标:打造一个window桌面应用:在线聊天对话机器人. 今天辰哥教大家做一个在线聊天对话机器人桌面应用,已经打包成exe可执行文件,读者可以直接拿来使用, 先上演示图 聊 ...
- NSIS:简单按钮美化插件SkinButton,支持透明PNG图片。
原文 NSIS:简单按钮美化插件SkinButton,支持透明PNG图片. 征得作者贾可的同意,特发布按钮美化插件SkinButton. 插件说明: 使用GDI+库写的一个简单按钮美化插件,支持透明P ...
- 【vue】本地开发mock数据支持
项目离不开数据渲染的支持,为本地开发配置 数据 支持. (一)方式一:安装JSON Server搭建mock数据的服务器 json Server 是一个创建 伪RESTful服务器的工具. 配置流程 ...
- 树莓派打造对话机器人 Python(转)
工具列表 1. **树莓派**(型号不要求,本人使用的是3B) 2. **usb麦克风**(某宝有卖,我就不打广告了) 用来录音 3. **音响或者喇叭**(某宝也有卖) 用来播放 以上就是需要的工具 ...
- Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库
(注:本文的前提是本地Git仓库和github仓库之间已经存在SSH key了,所以如果没有建立联系的小伙伴们请先建立联系) 具体操作: 一:把本地项目变成版本仓库 1.把本地的一个项目目录编程版本库 ...
- node搭建简单的本地服务器
首先要安装node,方法很多,可以去网上找找,可以直接去官网下载安装,新版本的node是自带npm的: 安装好以后,新建一个js文件,名为server.js: let http = require(' ...
- 使用百度ai接口加图灵机器人完成简单web版语音对话
app文件 from flask import Flask, request, render_template, jsonify, send_file from uuid import uuid4 i ...
随机推荐
- redis位图(bitmap)常用命令的解析
描述 bitmap是redis封装的用于针对位(bit)的操作,其特点是计算效率高,占用空间少,常被用来统计用户签到.登录等场景 常用命令及解析 常用命令 setbit key offset va ...
- Perl读取Excel中的数据
#!usr/bin/perl -W use strict; use Spreadsheet::ParseExcel;#PERL的Spreadsheet::ParseExcel模块支持Excel的读操作 ...
- C#多线程之高级篇(上)
前言 抛开死锁不谈,只聊性能问题,尽管锁总能粗暴的满足同步需求,但一旦存在竞争关系,意味着一定会有线程被阻塞,竞争越激烈,被阻塞的线程越多,上下文切换次数越多,调度成本越大,显然在高并发的场景下会损害 ...
- vue3的学习笔记:MVC、Vue3概要、模板、数据绑定、用Vue3 + element ui、react框架实现购物车案例
一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.Vue是框架而jQuery则是库. 1.2.MVC(Mo ...
- 网络yum源下载
思路一: 按照本地网罗源,然后使用reposync直接将源同步下载到本地 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/re ...
- CPU体系(1):内存模型 & CPU Cache一致性 (待整理)
C++中的 volatile, atomic, memory barrier 应用场景对比 -- volatile memory barrier atomic 抑制编译器重排 Yes Yes Yes ...
- xamarin.Android自动升级
在写这边文章的时候参考了很多其他人的博客,在此感谢各位.也是给其他的伙伴做一个总结.对于我们新手来说存在的问题还是比较多的. 一.搭建iis服务器 首先我们需要搭建一个可以提供app下载最新版本的网站 ...
- vue cli2安装
安装nodejs npm install -g npm npm自动更新到最新版本 node -v或者npm -v 查看nodejs是否安装成功 1 2 配置淘宝镜像 npm config set ...
- qtcreator配置cmake+mingw开发环境
环境准备 cmake 添加到PATH环境变量. mingw: 这里我用的mingw是Qt自带的,我将其添加到PATH环境变量中. 在cmd中执行 mingw32-make.exe 和 cmake查看命 ...
- Android ViewPager2 + Fragment 联动
Android ViewPager2 + Fragment 联动 本篇主要介绍一下 ViewPager2 + Fragment , 上篇中简单使用了ViewPager2 实现了一个图片的滑动效果, 那 ...