个大语言模型设置如下任务代码:
self.prom = "\
# 请根据输入内容从以下选项中选择一个回答\
{\
手写笔,图片拼接,AI,关闭,西门子,\
图片编辑,小游戏,模拟世界,屏幕坐标,隐藏,\
其他,测试,文件映射\
}\
#注意事项:\
1.如果你不确定,请选择'其他';\
2.不要输出其他内容;\
3.不要具有情感,不用回复问候语等,只需执行上述规则;\
" 测试结果:
user:pen
content:手写笔
user:pencil
content:手写笔
user:笔
content:手写笔
user:拼接
content:图片拼接
user:编辑
content:图片编辑
user:图片
content:图片拼接
user:ai
content:AI
user:close
content:关闭
user:Siemens
content:西门子
user:游戏
content:小游戏
user:test
content:测试
user:文件
content:其他
user:映射
content:文件映射
user:文件映射
content:文件映射
user:坐标
content:屏幕坐标
user:hide
content:隐藏
user:。。。
content:其他 可以看出,不论是否是原词组、外语、部分词组及语义相近的词组,都可以获得所需的内容。大模型的本身对于人类手动编程的速度、复杂度都有超越级的优势,只需要部署大模型,相当于一个稍微有点错误、能力无限大的通用程序。
由此可见,如果发挥我们的想象力,我们可以使用大模型可以轻易完成一个极其复杂的任务,下面举个例。
prom="#根据要求生成一段完整的python代码,包括头文件、注释、代码。\
#注意:\
1.假设我已经安装了所有的python库,你可以尽情发挥。\
2.代码要有理有据,思路清晰。\
3.代码地首尾使用```包裹。\
" 如上图,假设我们不会写python代码,但是我们又有使用python工作的需求,我们有一个无所不知(相对于我们自己个人)大模型,这就得到了完美互补。
#引入自定义的chat模块
import chat
#时间模块
import time
#多线程
import subprocess
#创建本地大模型服务
client=chat.OLLAMA_AI(prom="#根据要求生成一段完整的python代码,包括头文件、注释、代码。\
#注意:\
1.假设我已经安装了所有的python库,你可以尽情发挥。\
2.代码要有理有据,思路清晰。\
3.代码地首尾使用```包裹。\
")
#循环对话
while True:
#python代码需求
print("user:",end="")
user_input=input()
#获取答案
result=client.ask(user_input)
#处理回答内容
#以```分割内容
parts=result.split("```")
for i in range(len(parts)):
#分离出python代码,有一段内容含有python并在开头
if parts[i].lower().startswith("python"):
#删除掉python这个字符串
code_str=parts[i].replace("python","")
# 生成唯一的文件名,这里使用时间戳
filename = f"output_{int(time.time())}.py"
# 使用 'w' 模式打开文件,如果文件不存在则创建
with open(filename, 'w') as file:
# 将字符串内容写入文件
file.write(code_str)
#运行filename = f"output_{int(time.time())}.py"
# 构建命令
command = ['python', filename]
# 运行命令
try:
subprocess.run(command, check=True)
except subprocess.CalledProcessError as e:
print(f"Error running the script: {e}") 要求及生成的图像

以下是保存下来的代码
# 导入所需的库
from PIL import Image, ImageDraw
def create_red_square_image(size):
"""
创建一个指定尺寸的红色正方形图像。
参数:
size (int): 图像的宽度和高度(单位:像素)
返回:
Image: 生成的红色正方形图像对象。
"""
# 创建一个新的空白图像,大小为size x size,背景颜色为透明
img = Image.new('RGB', (size, size), color='white')
# 创建一个绘图对象来绘制在图像上
draw = ImageDraw.Draw(img)
# 使用红色填充整个图像(0-255范围内的RGB值)
draw.rectangle((0, 0, size, size), fill=(255, 0, 0))
return img
# 创建一个500x500像素的红色正方形图片
red_square_image = create_red_square_image(500)
# 显示生成的图像(需要使用ImageShow函数)
from PIL import ImageTk
import tkinter as tk
root = tk.Tk()
img_tk = ImageTk.PhotoImage(red_square_image)
panel = tk.Label(root, image=img_tk)
panel.pack(side="bottom", fill="both", expand="yes")
tk.mainloop()
从模型生成的代码来看,思路很清晰,只要输入的要求条理清晰、准确,代码输出基本无误,本地运行7B模型完成这种任务还是比较吃力地。不过完成开头的简单任务还是很轻松的。