当前位置:   article > 正文

ChatGPT 的 18 种玩法,惊到我了_chatgpt玩法大全

chatgpt玩法大全

​​

 


你确定,你会使用 ChatGPT 了吗?

今天给大家整理了 18 种 ChatGPT 的用法,看看有哪些方法是你能得上的。

语法更正

用途:文章、论文等润色。

hevc?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F6mychickmupWDmzFT0SDXw5IvPI4LdoQoevh36iaKFhMxM1R1RPaQHVY9bLcZegy7JkzLul5QvLZOl7fiaFGvQfUw%2F640%3Fwx_fmt%3Dpng%26tp%3Dwxpic%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1&type=png

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

文本翻译

用途:日常学习、商务翻译等。

hevc?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F6mychickmupWDmzFT0SDXw5IvPI4LdoQo9H5Ln6HQT7hkHzbk3mc8Ztb2aSnNfJnYyHjMHRVjm7VCZNKERNmTXw%2F640%3Fwx_fmt%3Dpng%26tp%3Dwxpic%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1&type=png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

语言转换

Python–>JAVA

用途:工作用途,不同语言工程师之间的合作,更加方便。

  1. import numpy as np
  2. import plotly.express as px
  3. def thresholding_algo(y, lag, threshold):
  4.     """
  5.     :param y: 输入列表
  6.     :param lag: 滑动窗口大小
  7.     :param threshold: 调节系数,用于调节容忍范围的大小。
  8.     :return:
  9.     """
  10.     # signals:信号列表
  11.     signals = np.zeros(len(y))
  12.     avgFilter = np.zeros(len(y))
  13.     # 初始化平均值列表、差值列表
  14.     avgFilter[lag - 1= np.mean(y[0:lag])
  15.     dif_li = [0* len(y)
  16.     for i in range(lag, len(y)):
  17.         if i < len(y) - lag - 30:
  18.             for j in range(i + 11, len(y)):
  19.                 if y[j] >= y[i - 1]:
  20.                     break
  21.             if j >= len(y) - 30:
  22.                 back = y[i - 1]
  23.             else:
  24.                 back = np.mean(y[j + 11:j + 20 + lag])
  25.         else:
  26.             back = y[i - 1]
  27.         # 前后均值差值计算
  28.         tmp = abs(back - avgFilter[i - 1])
  29.         dif = (tmp if tmp > 1 else 1)
  30.         if abs(y[i] - avgFilter[i - 1]) > dif * threshold:
  31.             signals[i] = (1 if y[i] > avgFilter[i - 1else -1)
  32.             avgFilter[i] = np.mean(y[(i - lag):i])
  33.             y[i] = avgFilter[i - 1]
  34.         else:
  35.             signals[i] = 0
  36.             avgFilter[i] = np.mean(y[(i - lag):i])
  37.         dif_li[i] = dif
  38.     return dict(signals=np.asarray(signals),
  39.                 avgFilter=np.asarray(avgFilter),
  40.                 y=np.asarray(y),
  41.                 dif=np.asarray(dif_li),
  42.                 )

hevc?url=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F6mychickmupWDmzFT0SDXw5IvPI4LdoQo3sHZY9vDyXv33hLCalKAZWG71T9p5VbiaicM4RxjU9VH5dHmibgRoY8ag%2F640%3Fwx_fmt%3Dpng%26tp%3Dwxpic%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1&type=png

  1. public static Map<String, double[]> thresholding_algo(double[] y, int lag, double threshold) {
  2.     double[] signals = new double[y.length];
  3.     double[] avgFilter = new double[y.length];
  4.     Arrays.fill(avgFilter, 0.0);
  5.     avgFilter[lag - 1= mean(Arrays.copyOfRange(y, 0, lag));
  6.     double[] dif_li = new double[y.length];
  7.     Arrays.fill(dif_li, 0.0);
  8.     for (int i = lag; i < y.length; i++) {
  9.         int j;
  10.         if (i < y.length - lag - 30) {
  11.             for (j = i + 11; j < y.length; j++) {
  12.                 if (y[j] >= y[i - 1]) {
  13.                     break;
  14.                 }
  15.             }
  16.             double back;
  17.             if (j >= y.length - 30) {
  18.                 back = y[i - 1];
  19.             } else {
  20.                 back = mean(Arrays.copyOfRange(y, j + 11, j + 20 + lag));
  21.             }
  22.         } else {
  23.             back = y[i - 1];
  24.         }
  25.         double tmp = Math.abs(back - avgFilter[i - 1]);
  26.         double dif = tmp > 1 ? tmp : 1;
  27.         if (Math.abs(y[i] - avgFilter[i - 1]) > dif * threshold) {
  28.             signals[i] = y[i] > avgFilter[i - 1] ? 1 : -1;
  29.             avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
  30.             y[i] = avgFilter[i - 1];
  31.         } else {
  32.             signals[i] = 0;
  33.             avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
  34.         }
  35.         dif_li[i] = dif;
  36.     }
  37.     Map<String, double[]> result = new HashMap<>();
  38.     result.put("signals", signals);
  39.     result.put("avgFilter", avgFilter);
  40.     result.put("y", y);
  41.     result.put("dif", dif_li);
  42.     return result;
  43. }
  44. private static double mean(double[] array) {
  45.     double sum = 0.0;
  46.     for (double d : array) {
  47.         sum += d;
  48.     }
  49.     return sum / array.length;
  50. }

代码解释-1

用途:当我们来到一家新的公司,发现前任工程师留下了一摊谁都看不懂的代码,这时候,如果有个人能帮我们解释一下这些代码是什么意思,那简直不要太开心。

  1. def Fusion_algorithm(y_list):
  2.     """
  3.     最终的融合算法
  4.     1、第一次遍历列表: 处理掉小于上一个值的点,使其等于上一个值。
  5.     2、第二次使用z-score来处理异常点:一种基于统计方法的时序异常检测算法借鉴了一些经典的统计方法,比如Z-score和移动平均线
  6.     该算法将时间序列中的每个数据点都看作是来自一个正态分布,通过计算每个数据点与其临接数据点的平均值和标准差,可以获得Z-score
  7.     并将其用于检测异常值,将z-score大于3的数据点视为异常值,缺点:如果异常点太多,则该算法的准确性较差。
  8.     3、
  9.     :param y_list: 传入需要处理的时间序列
  10.     :return:
  11.     """
  12.     # 第一次处理
  13.     for i in range(1len(y_list)):
  14.         difference = y_list[i] - y_list[i - 1]
  15.         if difference <= 0:
  16.             y_list[i] = y_list[i - 1]
  17.         # 基于突变检测的方法:如果一个数据点的值与前一个数据点的值之间的差异超过某个阈值,
  18.         # 则该数据点可能是一个突变的异常点。这种方法需要使用一些突变检测算法,如Z-score突变检测、CUSUM(Cumulative Sum)
  19.         # else:
  20.         #     if abs(difference) > 2 * np.mean(y_list[:i]):
  21.         #         y_list[i] = y_list[i - 1]
  22.     # 第二次处理
  23.     # 计算每个点的移动平均值和标准差
  24.     ma = np.mean(y_list)
  25.     # std = np.std(np.array(y_list))
  26.     std = np.std(y_list)
  27.     # 计算Z-score
  28.     z_score = [(x - ma) / std for x in y_list]
  29.     # 检测异常值
  30.     for i in range(len(y_list)):
  31.         # 如果z-score大于3,则为异常点,去除
  32.         if z_score[i] > 3:
  33.             print(y_list[i])
  34.             y_list[i] = y_list[i - 1]
  35.     return y_list

代码解释-2

备注:上一个代码解释,我们可以看到,答案或许受到了代码中注释的影响,我们删掉注释,再来一次。对于解释中一些不懂的点,我们可以连续追问!

  1. import numpy as np
  2. from sklearn.ensemble import IsolationForest
  3. import plotly.express as px
  4. import matplotlib.pyplot as plt
  5. from sklearn.cluster import KMeans
  6. import json
  7. def Fusion_algorithm(y_list):
  8.     for i in range(1, len(y_list)):
  9.         difference = y_list[i] - y_list[i - 1]
  10.         if difference <= 0:
  11.             y_list[i] = y_list[i - 1]
  12.     
  13.         # else:
  14.         #     if abs(difference) > 2 * np.mean(y_list[:i]):
  15.         #         y_list[i] = y_list[i - 1]
  16.     ma = np.mean(y_list)
  17.     std = np.std(y_list)
  18.     z_score = [(x - ma) / std for x in y_list]
  19.     for i in range(len(y_list)):
  20.         if z_score[i] > 3:
  21.             print(y_list[i])
  22.             y_list[i] = y_list[i - 1]
  23.     return y_list

修复代码错误

用途:写完一段代码后发现有错误?让chatGPT来帮你!

  1. # Buggy Python
  2. import Random
  3. = random.randint(1,12)
  4. = random.randint(1,12)
  5. for i in range(10):
  6.     question = "What is "+a+" x "+b+"? "
  7.     answer = input(question)
  8.     if answer = a*b
  9.         print (Well done!)
  10.     else:
  11.         print("No.")

作为百科全书

用途:chatGPT可以解释你所有的问题!但是列出小说这个功能有些拉跨,经过测试只有科幻小说列的还可以,其他类型不太行,可能chatgpt训练工程师是个科幻迷!

信息提取

用途:作为自然语言处理界的大模型,怎么能少得了信息提取呢?

好友聊天

用途:输入对方性格模拟聊天,这方面功能不太完善,可能有新鲜玩法我还没有挖掘出来。

创意生成器

用途:是不是常常会在创新上遇到思维瓶颈不知道怎么做?不要担心,让chatGPT帮你生成创意!

VR和密室结合

再结合AR

采访问题

用途:可能您是一个媒体工作者,采访问题不知道怎么写?chatGPT可以帮您解决。

采访问题清单

采访问题清单并给出相应答案

论文大纲

用途:这个功能对于研究生简直不要太爽了,一直在郁闷大纲怎么写,直接列出来大纲简直帮了我天大的忙!对于大纲中不理解的点,直接要求chatGPT给出进一步解释。代码也可以有!那一章的内容不太会写,直接让chatGPT安排,这样,一篇论文很快就写出来啦!

创建论文大纲

解释大纲内容

  1. class PBA(nn.Module):
  2.     def __init__(self, PerformanceThreshold, DistributionType, AttentionWeightRange):
  3.         super(PBA, self).__init__()
  4.         self.PerformanceThreshold = PerformanceThreshold
  5.         self.DistributionType = DistributionType
  6.         self.AttentionWeightRange = AttentionWeightRange
  7.         
  8.     def forward(selfinput, performance_scores):
  9.         # 计算注意力分数
  10.         attention_scores = []
  11.         for i in range(len(input)):
  12.             if performance_scores[i] > self.PerformanceThreshold:
  13.                 attention_scores.append(performance_scores[i])
  14.             else:
  15.                 attention_scores.append(0.0)
  16.                 
  17.         # 将性能分数映射到注意力权重
  18.         if self.DistributionType == "softmax":
  19.             attention_weights = F.softmax(torch.tensor(attention_scores), dim=0)
  20.         elif self.DistributionType == "sigmoid":
  21.             attention_weights = torch.sigmoid(torch.tensor(attention_scores))
  22.         else:
  23.             raise ValueError("Unknown distribution type: {}".format(self.DistributionType))
  24.         
  25.         # 缩放注意力权重到指定范围
  26.         attention_weights = attention_weights * (self.AttentionWeightRange[1] - self.AttentionWeightRange[0]) + self.AttentionWeightRange[0]
  27.         
  28.         # 计算加权输入
  29.         weighted_input = torch.mul(input, attention_weights.unsqueeze(1).expand_as(input))
  30.         output = torch.sum(weighted_input, dim=0)
  31.         
  32.         return output

故事创作

用途:这个功能真的太太太棒了,以后我自己列提纲出来就可以写小说啦!

爱情故事

恐怖故事

问题类比

用途:当你想要做一个比喻时,这是一个很棒的功能。

创建SQL需求

用途:写SQL有时候挺头疼的,想好久想不起来。

情感分析

用途:这个功能让我想起来在之前公司做的情感分析任务了。

将产品描述转变为广告

用途:这个功能对于商家来说太棒了。

关键字提取

用途:NLP任务的重要作用,关键字提取!

闲聊机器人

用途:这个不多说了,用来闲聊体验感真的很不错。

总结

我觉得角色扮演挺有意思的,对话前加一句:假如你是 xxx。

现在有一些小程序,让AI扮演一些角色对话,就是用这种方法实现的。



 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/680999
推荐阅读
相关标签
  

闽ICP备14008679号