点击上方“Java基基”,选择“设为星标”
做积极的人,而不是积极废人!
每天 14:00 更新文章,每天掉亿点点头发...
源码精品专栏
来源:blog.csdn.net/weixin_42475060/
你确定,你会使用 ChatGPT 了吗?
今天给大家整理了 18 种 ChatGPT 的用法,看看有哪些方法是你能得上的。
语法更正
用途:文章、论文等润色。
![6e146aa6eff8c15c0f21da7762ec055c.png](https://i-blog.csdnimg.cn/blog_migrate/f9d434106b31e6a5e3525c6ab02412cd.png)
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
文本翻译
用途:日常学习、商务翻译等。
![ad6e0c4d16ae46db320cd0800ff57686.png](https://i-blog.csdnimg.cn/blog_migrate/ecab55966687403252adc363e86b4a3f.png)
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
语言转换
Python–>JAVA
用途:工作用途,不同语言工程师之间的合作,更加方便。
import numpy as np
import plotly.express as px
def thresholding_algo(y, lag, threshold):
"""
:param y: 输入列表
:param lag: 滑动窗口大小
:param threshold: 调节系数,用于调节容忍范围的大小。
:return:
"""
# signals:信号列表
signals = np.zeros(len(y))
avgFilter = np.zeros(len(y))
# 初始化平均值列表、差值列表
avgFilter[lag - 1] = np.mean(y[0:lag])
dif_li = [0] * len(y)
for i in range(lag, len(y)):
if i < len(y) - lag - 30:
for j in range(i + 11, len(y)):
if y[j] >= y[i - 1]:
break
if j >= len(y) - 30:
back = y[i - 1]
else:
back = np.mean(y[j + 11:j + 20 + lag])
else:
back = y[i - 1]
# 前后均值差值计算
tmp = abs(back - avgFilter[i - 1])
dif = (tmp if tmp > 1 else 1)
if abs(y[i] - avgFilter[i - 1]) > dif * threshold:
signals[i] = (1 if y[i] > avgFilter[i - 1] else -1)
avgFilter[i] = np.mean(y[(i - lag):i])
y[i] = avgFilter[i - 1]
else:
signals[i] = 0
avgFilter[i] = np.mean(y[(i - lag):i])
dif_li[i] = dif
return dict(signals=np.asarray(signals),
avgFilter=np.asarray(avgFilter),
y=np.asarray(y),
dif=np.asarray(dif_li),
)
![d7db3bc8ae824ba66c2beae93f4131f3.png](https://i-blog.csdnimg.cn/blog_migrate/044693f708a309fd160a7e02579fb8ed.png)
public static Map<String, double[]> thresholding_algo(double[] y, int lag, double threshold) {
double[] signals = new double[y.length];
double[] avgFilter = new double[y.length];
Arrays.fill(avgFilter, 0.0);
avgFilter[lag - 1] = mean(Arrays.copyOfRange(y, 0, lag));
double[] dif_li = new double[y.length];
Arrays.fill(dif_li, 0.0);
for (int i = lag; i < y.length; i++) {
int j;
if (i < y.length - lag - 30) {
for (j = i + 11; j < y.length; j++) {
if (y[j] >= y[i - 1]) {
break;
}
}
double back;
if (j >= y.length - 30) {
back = y[i - 1];
} else {
back = mean(Arrays.copyOfRange(y, j + 11, j + 20 + lag));
}
} else {
back = y[i - 1];
}
double tmp = Math.abs(back - avgFilter[i - 1]);
double dif = tmp > 1 ? tmp : 1;
if (Math.abs(y[i] - avgFilter[i - 1]) > dif * threshold) {
signals[i] = y[i] > avgFilter[i - 1] ? 1 : -1;
avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
y[i] = avgFilter[i - 1];
} else {
signals[i] = 0;
avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
}
dif_li[i] = dif;
}
Map<String, double[]> result = new HashMap<>();
result.put("signals", signals);
result.put("avgFilter", avgFilter);
result.put("y", y);
result.put("dif", dif_li);
return result;
}
private static double mean(double[] array) {
double sum = 0.0;
for (double d : array) {
sum += d;
}
return sum / array.length;
}
代码解释-1
用途:当我们来到一家新的公司,发现前任工程师留下了一摊谁都看不懂的代码,这时候,如果有个人能帮我们解释一下这些代码是什么意思,那简直不要太开心。
![ba9f9d6422261b1bd40bd72156dea3e0.png](https://i-blog.csdnimg.cn/blog_migrate/f9c0fa3f00e1d5d0bd49de974830d802.png)
def Fusion_algorithm(y_list):
"""
最终的融合算法
1、第一次遍历列表: 处理掉小于上一个值的点,使其等于上一个值。
2、第二次使用z-score来处理异常点:一种基于统计方法的时序异常检测算法借鉴了一些经典的统计方法,比如Z-score和移动平均线
该算法将时间序列中的每个数据点都看作是来自一个正态分布,通过计算每个数据点与其临接数据点的平均值和标准差,可以获得Z-score
并将其用于检测异常值,将z-score大于3的数据点视为异常值,缺点:如果异常点太多,则该算法的准确性较差。
3、
:param y_list: 传入需要处理的时间序列
:return:
"""
# 第一次处理
for i in range(1, len(y_list)):
difference = y_list[i] - y_list[i - 1]
if difference <= 0:
y_list[i] = y_list[i - 1]
# 基于突变检测的方法:如果一个数据点的值与前一个数据点的值之间的差异超过某个阈值,
# 则该数据点可能是一个突变的异常点。这种方法需要使用一些突变检测算法,如Z-score突变检测、CUSUM(Cumulative Sum)
# else:
# if abs(difference) > 2 * np.mean(y_list[:i]):
# y_list[i] = y_list[i - 1]
# 第二次处理
# 计算每个点的移动平均值和标准差
ma = np.mean(y_list)
# std = np.std(np.array(y_list))
std = np.std(y_list)
# 计算Z-score
z_score = [(x - ma) / std for x in y_list]
# 检测异常值
for i in range(len(y_list)):
# 如果z-score大于3,则为异常点,去除
if z_score[i] > 3:
print(y_list[i])
y_list[i] = y_list[i - 1]
return y_list
![20ad2485f29774856aa59c4a0537844d.png](https://i-blog.csdnimg.cn/blog_migrate/dbeab2418a70de5a200e0430463435ba.png)
代码解释-2
备注:上一个代码解释,我们可以看到,答案或许受到了代码中注释的影响,我们删掉注释,再来一次。对于解释中一些不懂的点,我们可以连续追问!
![6da829d0a1c2a445b8be3af074932ef2.png](https://i-blog.csdnimg.cn/blog_migrate/0948e06a0562c1b3516f06a074ca59c1.png)
import numpy as np
from sklearn.ensemble import IsolationForest
import plotly.express as px
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import json
def Fusion_algorithm(y_list):
for i in range(1, len(y_list)):
difference = y_list[i] - y_list[i - 1]
if difference <= 0:
y_list[i] = y_list[i - 1]
# else:
# if abs(difference) > 2 * np.mean(y_list[:i]):
# y_list[i] = y_list[i - 1]
ma = np.mean(y_list)
std = np.std(y_list)
z_score = [(x - ma) / std for x in y_list]
for i in range(len(y_list)):
if z_score[i] > 3:
print(y_list[i])
y_list[i] = y_list[i - 1]
return y_list
![2e41d1cc2fa130fb5b1516f85e690f3d.png](https://i-blog.csdnimg.cn/blog_migrate/6ccbda95a68952a7ec18204381e24ac6.png)
![a23b86a09929618afecb45d7d880ff0a.png](https://i-blog.csdnimg.cn/blog_migrate/996579378c2869f56c3870cf66374800.png)
修复代码错误
用途:写完一段代码后发现有错误?让chatGPT来帮你!
![ded5861aaf2b2944bc3794e79e103d71.png](https://i-blog.csdnimg.cn/blog_migrate/a06724556b9aec96ac8cb3b2b84b79b5.png)
# Buggy Python
import Random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):
question = "What is "+a+" x "+b+"? "
answer = input(question)
if answer = a*b
print (Well done!)
else:
print("No.")
![cb0154699d47fabdd60f44593e4edad2.png](https://i-blog.csdnimg.cn/blog_migrate/260fe19ea77efad6138f4d8a9ccda9ca.png)
作为百科全书
用途:chatGPT可以解释你所有的问题!但是列出小说这个功能有些拉跨,经过测试只有科幻小说列的还可以,其他类型不太行,可能chatgpt训练工程师是个科幻迷!
![37672694668b1e41f97aa79f230a8adb.png](https://i-blog.csdnimg.cn/blog_migrate/f14aba5572ff45cbe339417da40e09fe.png)
信息提取
用途:作为自然语言处理界的大模型,怎么能少得了信息提取呢?
![7bceb4e0cb10e0e6f5517fb4559186da.png](https://i-blog.csdnimg.cn/blog_migrate/126849f285a38d2a7777b042074bda5c.png)
好友聊天
用途:输入对方性格模拟聊天,这方面功能不太完善,可能有新鲜玩法我还没有挖掘出来。
![5380aa026aae44cd360a02343d8d2161.png](https://i-blog.csdnimg.cn/blog_migrate/6890d992eb9ed58ec9fa9a7a423812a0.png)
![0a79bb9a4c1be5d8a6c23480322abf39.png](https://i-blog.csdnimg.cn/blog_migrate/159baac6d5965a74f7741b2ea6a6f9d6.png)
创意生成器
用途:是不是常常会在创新上遇到思维瓶颈不知道怎么做?不要担心,让chatGPT帮你生成创意!
VR和密室结合
![07f3652af176aa56e72128cb082b6c2e.png](https://i-blog.csdnimg.cn/blog_migrate/fcdc1b8585038330c08b7864b60fb05c.png)
再结合AR
![a5ddd75a72eda401d3b684d03186d364.png](https://i-blog.csdnimg.cn/blog_migrate/4ae41bd625c2eeda63b6f13b49b0a418.png)
采访问题
用途:可能您是一个媒体工作者,采访问题不知道怎么写?chatGPT可以帮您解决。
采访问题清单
![5ee6a4c42f455350df0459f04d01110b.png](https://i-blog.csdnimg.cn/blog_migrate/9d2f0ae1f4f72eefaad44980c706fd7c.png)
采访问题清单并给出相应答案
![dcee8e32db1cf217e2e95a9c65417f80.png](https://i-blog.csdnimg.cn/blog_migrate/bb93bddfa3f037c5fefe0d5373ba9302.png)
论文大纲
用途:这个功能对于研究生简直不要太爽了,一直在郁闷大纲怎么写,直接列出来大纲简直帮了我天大的忙!对于大纲中不理解的点,直接要求chatGPT给出进一步解释。代码也可以有!那一章的内容不太会写,直接让chatGPT安排,这样,一篇论文很快就写出来啦!
创建论文大纲
![950ecba14f9e5c37e044363309c1b437.png](https://i-blog.csdnimg.cn/blog_migrate/775e7d4f7c903ee39a6acdc92a87acfc.png)
解释大纲内容
![7ce9b09eeb0285b634f4159f4eed5311.png](https://i-blog.csdnimg.cn/blog_migrate/5bf4bd68ed40569cfa35afe665d1eb77.png)
class PBA(nn.Module):
def __init__(self, PerformanceThreshold, DistributionType, AttentionWeightRange):
super(PBA, self).__init__()
self.PerformanceThreshold = PerformanceThreshold
self.DistributionType = DistributionType
self.AttentionWeightRange = AttentionWeightRange
def forward(self, input, performance_scores):
# 计算注意力分数
attention_scores = []
for i in range(len(input)):
if performance_scores[i] > self.PerformanceThreshold:
attention_scores.append(performance_scores[i])
else:
attention_scores.append(0.0)
# 将性能分数映射到注意力权重
if self.DistributionType == "softmax":
attention_weights = F.softmax(torch.tensor(attention_scores), dim=0)
elif self.DistributionType == "sigmoid":
attention_weights = torch.sigmoid(torch.tensor(attention_scores))
else:
raise ValueError("Unknown distribution type: {}".format(self.DistributionType))
# 缩放注意力权重到指定范围
attention_weights = attention_weights * (self.AttentionWeightRange[1] - self.AttentionWeightRange[0]) + self.AttentionWeightRange[0]
# 计算加权输入
weighted_input = torch.mul(input, attention_weights.unsqueeze(1).expand_as(input))
output = torch.sum(weighted_input, dim=0)
return output
故事创作
用途:这个功能真的太太太棒了,以后我自己列提纲出来就可以写小说啦!
爱情故事
![59cc1f734e0af5c4cd67925ac9a02e9c.png](https://i-blog.csdnimg.cn/blog_migrate/6c0bbaca6ef682d851c398dc58c5e672.png)
恐怖故事
![edc65cc97463c8795f3fdddfad7a55c9.png](https://i-blog.csdnimg.cn/blog_migrate/207af45b03bee1299a451256c0966731.png)
![e15fe9140e3d5fe44fd0c72e33495f2d.png](https://i-blog.csdnimg.cn/blog_migrate/a7aaf9dbd1203ad91e58d044fc6dd711.png)
问题类比
用途:当你想要做一个比喻时,这是一个很棒的功能。
![07bf7628815efb5ebadc3b5488f3f02a.png](https://i-blog.csdnimg.cn/blog_migrate/1c769dfbad75bcc4554b4d4b2e1d29e5.png)
创建SQL需求
用途:写SQL有时候挺头疼的,想好久想不起来。
![5fa83aac0cb490dd769ade47afa51819.png](https://i-blog.csdnimg.cn/blog_migrate/d8156a282bcdbd889b0b603ae6ee2eea.png)
情感分析
用途:这个功能让我想起来在之前公司做的情感分析任务了。
![53d89a3ae33918982b9139c008030520.png](https://i-blog.csdnimg.cn/blog_migrate/f81384535e76b0179db74d8f09747406.png)
将产品描述转变为广告
用途:这个功能对于商家来说太棒了。
![ed157ca6c6f4a53c47474ed40eec7bec.png](https://i-blog.csdnimg.cn/blog_migrate/d87910a7f57a9891f818f6b4852fd29f.png)
关键字提取
用途:NLP任务的重要作用,关键字提取!
![45f5563d2a948b3b919c935de05af1fb.png](https://i-blog.csdnimg.cn/blog_migrate/49fd601b54daec04d67355d57522c830.png)
闲聊机器人
用途:这个不多说了,用来闲聊体验感真的很不错。
![b6e9e29583126726891ec24162dfefbc.png](https://i-blog.csdnimg.cn/blog_migrate/6d49f98dd495f599dbd28637bbc5fc0f.png)
![8b284b671559d3e366bc3b1b92f4b362.png](https://i-blog.csdnimg.cn/blog_migrate/1219e8961e681178b74f15cd4c22ada1.png)
总结
我觉得角色扮演挺有意思的,对话前加一句:假如你是 xxx。
现在有一些小程序,让AI扮演一些角色对话,就是用这种方法实现的。
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。
提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)