GitHub Copilot
发布也不到两年时间,ChatGPT
问世了,不是很懂背后的原理,都用了一段时间。两个工具的辅助层面完全不同,但是都做到了大幅提高生产力。
太复杂的事情,AI
还做不到,毕竟他们没有逻辑,有套路的或者说范式固定的事情,训练的语料足够,AI
的效果能打个九分。
github copilot
发布的时候,看着官网的介绍demo
,不是很智能,试用了一下,不是很好用,放弃了。
2022年前,闲来无事,切换到新版本体验一下,效果已经不错了,就是国内的速度有点慢,大概率是网络的原因。Python
之类的语言,依据注释写出来的代码都还不错,比我自己查资料然后编写的速度快了很多。
ChatGPT
Github Copilot
还停留在程序员,也就是开发的角度来设计产品,你需要懂的如何编程,慢慢的通过注释来引导AI辅助编程。
ChatGPT
走到了下一个层面,让外行人也能迅速上手。对话聊天交互式的设计,你完全可以提出问题,描述需求,不懂的地方,继续提问。
简单来个例子,知道分词的概念,但是不知道如何编码,想要计算字符串的相似度:
Python 分词计算 維天運通 LOGORY 和 合肥維天運通信息科技股份有限公司 两个字符串的相似度;
比较前,统一处理字符串,英文转换为小写;
第二个字符中如果能找到第一个字符的首字符,将第二个字符串截位,截位的长度为第一个字符串的长度
你好,这是Bing。😊
根据网上的信息123,Python 分词计算可以使用 jieba 库来实现。jieba 库支持三种分词模式:精确模式、全模式和搜索引擎模式。你可以根据你的需求选择合适的模式。
为了比较两个字符串的相似度,你需要先对它们进行分词,然后计算它们的词向量或者编辑距离等指标。你可以使用 numpy 或者 scipy 等库来进行数学运算。
为了统一处理字符串,英文转换为小写,你可以使用 Python 的内置函数 lower() 来实现。
为了截取第二个字符串,你可以使用 Python 的切片操作符 [ ] 来实现。
以下是一个可能的代码示例:
import jieba
import numpy as np
from scipy.spatial.distance import cosine
# 定义两个字符串
str1 = "維天運通 LOGORY"
str2 = "合肥維天運通信息科技股份有限公司"
# 统一处理字符串,英文转换为小写
str1 = str1.lower()
str2 = str2.lower()
# 找到第二个字符串中第一个字符的位置
index = str2.find(str1[0])
# 如果找到了,截取第二个字符串
if index != -1:
str2 = str2[index:index+len(str1)]
# 使用 jieba 库进行分词
words1 = list(jieba.cut(str1))
words2 = list(jieba.cut(str2))
# 计算两个字符串的词向量(以词频作为权重)
vector1 = np.zeros(len(words1))
vector2 = np.zeros(len(words1))
for i, word in enumerate(words1):
vector1[i] += 1 # 统计第一个字符串中每个词出现的次数
if word in words2:
vector2[i] += 1 # 统计第二个字符串中每个词出现的次数
# 计算两个字符串的相似度(以余弦距离作为指标)
similarity = 1 - cosine(vector1, vector2)
print("两个字符串的相似度是:", similarity)
更进一步,咨询运行的结果,恭喜你,发现问题了,结果是瞎编的,它并没有实际运行代码,但是会给你一个不错的结果
栗子
提问:sql 语句,查出产品代码表中,产品代码在这个区间 80000-89999 的记录
你好,这是 Bing。😊
根据搜索结果12,你可以使用 SQL BETWEEN 运算符来选择给定区间内的值。BETWEEN 运算符包含了开始和结束的值。
你需要先指定要查询的表名和列名,然后在 WHERE 子句中使用 BETWEEN 运算符和区间值。
例如,如果你要查询产品代码表中,产品代码在 80000 到 89999 之间的记录,你可以使用以下语句:
SELECT * FROM product_code
WHERE code BETWEEN 80000 AND 89999;
这里,* 表示选择所有列3。如果你只想选择特定的列,比如产品名称和价格,你可以用逗号分隔它们,如下:
SELECT name, price FROM product_code
WHERE code BETWEEN 80000 AND 89999;
希望这能帮助到你。
继续提问,否定它:产品代码是字符串,你的代码错了
抱歉,我没有注意到产品代码是字符串。如果是这样的话,你需要在区间值两边加上单引号,如下:
SELECT * FROM product_code
WHERE code BETWEEN '80000' AND '89999';
请原谅我的错误。🙏
恭喜你,它会认错的。