可能是最简单的本地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 ...
随机推荐
- 【深入浅出 Yarn 架构与实现】2-2 Yarn 基础库 - 底层通信库 RPC
RPC(Remote Procedure Call) 是 Hadoop 服务通信的关键库,支撑上层分布式环境下复杂的进程间(Inter-Process Communication, IPC)通信逻辑, ...
- spring源码解析(一) 环境搭建(各种坑的解决办法)
上次搭建spring源码的环境还是两年前,依稀记得那时候也是一顿折腾,奈何当时没有记录,导致两年后的今天把坑重踩了一遍,还遇到了新的坑,真是欲哭无泪;为了以后类似的事情不再发生,这次写下这篇博文来必坑 ...
- Linux网络通信(TCP套接字编写,多进程多线程版本)
预备知识 源IP地址和目的IP地址 IP地址在上一篇博客中也介绍过,它是用来标识网络中不同主机的地址.两台主机进行通信时,发送方需要知道自己往哪一台主机发送,这就需要知道接受方主机的的IP地址,也就是 ...
- Inventor 2021保姆级安装教程
Inventor 2021 WIN10 64位安装步骤: 1.先使用"百度网盘客户端"下载INT21_CN_x64安装包到电脑磁盘里,并鼠标右击进行解压缩,安装前先断网,然后找到I ...
- gin领域层:用户实体编写和值对象(初步)
1.用户实体和值对象 2. 要做的事 3.常见的四层模型 4.Domin层 5.值对象
- UBOOT编译--- UBOOT的$(version_h) $(timestamp_h)(七)
1. 前言 UBOOT版本:uboot2018.03,开发板myimx8mmek240. 2. 概述 在编译uboot的过程中,有两个特别的依赖version_h 和 timestamp_h,它们定义 ...
- Java开发学习(四十三)----MyBatisPlus查询语句之查询投影
1.查询指定字段 目前我们在查询数据的时候,什么都没有做默认就是查询表中所有字段的内容,我们所说的查询投影即不查询所有字段,只查询出指定内容的数据. 具体如何来实现? @SpringBootTest ...
- 关于 python 的内存机制
先看一段代码 L = [1,2,3] dic_ = {} L2 = [] for i in L: dic_['sn'] = i L2.append(dic_) print(L2) 输出 [{'sn': ...
- 各类数据库写入Webhsell总结
1.MySQL写入WebShell 1.1写入条件 数据库的当前用户为ROOT或拥有FILE权限: 知道网站目录的绝对路径: PHP的GPC参数为off状态: MySQL中的secure_file_p ...
- 用excel表画一个乐高
一.背景:在商场看到一个超级玛丽的乐高图感觉使用excel的颜色填充也能画出来,并且可以借助python来实现 二.excel表如何绘制正方形:1.统一设置行高与列宽excel表单元格的行与列的默认计 ...