基于OpenAI实现的个人助理

2023-05-16

基于OpenAI实现的个人助理

最近OpenAI所开发的ChatGPT非常火,于是我也去体验了一下。

在玩过之余,就想着能不能把它移植到系统环境,成为一个日常的个人助理,帮助我解决学习、开发或者摸鱼时的种种需求。

于是,看过官方文档之后,发现官方提供了GPT模型的API,那还等什么,开始coding…

项目已开源:https://github.com/Fangnan700/OpenAI-based-personal-assistant

0x00 注册OpenAI帐号

这步是最基础的,网址如下:

https://openai.com/api/

(需要科学上网,具体的注册方法网上一大把,这里不再赘述)

image-20221216234912593

0x01 获取API密钥

注册成功后,进入个人帐号管理页面:

image-20221216235054152

选择左侧的 “API keys”,点击 “Create new secret key”,获取API密钥,记得要保存好,页面关闭后将无法再查看。

0x02 搭建运行环境

这里可以在虚拟环境中运行,也可以在实体环境中运行,由于我使用的是Linux系统,所以这里我选择配置在虚拟环境中,通过shell脚本运行程序。

这里主要是Linux下的操作步骤,Windows下另寻教程

一、安装python环境

sudo apt install python

二、安装pip

sudo apt installl pip

三、安装openai依赖包

sudo pip install openai

0x04 编写代码

import openai

# 这里填写从OpenAI官网获取的API密钥
openai.api_key = "xxxxxxxxxx"


def generate_prompt(payload):
    return payload + "."


print("")
print("### 嗨~请告诉我你的问题,我会尽力帮你解答~")
print("### 使用方法:")
print(">>> 一、启动模式:")
print("    0、陪聊模式")
print("    1、代码模式")
print(">>> 二、聪明程度:")
print("    0、智障模式")
print("    1、智慧模式")
print(">>> 三、结束程序:")
print("    输入'#'退出程序")

mode = input(">>> 请选择启动模式: ")
if mode == "'#'":
    exit(0)
if mode != '0' and mode != '1':
    print(">>> 乱输入!不给你用了!")
    exit(0)

model = ""
if mode == '0':
    model = "text-davinci-003"
else:
    model = "code-davinci-002"

intelligence = input(">>> 请选择聪明程度: ")
if intelligence == "'#'":
    exit(0)
if intelligence != '0' and intelligence != '1':
    print(">>> 又乱输入!我生气了!拜拜!!!")
    exit(0)

temperature = 0
if intelligence == 0:
    temperature = 0.1
else:
    temperature = 0.7

print(">>> 好啦!告诉我你的问题吧!\n")

while True:
    content = input(">>> 写在这里: ")
    if content == "'#'":
        print("嘿嘿~没想到是'#'吧!拜拜~")
        exit(0)
    
    # 核心代码,用于向服务器发送请求,要按官方提供的参数和格式填写
    response = openai.Completion.create(
        model=model,
        prompt=generate_prompt(content),
        temperature=temperature,
        n=1,
        max_tokens=2048,
        presence_penalty=1,

    )
    print("\n>>> " + response.choices[0].text + "\n")

0x05 编写shell脚本

这里我把项目文件放在家目录下:

/home/dengxiangming/Chat

使用脚本激活虚拟环境并启动程序:

vim chat.sh
#! /bin/bash
source venv/bin/activate
python ./chat.py

给脚本赋予执行权限:

chmod +x ./chat.sh

0x06 启动

./chat.sh

image-20221217000909083

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于OpenAI实现的个人助理 的相关文章

  • 《程序人生》

    对乔布斯和马斯克访谈的反思 xff1a 1 这个世界不在乎你的自尊 xff0c 只在乎你自我感觉良好的同时有所成就 说明大多数人的观点是 乌合之众 xff0c 必须有从想到去做到的能力 xff0c 面子是无能者维护尊严的盾牌 2 年轻时候一
  • MicroStrategy 简介 【Business Intelligent】

    下载地址 xff1a https www microstrategy com us resources microstrategy for students students Capabilities that power the Inte
  • DiffusionDet:Diffusion Model for Object Detection

    Diffusion Model for Object Detection 一种用于目标检测的扩散模型 Motivation 1 如何使用一种更简单的方法代替可查询的object queries 2 Bounding box的生成方式过去是三
  • ChatGPT:通用人工智能设计范式方法

    通用人工智能设计范式未来发展方向 https openai com https riscv org 一 ChatGPT xff08 AIGC xff09 开启通用人工智能AGI新纪元时代 二 通用人工智能设计范式现状和方法 目前随着Chat
  • 格拉布斯法—异常值判断(异常值)

    数值数据类型 xff1a 方法一 xff1a Z Score 方法二 xff1a DBSCAN 方法三 xff1a Lsolation Forest 方法四 xff1a Mahalanobis距离 xff08 主要解决多元离散群点问题 xf
  • 神经网络的过去、现状、未来!

    从BP CNN RNN DCN GAN GNN图网络 GCN CAP三维卷积胶囊模型及融合 人工神经网络是计算智能和机器学习研究的最活跃的分支之一 xff0c 它是从人脑的生理结构出发探讨人类智能活动的机理 从 1943年 McCulloc
  • 目标检测发展方向(1)

    从目标检测发展到目标追踪 目标检测 xff08 监督学习 xff09 FasterRCNN CascadeRCNN YOLOX Complex YOLO SSD RetinaNet xff0c FOCS ATSS CornerNet Cen
  • 车道线检测与分割

    https github com amusi awesome lane detection VPGNet论文 xff1a https arxiv org abs 1710 06288 caffe 版code xff1a https gith
  • Android实战开发--底部导航(Fragment)篇

    安卓实战开发之底部导航 提示 xff1a 本篇文中对基本的操作不做细节讲解 xff0c 后续会通过链接方式跳转到对应的知识点 文章目录 安卓实战开发之底部导航前言一 准备1 矢量图标准备2 文件准备 二 使用步骤1 在fragment中动态
  • android N进程启动流程(一)(捕获输入事件、准备创建activity、焦点切换)

    android N进程启动流程 一 捕获输入事件 准备创建activity 焦点切换 1 背景 本文主要针对event log中各处节点进行进程启动流程分析 span class token comment 此处使用的是adb指令input
  • 目标检测类前言知识

    1 PASCAL数据集 有关目标检测 xff0c 目标分类 xff0c 目标分割 xff0c 动作识别 1 xff09 下载的数据集文件介绍 标注信息 xff1a xml文件实例 xff1a lt segmented gt 1 被分割 0
  • 最新网狐荣耀版整理、编译和搭建教程

    一 安装visual studio 2015 xff0c 在百度就能搜索到下载地址 xff0c 在教程最后 xff0c 会给大家包括所有工具在内的集成包 因为visual studio 2015体积比较大 xff0c 而且安装过程很漫长 x
  • windows efi分区修复

    在windows下一阵瞎搞 xff0c 把efi分区的efi标识搞没了 xff0c 导致deepin无法识别efi分区 xff0c update grub2命令失败 其实windows也找不到efi标识了 xff0c 但没有影响启动 因为W
  • XML 根级别上的数据无效。 行 1,位置 1

    上午 xff1a 将XML数据保持到数据中 xff0c 从数据库提取XML 顺利通过 下午 xff1a 一键还原电脑 xff0c 重新打开VS2010运行程序 xff0c 从数据库提取XML报错 根级别上的数据无效 行 1 xff0c 位置
  • 接触客户、接触业务、来谈我的感触

    很久没有做工作总结 xff0c 今天记录下我今年接触客户的一些感触 以前是一个刚入门的开发新人 xff0c 刚进公司感觉公司的开发能力不行 xff0c 没有一套成熟的框架 xff0c 没有美工 xff0c 已经开发出的软件界面很丑 自己开发
  • 编写一个函数,判断用户传入的对象(字符串,列表,元组)长度是否大于10

    span class token keyword def span span class token function my object span span class token punctuation span n span clas
  • 双盘(一个固态硬盘+机械硬盘(efi格式)+2080TI) 安装: ubuntu16.04+显卡驱动+cuda10.2+pytorch

    详细步骤 xff1a 从零开始配一个深度学习服务器 xff1a 固态 43 机械双硬盘ubuntu系统的安装 分区 配置超详细教程 it610 com 一 系统安装 Ubuntu6 04安装 UEFI 43 GPT双硬盘安装Win10 43
  • Idea java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 报错

    系统想用slf4j记录日志 xff0c 可是程序编译的时候报错 xff1a java lang ClassNotFoundException org slf4j LoggerFactory 检查了POM依赖和Jar包 xff0c 都没有问题
  • 小米2020校招软件开发工程师笔试题一

    1 下列关于设计模式说法错误的是 xff08 B xff09 A 装饰器模式在实现过程中一般不会更改被封装对象的接口定义 B 适配器模式以不改变被适配对象的接口定义为目的对其进行改造 C 用饿汉方式实现的单例模式是不能够被继承的 D 简单工
  • vscode1.70.2 添加终端 powershell7

    前提已经安装号powershell7 xff0c 并且已经添加到系统环境中 如何测试是否配置成功呢 xff0c 在运行中输入pwsh xff0c 点击确定后能打开powershell7就说明成功了 打开vscode的设置 xff0c 搜索

随机推荐

  • twm配置文件.twmrc

    系统的twmrc文件位于 usr X11 twm目录下 xff0c 为system twmrc xff0c 但是修改这个文件是不生效的 xff0c 必须将这个文件拷到 HOME下 xff0c 重命名为 twmrc才生效 twm有一个特别奇怪
  • Redis缓存型数据库实现秒杀库存加减

    多线程并发下商品库存递减或者抢购商品数量累加 xff0c 可以使用increment 方法 通常使用异步的方式 xff0c 前端 61 gt 用户抢购处理 61 gt 缓存 61 gt 队列 61 gt 持久化 xff0c 可以使用入队列的
  • Java项目:医院住院管理系统(java+SSM+JSP+bootstrap+mysql)

    源码获取 xff1a 俺的博客首页 34 资源 34 里下载 xff01 项目介绍 本项目有多种角色 xff0c 包含管理员 用户 护士 服务前台等角色 由于篇幅限制 xff0c 只截图了管理员角色的功能 管理员角色主要功能包括 xff1a
  • 直接使用X11输出图像的方法

    直接使用X11输出图像有两种方法 xff0c 一种是使用XImage xff0c 另一种是使用Pixmap XImage是本地对象 xff0c 而Pixmap是XServer端对象 特别要注意的是X11中Bitmap是黑白位图的意思 xff
  • python文件读写的缓冲行为

    文件的io操作的缓冲行为分为 全缓冲 xff1a 同系统及磁盘块大小有关 xff0c n个字节后执行一次写入操作 行缓冲 xff1a 遇到换行符执行一次写操作 无缓冲 xff1a 立刻执行写操作 open 函数 help open Help
  • 在Linux中使用systemctl如何管理Systemd服务和单元

    Systemctl是一个systemd工具 xff0c 它负责控制systemd系统和服务管理程序 Systemd是一个系统管理守护进程 xff0c 工具和库的集合 xff0c 它用作替换System V init守护进程 Systemd功
  • iOS中的viewpager,开源库WMPageController在storyboard中的使用

    http blog csdn net yubo 725 article details 51159633 关于WMPageController的使用以上链接写的很清楚 xff0c 在此感激博主 android 中有viewpager xff
  • 约瑟夫环问题研究(一)

    最近在看C方面的东西 xff0c 看到了李明老师讲解的约瑟夫环问题 xff0c 感觉很有意思 xff0c 于是在看了他的讲解之后 xff0c 自己又重新按照他的思路进行了编写 xff0c 整理如下 xff1a 问题描述 xff1a 约瑟夫环
  • HDOJ 题目2050 折线分割平面(递推)

    折线分割平面 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 16441 Accepted Subm
  • HPUOJ 题目1079 假币问题(三分)

    1079 假币问题 时间限制 1 Sec 内存限制 128 MB 提交 7 解决 1 提交 状态 讨论版 题目描述 居然有假币 xff01 xff01 xff01 事情是这样的 xff0c 现在猪肉涨了 xff0c 但是农民的工资却不见涨啊
  • HPUoj 题目1019 【C语言训练】尼科彻斯定理(水题,数学)

    1019 C语言训练 尼科彻斯定理 时间限制 1 Sec 内存限制 128 MB 提交 9 解决 5 提交 状态 讨论版 题目描述 验证尼科彻斯定理 xff0c 即 xff1a 任何一个正整数的立方都可以写成一串连续奇数的和 输入 任一正整
  • POJ 题目1105 S-Trees(二叉树模拟)

    S Trees Time Limit 1000MS Memory Limit 10000KTotal Submissions 1499 Accepted 807 Description A Strange Tree S tree over
  • FOJ 题目 2075 Substring (后缀数组求出现k次的最小字典序子串)

    Problem 2075 Substring Accept 70 Submit 236 Time Limit 1000 mSec Memory Limit 65536 KB Problem Description Given a strin
  • 认识onNewIntent

    前几天面试被问到onNewIntent 我竟哑口无言 完全没听过这个东西 xff0c 所以总结经验教训 xff0c 多学习吧 一个简单的例子说明 xff1a activityA 启动activityB 并通过intent传递了一些数据 xf
  • 操作系统——作业

    写在前头 xff1a 这是小鱼上的网课整理来的笔记 xff0c 希望可以帮助大家更好的理解操作系统这门课 xff01 一 作业 这一讲 xff0c 我们来介绍作业的概念 我们需要从两个方面去理解作业 1 用户 我们可以先看看下面的图示的编译
  • 手把手教学在Springboot中搭建使用Guava cache,包教包会,不会我输一包辣条给你

    guava cache使用简介 概述 缓存是日常开发中经常应用到的一种技术手段 xff0c 合理的利用缓存可以极大的改善应用程序的性能 Guava官方对Cache的描述连接 缓存在各种各样的用例中非常有用 例如 xff0c 当计算或检索值很
  • Ubuntu使用Glmark2进行跑分

    Ubuntu使用Glmark2进行跑分 Glmark2 是一个基于 OpenGL 2 0 和 OpenGL ES 2 0 开发的benchmark程序 xff0c 主要用于对GPU的基准测试 安装和运行 Glmark2 安装依赖的开发工具
  • Ubuntu 22.04 安装Fcitx5中文输入法

    Ubuntu 22 04 安装Fcitx5中文输入法 一 检查系统中文环境 在 Ubuntu 设置中打开 区域与语言 管理已安装的语言 xff0c 然后会自动检查已安装语言是否完整 若不完整 xff0c 根据提示安装即可 二 安装Fcitx
  • AHU 2022 CTF新生赛web_writeup

    第一次当出题人 xff0c 给新生做的 xff0c 简简单单啦 按不了的F12 启动靶机 xff1a 根据题目名称可知 xff0c 这题与f12按键有关 xff0c 即查看网页源代码 按下f12发现f12按键被禁用 xff1a 尝试另一种方
  • 基于OpenAI实现的个人助理

    基于OpenAI实现的个人助理 最近OpenAI所开发的ChatGPT非常火 xff0c 于是我也去体验了一下 在玩过之余 xff0c 就想着能不能把它移植到系统环境 xff0c 成为一个日常的个人助理 xff0c 帮助我解决学习 开发或者