摘要:对于开发者而言,你不光可以用各种成熟的AI APP,还可以调用AI大模型接口,用来开发个人软件、小程序、web应用等,比如公众号客服、数据分析助手、AI智能图片。
这两年各种大模型如雨后春笋,明星产品辈出,比如最近的deepseek。
我也一直在研究各种大模型的使用,看看是否能做一些有趣的东西。
对于开发者而言,你不光可以用各种成熟的AI APP,还可以调用AI大模型接口,用来开发个人软件、小程序、web应用等,比如公众号客服、数据分析助手、AI智能图片。
举2个例子,我最近尝试用智谱AI的GLM-4模型结合 Python 开发GUI应用,非常的简单。
第一个:成语接龙小游戏
实现的功能是,用户直接输入一个成语,该应用会根据接龙规则,给出新的成语,然后根据你的输入再接龙,所有成语内容会被记录下来。
第二个:儿童睡前故事生成器
实现的功能是,用户只需要输入一段话,比如“请生成一个关于勇敢的小兔子的故事”,AI就会根据需求生成一段几百字的儿童故事。
这两个应用可以通过Python tkinter库实现,并自定义UI,使用起来很方便。
怎么实现呢?
第一步:
先注册智谱AI BigModel平台,然后获取对应模型API key,用于在Python中调用模型。
第二步:
在Python中安装zhipuai SDK,也就是智谱AI官方的接口库。
第三步:
编写代码,使用Python GUI库tkinter编写应用程序。
第一个应用,成语接龙小游戏,代码如下。
import tkinter as tk# 假设的质谱 AI 接口函数,实际需替换def generate_next_idiom(current_idiom): # 这里应该是调用质谱 AI 接口进行成语接龙的代码 # 暂时简单返回一个固定成语作为示例 client = ZhipuAI(api_key="yourapi") user_content = current_idiom system_content = '''你是成语接龙高手,你需要配合用户玩成语接龙游戏,接龙的字可以是相同的字,也可以是读音相同的字,你只需要输出相应成语即可,不要有任何其他描述,然后根据我的输入再接龙,依次循环''' response = client.chat.completions.create( model="glm-4-flash", messages=[ { "role": "system", "content": system_content }, { "role": "user", "content": user_content } ], top_p= 0.7, temperature= 0.95, max_tokens=1024, tools = [{"type":"web_search","web_search":{"search_result":True}}], ) return(response.choices[0].message.content)def play_game: current_idiom = input_box.get.strip if current_idiom: # 获取 AI 生成的成语 next_idiom = generate_next_idiom(current_idiom) # 在展示框记录用户输入 record_box.insert(tk.END, "用户: " + current_idiom + "\n") # 在展示框记录 AI 输出 record_box.insert(tk.END, "AI: " + next_idiom + "\n") # 清空输入框 input_box.delete(0, tk.END)# 创建主窗口root = tk.Tkroot.title("成语接龙游戏生成器")# 创建输入框标签input_label = tk.Label(root, text="请输入一个成语:")input_label.pack(pady=10)# 创建输入框input_box = tk.Entry(root, width=30)input_box.pack(pady=5)# 创建开始游戏按钮play_button = tk.Button(root, text="开始接龙", command=play_game)play_button.pack(pady=10)# 创建展示框标签record_label = tk.Label(root, text="接龙记录:")record_label.pack(pady=10)# 创建展示框record_box = tk.Text(root, height=15, width=50)record_box.pack(pady=5)# 运行主循环root.mainloop最终实现效果虽然比较简陋,但可以运行起来,后面再优化,比如增加积分系统。
用户在输入框可以先输入一个成语,AI会成语接龙生成另一个成语,以此往复,所有成语都需要记录在展示框中,并打上用户、AI的标签。
第二个应用,儿童睡前故事生成器,代码如下。
import tkinter as tkfrom tkinter import ttkfrom zhipuai import ZhipuAIdef generate_story: # 这里应该是调用质谱 AI 接口根据输入生成故事的代码 # 由于没有真实接口,暂时返回一个固定示例故事 system_content = '''根据用户提示内容,生成一段儿童睡前故事,要求300字以内,故事内容轻松自然易懂,有教育意义''' client = ZhipuAI(api_key="yourapi") user_content = input_box.get("1.0", tk.END).strip response = client.chat.completions.create( model="glm-4-Plus", messages=[ { "role": "system", "content": system_content }, { "role": "user", "content": user_content } ], top_p= 0.7, temperature= 0.95, max_tokens=1024, tools = [{"type":"web_search","web_search":{"search_result":True}}], ) story = response.choices[0].message.content return storydef show_story: story = generate_story output_box.delete("1.0", tk.END) output_box.insert(tk.END, story)# 创建主窗口root = tk.Tkroot.title("儿童睡前故事生成器")root.geometry("600x400") # 设置窗口大小# 创建输入框标签input_label = ttk.Label(root, text="请输入故事需求:")input_label.pack(pady=10)# 创建输入框input_box = tk.Text(root, height=5, width=50)input_box.pack(pady=5)# 创建生成故事按钮generate_button = ttk.Button(root, text="生成故事", command=show_story)generate_button.pack(pady=10)# 创建输出框标签output_label = ttk.Label(root, text="生成的故事:")output_label.pack(pady=10)# 创建输出框output_box = tk.Text(root, height=15, width=50) # 增大输出框高度output_box.pack(pady=5)# 运行主循环root.mainloop如下图展示,我输入要求 “请生成一个关于勇敢的小兔子的故事”,该应用根据要求生成了一个小兔子的故事,速度挺快的。
故事的情节丰富多样,语言生动有趣,很适合小朋友听。
而且,它还能根据不同的要求,调整故事的风格,比如可以是温馨的、搞笑的或者充满奇幻色彩的。
AI让成语接龙、故事生成器这类小应用变得更加简单和有趣,挺好玩的。
对于个人开发者来说,AI的兴起一个很好的机会,可以利用这个模型开发出各种有趣的 AI 应用,说不定能有意想不到的收益。
来源:朱卫军AI