市面上有多款文本大模型辅助编程工具,本文记录智谱华章公司的工具 CodeGeeX。
目前,市面上有几款基于文本大模型的AI辅助编程工具,它们各自具有不同的特点和功能。以下是一些比较知名的AI编程助手:
CodeGeeX是一款基于大模型的全能的智能编程助手。它可以实现代码的生成与补全、自动添加注释、代码翻译以及智能问答等功能,能够帮助开发者显著提高工作效率。CodeGeeX支持主流的编程语言,并适配多种主流IDE。
当前(2024.3)CodeGeex 使用 CodeGeex2-6B模型,该模型已经开源
import requests
# 请求 https://www.codegeex.cn/ 网站,获取返回响应状态、响应头、响应内容,并输出
response = requests.get('https://www.codegeex.cn/')
print(response.status_code)
print(response.headers)
print(response.text)
def tcplink(conn, addr):
print("Accept new connection from %s:%s" % addr)
conn.send(b"Server: Welcome!\n")
while True:
conn.send(b"Server: What's your name?")
data = conn.recv(1024)
if data == b"exit":
conn.send(b"Server: Good bye!\n")
break
conn.send(b"Server: Hello %s!\n" % data)
conn.close()
print("Connection from %s:%s is closed" % addr)
def tcplink(conn, addr):
print("Accept new connection from %s:%s" % addr)
# 发送欢迎信息
conn.send(b"Server: Welcome!")
# 循环接收客户端发送的数据
while True:
# 发送欢迎信息
conn.send(b"Server: What's your name?")
# 接收客户端发送的数据
data = conn.recv(1024)
# 如果客户端发送的数据为exit,则退出
if data == b"exit":
conn.send(b"Server: Good bye!\n ")
break
# 否则,发送欢迎信息,并发送客户端发送的数据
conn.send(b"Server: Hello %s!\n" % data)
# 关闭连接
conn.close()
print("Connection from %s:%s is closed" % addr)
def bubble_sort(L):
changed = True
while changed:
changed = False
for i in range(len(L)-1):
if L[i] > L[i+1]:
L[i], L[i+1] = L[i+1], L[i]
changed = True
return L
public class BubbleSort{
public int[] bubbleSort(int[] nums) {
int len = nums.length;
boolean swapped = true;
for (int i = 0; swapped && i < len; i++) {
swapped = false;
for (int j = 0; j < len - i - 1; j++) {
if (nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
swapped = true;
}
}
}
return nums;
}
}
#!/usr/bin/python3
import _thread
import time
def print_time( threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print ("%s: %s" % ( threadName, time.ctime(time.time()) ))
try:
_thread.start_new_thread( print_time, ("Thread-1", 2, ) )
_thread.start_new_thread( print_time, ("Thread-2", 4, ) )
except:
print ("Error: 无法启动线程")
while 1:
pass
解释一下这个函数
def print_time( threadName, delay):
count = 0
while count < 5:
time.sleep(delay)
count += 1
print ("%s: %s" % ( threadName, time.ctime(time.time()) ))
这个函数的作用是打印线程名称和时间,每次打印的时间间隔为 delay 毫秒。 函数中定义了两个变量 count 和 threadName,分别用于计数和标识不同的线程。count 初始值为 0,while 循环五次,每次循环增加 1,表示需要等待 delay 毫秒后再进行打印。 在每次循环中,调用 time.sleep() 函数来暂停程序的执行,时间为 delay 毫秒。这样可以保证每个线程在打印时间后都能等待一定的时间再进行下一次打印。 接着,增加 count 计数器,并将当前时间用 ctime() 函数转换为字符串,然后使用%s格式化字符串将时间和线程名称打印出来。 最后,函数返回 threadName 参数,可以用于标识不同的线程。
文章链接: