利用AI写一个『贪吃蛇游戏』

更新於 2023/08/03閱讀時間約 24 分鐘

在完成一些简单的任务之后,我觉得ChatGPT可以帮我完成一些更为复杂,甚至于可能我并不是特别擅长的任务,而我想到了,也许,可以帮我写一个简单的游戏。

贪多嚼不烂的道理我还是明白的,于是,我给自己提前就设定了一个目标:

游戏可以运行实现简单的规则减少BUG的存在可以开始和结束

带着这四个最朴素的愿景,让我们开始吧。

一贯的,一上来我就将问题抛给了chatGPT

请用Python3.10 编写一个贪吃蛇的游戏,给我完整的代码。

这里我们需要注意一下,你的描述越清晰,得到的结果越有可能是你想要的。在这里,我告诉了chatGPT,我希望用Python写一个游戏,而且版本号是3.10。并且,我告诉了chatGPT,请给我完整的代码。因为如果我不这么说的话,那很有可能chatGPT会先给我一堆的步骤而不是实际的代码。

在之后,我得到了chatGPT的答复:

raw-image

完整代码如下:

import pygame
import random

# 游戏窗口的大小
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600

# 蛇身和食物的大小
BLOCK_SIZE = 20

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)

# 初始化 Pygame
pygame.init()

# 创建游戏窗口
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("贪吃蛇游戏")

clock = pygame.time.Clock()

def game_loop():
game_over = False

# 蛇的初始位置和速度
snake_x = WINDOW_WIDTH // 2
snake_y = WINDOW_HEIGHT // 2
snake_x_change = 0
snake_y_change = 0

# 食物的初始位置
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
snake_x_change = -BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_RIGHT:
snake_x_change = BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_UP:
snake_y_change = -BLOCK_SIZE
snake_x_change = 0
elif event.key == pygame.K_DOWN:
snake_y_change = BLOCK_SIZE
snake_x_change = 0

# 更新蛇的位置
snake_x += snake_x_change
snake_y += snake_y_change

# 绘制游戏窗口
window.fill(BLACK)
pygame.draw.rect(window, RED, [food_x, food_y, BLOCK_SIZE, BLOCK_SIZE])
pygame.draw.rect(window, WHITE, [snake_x, snake_y, BLOCK_SIZE, BLOCK_SIZE])
pygame.display.update()

# 碰撞检测
if snake_x == food_x and snake_y == food_y:
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

clock.tick(20) # 控制游戏的帧率

pygame.quit()

# 启动游戏
game_loop()

从代码里我们可以看出来,文件引用了库pygame以及random, 其中,pygame需要我们单独安装一下:

conda install pygame

建立了一个snake_v1.py的文件,并把这段代码粘贴到文件里之后,我开始尝试运行它:

python ~/xx/game/snake_v1.py

事情果然没有想的那么简单,根本就是毫无动静。我开始询问chatGPT

raw-image

chatGPT给到的答案似乎没有什么意义,这些事情在开始之前我就已经做好了。在短暂的思考之后,我忽然想到,是否因为我是Mac系统,从而导致了窗口不出现,于是我继续问问题:

raw-image

然后继续问:

raw-image

这一次,我抓到了重点。不明白为什么刚才我提到我是Mac系统的时候他不告诉我,先不管这些,在其中添加这段代码后,游戏终于可以运行了:

import pygame
import random

# 游戏窗口的大小
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600

# 蛇身和食物的大小
BLOCK_SIZE = 20

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)

# 初始化 Pygame
pygame.init()

# 创建游戏窗口
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("贪吃蛇游戏")
pygame.display.flip()

clock = pygame.time.Clock()

def game_loop():
game_over = False

# 蛇的初始位置和速度
snake_x = WINDOW_WIDTH // 2
snake_y = WINDOW_HEIGHT // 2
snake_x_change = 0
snake_y_change = 0

# 食物的初始位置
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
snake_x_change = -BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_RIGHT:
snake_x_change = BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_UP:
snake_y_change = -BLOCK_SIZE
snake_x_change = 0
elif event.key == pygame.K_DOWN:
snake_y_change = BLOCK_SIZE
snake_x_change = 0

# 更新蛇的位置
snake_x += snake_x_change
snake_y += snake_y_change

# 绘制游戏窗口
window.fill(BLACK)
pygame.draw.rect(window, RED, [food_x, food_y, BLOCK_SIZE, BLOCK_SIZE])
pygame.draw.rect(window, WHITE, [snake_x, snake_y, BLOCK_SIZE, BLOCK_SIZE])
pygame.display.update()

# 碰撞检测
if snake_x == food_x and snake_y == food_y:
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

clock.tick(20) # 控制游戏的帧率

pygame.quit()

# 启动游戏
game_loop()

raw-image

不知道各位看出什么问题了没有,问题如下:

  1. 动作太快了,完全是地狱级别的难度;
  2. 蛇似乎不会增长,吃了物品没有变长;
  3. 撞到墙壁后游戏虽然停止了,但是没任何提示,蛇就这么消失了;

于是,我只能让chatGPT再帮我优化代码:

raw-image

当然,又有了其他问题,

  1. 蛇在撞到自己之后没有办法结束游戏
  2. 游戏无法退出
  3. 游戏无法重新开始
  4. Game Over之后显示的是乱码

当然,有编程经验的人大概能明白,乱码的话一定是因为中文显示不正确,而目前,我也没打算支持中文。干脆用英文好了。

于是,我又开始提需求,在连续三四轮这种询问之后,终于来到了最后一次:

raw-image

然后我得到了如下代码:

import pygame
import random

# 游戏窗口的大小
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600

# 蛇身和食物的大小
BLOCK_SIZE = 20

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)

# 初始化 Pygame
pygame.init()

# 创建游戏窗口
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("贪吃蛇游戏")
pygame.display.flip()

clock = pygame.time.Clock()

def game_loop():
game_over = False
game_restart = False
game_paused = False

while not game_restart:
if game_over:
show_game_over()

# 蛇的初始位置和速度
snake_x = WINDOW_WIDTH // 2
snake_y = WINDOW_HEIGHT // 2
snake_x_change = 0
snake_y_change = 0

# 蛇身的初始位置和长度
snake_body = []
snake_length = 1

# 食物的初始位置
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

score = 0

while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT and snake_x_change != BLOCK_SIZE:
snake_x_change = -BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_RIGHT and snake_x_change != -BLOCK_SIZE:
snake_x_change = BLOCK_SIZE
snake_y_change = 0
elif event.key == pygame.K_UP and snake_y_change != BLOCK_SIZE:
snake_y_change = -BLOCK_SIZE
snake_x_change = 0
elif event.key == pygame.K_DOWN and snake_y_change != -BLOCK_SIZE:
snake_y_change = BLOCK_SIZE
snake_x_change = 0
elif event.key == pygame.K_SPACE:
game_paused = not game_paused
elif event.key == pygame.K_q:
pygame.quit()
quit()

if game_paused:
continue

# 更新蛇的位置
snake_x += snake_x_change
snake_y += snake_y_change

# 碰撞检测
if snake_x == food_x and snake_y == food_y:
# 蛇吃到了食物,增加长度和得分
snake_length += 1
score += 1
food_x = round(random.randrange(0, WINDOW_WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, WINDOW_HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE

# 更新蛇的身体
snake_head = [snake_x, snake_y]
snake_body.append(snake_head)

if len(snake_body) > snake_length:
del snake_body[0]

# 检测碰撞
if snake_head in snake_body[:-1] or snake_x < 0 or snake_x >= WINDOW_WIDTH or snake_y < 0 or snake_y >= WINDOW_HEIGHT:
game_over = True

# 绘制游戏窗口
window.fill(BLACK)
pygame.draw.rect(window, RED, [food_x, food_y, BLOCK_SIZE, BLOCK_SIZE])
for body_part in snake_body:
pygame.draw.rect(window, WHITE, [body_part[0], body_part[1], BLOCK_SIZE, BLOCK_SIZE])

# 显示实时分数
font = pygame.font.Font(None, 28)
text = font.render("Score: " + str(score), True, WHITE)
window.blit(text, (10, 10))

pygame.display.update()
clock.tick(10) # 控制游戏的帧率

# 重新开始游戏
game_loop()

def show_game_over():
font = pygame.font.Font(None, 36)
text = font.render("Game Over. Press Space to restart", True, WHITE)
text_rect = text.get_rect(center=(WINDOW_WIDTH // 2, WINDOW_HEIGHT // 2))

while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
game_loop()

window.fill(BLACK)
window.blit(text, text_rect)
pygame.display.update()
clock.tick(10)

# 启动游戏
game_loop()

大家可以看看效果:

raw-image

我们可以看到,这个游戏相对来说是比较完整了,速度正常了,有计分系统,蛇能正常增长,碰到自己游戏会结束,碰到墙壁后也会Game Over,并且可以通过SPACE来重新开始。并且,我还加入了按Q键的时候退出的功能。

当然,还可以继续完善,比如随着时间的流逝,速度上可以渐渐加快等等。就看你怎么想,然后其他的交给chatGPT。

通过这次的示例演示,其中重点不是教大家如何做一个贪吃蛇游戏,而是教大家如何利用chatGPT来解决你需要解决的问题。当然,我需要收回我开头说的话,chatGPT并不能帮你解决你不熟悉的问题。就比如,如果我完全不懂这其中内容的话,可能我窗口都打不开,我完全都不知道我什么时候才能解决Mac系统中不一样的部分,而也正是因为有一些简单的经验,才让我考虑的那个层面,从而针对性提问解决了问题。

所以要记住,AI并不能帮你解决你完全不懂的问题,起码,你要知道你想问什么,也要知道问题大概卡在哪里了,针对性继续提问。

最后,友情提示一下,不要用API来完成这一次次的对话,经验之谈,去买个Plus,比API交互便宜多了。你看那一串串的代码重复的给你写出来,你完全不知道会耗费多少Token。那些宝贵的Token,还是用在聊天窗无法完成的任务上比较合适。

avatar-img
9會員
62內容數
从基础开始,再到Python,然后是CV、BI、NLP等相关技术。从头到尾详细的教授一边人工智能。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
茶桁的沙龍 的其他內容
Hi,大家好,我是茶桁。 很遗憾在上一讲,也就是第12讲的时候,咱们对于利用AI写一个VBA宏来执行Excel任务的过程并不顺利,仔细想来既然大家都在这里看这个系列文章了,应该也基本都会Python的,所以一个Excel自动化也并无太大影响,毕竟,这种商业软件的集成一定是早晚的事情,咱们也不必在这
开头我就要跟各位先说对不起,本来我是很想为大家把这部分实现并完成的。但是很抱歉,因为我用的Mac,而这部分代码实现起来的时候一直会如下报错: 当然,其实是可以迂回实现的,就是使用Mac本来的AppleScript,不过实现效果并不好,所以想想也就算了。毕竟我考虑,可能看我这些系列文章的人都多多少少
Hi, 大家好,我是茶桁。 直奔主题,我们来谈谈成本这件事。 大家应该都知道,ChatGPT对免费用户是有5美元的API调用额度的,说是这么说,可是那是以前,现在新注册的小伙伴应该都发现自己的API Key根本无法调用API,原因是这个免费额度似乎已经失效了。而我可以直接说,在我从第一节到第10
Hi, 我是茶桁。 看到我这篇文章的读者们不知道有多少人是接触过ChatGPT或者其他人工智能产品的。 市面上目前充斥着大量的人工智能产品,从聊天,文案,脚本,音乐,绘画等方方面面都涵盖了。但是不知道有多少人遇到过以下的场景不知道该如何解决: 我需要针对一篇很长的文章(可以是论文,可以是小说)
Hi,我是茶桁。 过去的8讲,你已熟悉Embedding和Completion接口。Embedding适合用于机器学习中的分类、聚类等传统场景。Completion接口可以用作聊天机器人,也可以用于文案撰写、文本摘要、机器翻译等工作。 然而,很多同学可能认为这与他们的日常工作无关。实际上,我们通
Hi, 我是茶桁。 我们已经介绍了 OpenAI 的主要接口。这是基础知识系列的最后一讲,我们将讨论 OpenAI GPT 系列模型的其他接口。你可能不会经常使用其中一些接口,但了解它们不会有任何坏处,说不定你会在某些需求中用到它们。 在这篇文章中,我们将一起探讨 OpenAI 为文本改写和内容
Hi,大家好,我是茶桁。 很遗憾在上一讲,也就是第12讲的时候,咱们对于利用AI写一个VBA宏来执行Excel任务的过程并不顺利,仔细想来既然大家都在这里看这个系列文章了,应该也基本都会Python的,所以一个Excel自动化也并无太大影响,毕竟,这种商业软件的集成一定是早晚的事情,咱们也不必在这
开头我就要跟各位先说对不起,本来我是很想为大家把这部分实现并完成的。但是很抱歉,因为我用的Mac,而这部分代码实现起来的时候一直会如下报错: 当然,其实是可以迂回实现的,就是使用Mac本来的AppleScript,不过实现效果并不好,所以想想也就算了。毕竟我考虑,可能看我这些系列文章的人都多多少少
Hi, 大家好,我是茶桁。 直奔主题,我们来谈谈成本这件事。 大家应该都知道,ChatGPT对免费用户是有5美元的API调用额度的,说是这么说,可是那是以前,现在新注册的小伙伴应该都发现自己的API Key根本无法调用API,原因是这个免费额度似乎已经失效了。而我可以直接说,在我从第一节到第10
Hi, 我是茶桁。 看到我这篇文章的读者们不知道有多少人是接触过ChatGPT或者其他人工智能产品的。 市面上目前充斥着大量的人工智能产品,从聊天,文案,脚本,音乐,绘画等方方面面都涵盖了。但是不知道有多少人遇到过以下的场景不知道该如何解决: 我需要针对一篇很长的文章(可以是论文,可以是小说)
Hi,我是茶桁。 过去的8讲,你已熟悉Embedding和Completion接口。Embedding适合用于机器学习中的分类、聚类等传统场景。Completion接口可以用作聊天机器人,也可以用于文案撰写、文本摘要、机器翻译等工作。 然而,很多同学可能认为这与他们的日常工作无关。实际上,我们通
Hi, 我是茶桁。 我们已经介绍了 OpenAI 的主要接口。这是基础知识系列的最后一讲,我们将讨论 OpenAI GPT 系列模型的其他接口。你可能不会经常使用其中一些接口,但了解它们不会有任何坏处,说不定你会在某些需求中用到它们。 在这篇文章中,我们将一起探讨 OpenAI 为文本改写和内容
本篇參與的主題活動
在生成式AI與大型語言模型(Large Language Model, LLM)蓬勃發展下,有許多工具可以幫助我們學習與撰寫程式,這篇文章提供了實作範例與一些經驗,分享如何使用ChatGPT(免費的GPT-3.5)協助程式語言的學習,並且完成屬於自己的程式。
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
前言 我在工作中沒有什麼機會接觸到機器學習,學生時期也沒有學習過相關知識。 作為一個業餘小白,我對機器學習非常感興趣。在自學的過程中,我逐漸意識到利用機器學習可以做很多有趣的事情。 因此,我決定嘗試使用 AWS SageMaker JumpStart 來實驗文字生成式繪圖 AI ,以了解機
最近玩到了一個我覺得很新奇有趣的軟體,叫做SillyTavern。 SillyTavern是專用於創建虛擬角色的AI聊天軟體,SillyTavern是TavernAI的分支,但SillyTavern走上了自己的路,加進了許多額外功能,並且仍在積極的持續更新中。 然後,可以色色!
「Prompt」這個詞是提示的意思,但為什麼需要提示呢? 當AI不理解我們的時候,勢必給出的回應並非準確的為我們解答,因此一個好的提示是非常重要的,就如同我們人與人之間的溝通一樣,如何將自己心裡的疑惑轉化成好的問題來提問對方,讓對方理解,進而給出一個明確的答案,這就是提示(Prompt)的重要性,對
在生成式AI與大型語言模型(Large Language Model, LLM)蓬勃發展下,有許多工具可以幫助我們學習與撰寫程式,這篇文章提供了實作範例與一些經驗,分享如何使用ChatGPT(免費的GPT-3.5)協助程式語言的學習,並且完成屬於自己的程式。
前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
前言 我在工作中沒有什麼機會接觸到機器學習,學生時期也沒有學習過相關知識。 作為一個業餘小白,我對機器學習非常感興趣。在自學的過程中,我逐漸意識到利用機器學習可以做很多有趣的事情。 因此,我決定嘗試使用 AWS SageMaker JumpStart 來實驗文字生成式繪圖 AI ,以了解機
最近玩到了一個我覺得很新奇有趣的軟體,叫做SillyTavern。 SillyTavern是專用於創建虛擬角色的AI聊天軟體,SillyTavern是TavernAI的分支,但SillyTavern走上了自己的路,加進了許多額外功能,並且仍在積極的持續更新中。 然後,可以色色!
「Prompt」這個詞是提示的意思,但為什麼需要提示呢? 當AI不理解我們的時候,勢必給出的回應並非準確的為我們解答,因此一個好的提示是非常重要的,就如同我們人與人之間的溝通一樣,如何將自己心裡的疑惑轉化成好的問題來提問對方,讓對方理解,進而給出一個明確的答案,這就是提示(Prompt)的重要性,對
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
語音辨識技術對於任何需要整理和表達想法的人都有著巨大的幫助。 透過這種技術,我們可以更有效地將腦海中的想法轉化為文字,從而將思緒組織得更為清晰。更重要的是,這種方式還可以助力我們增強自我語言能力,提升思考的深度和廣度。 自從我開始使用語音辨識技術以來,我的寫作流程完全改變,能更有效捕捉更多想法,更高
Thumbnail
6月的第三個星期日也就是本週日即將迎來全球80幾個國家、地區的父親節,包括歐亞及美洲等國家或地區。以打破傳統聞名的威士忌品牌「格蘭利威」,如何跳脫AI對父親的刻板印象,推出新的發人深省的父親節慶祝活動。
Thumbnail
這次我要來介紹如何利用 TemporalKit + EBSynth 來生成影片,雖然說是生成影片,但其實比較算是 video2video,基於原有影片的動作用 AI 產生不同風格的影片。
Thumbnail
AI會變成人類的代理人。除了開始利用AI、使用AI,你是否準備好「被AI利用」?你的內容,是否方便AI取用與理解,是否要Eembedding?你的服務(例如購物、訂餐)是否方便AI調用,是否有API?
Thumbnail
「AI 會不會取代人類」這個議題甚囂塵上。我認為問題永遠在於如何善用工具解題,而不是擔心工具會不會做得比自己好。此篇將以目前最火紅的 chatGPT 舉例,分析服務優劣以及運用技巧。
Thumbnail
你有在學外語嗎? 我學過10種語言,但很多都堅持不下去。 其中一的大原因,就是沒有找到自己很喜歡的閱讀材料。 還好,現在有生成式AI讓我們想學什麼就生成什麼! 而且很簡單!只要下面三個步驟:
Thumbnail
ChatGPT是最近非常熱門的話題之一。作為由OpenAI開發的大型語言生成模型,ChatGPT已經在各種行業和領域中引起了廣泛的關注和應用。ChatGPT可以通過對話和問答方式與人進行交流,並且能夠提供有用的信息和幫助。這種技術的應用已經在客服、教育、科技等領域得到了廣泛的應用。
Thumbnail
OpenAI就是一間研究與完善人工智慧的公司 旗下好用的2個AI,一個是ChatGPT,一個是DALLE 2。ChatGPT簡單來說是聊天AI,而DALLE 2是繪圖AI。今天的主角是ChatGPT,來談談它能做甚麼吧。 ChatGPT功能
Thumbnail
你是否有過使用機器學習時,卻需要人工審查的經驗呢? AWS 的 Amazon Augmented AI (Amazon A2I)是一項機器學習服務,簡化了為 ML 應用程序構建和管理人工審核的過程,讓你可以輕鬆建置人工審查所需的工作流程!
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
語音辨識技術對於任何需要整理和表達想法的人都有著巨大的幫助。 透過這種技術,我們可以更有效地將腦海中的想法轉化為文字,從而將思緒組織得更為清晰。更重要的是,這種方式還可以助力我們增強自我語言能力,提升思考的深度和廣度。 自從我開始使用語音辨識技術以來,我的寫作流程完全改變,能更有效捕捉更多想法,更高
Thumbnail
6月的第三個星期日也就是本週日即將迎來全球80幾個國家、地區的父親節,包括歐亞及美洲等國家或地區。以打破傳統聞名的威士忌品牌「格蘭利威」,如何跳脫AI對父親的刻板印象,推出新的發人深省的父親節慶祝活動。
Thumbnail
這次我要來介紹如何利用 TemporalKit + EBSynth 來生成影片,雖然說是生成影片,但其實比較算是 video2video,基於原有影片的動作用 AI 產生不同風格的影片。
Thumbnail
AI會變成人類的代理人。除了開始利用AI、使用AI,你是否準備好「被AI利用」?你的內容,是否方便AI取用與理解,是否要Eembedding?你的服務(例如購物、訂餐)是否方便AI調用,是否有API?
Thumbnail
「AI 會不會取代人類」這個議題甚囂塵上。我認為問題永遠在於如何善用工具解題,而不是擔心工具會不會做得比自己好。此篇將以目前最火紅的 chatGPT 舉例,分析服務優劣以及運用技巧。
Thumbnail
你有在學外語嗎? 我學過10種語言,但很多都堅持不下去。 其中一的大原因,就是沒有找到自己很喜歡的閱讀材料。 還好,現在有生成式AI讓我們想學什麼就生成什麼! 而且很簡單!只要下面三個步驟:
Thumbnail
ChatGPT是最近非常熱門的話題之一。作為由OpenAI開發的大型語言生成模型,ChatGPT已經在各種行業和領域中引起了廣泛的關注和應用。ChatGPT可以通過對話和問答方式與人進行交流,並且能夠提供有用的信息和幫助。這種技術的應用已經在客服、教育、科技等領域得到了廣泛的應用。
Thumbnail
OpenAI就是一間研究與完善人工智慧的公司 旗下好用的2個AI,一個是ChatGPT,一個是DALLE 2。ChatGPT簡單來說是聊天AI,而DALLE 2是繪圖AI。今天的主角是ChatGPT,來談談它能做甚麼吧。 ChatGPT功能
Thumbnail
你是否有過使用機器學習時,卻需要人工審查的經驗呢? AWS 的 Amazon Augmented AI (Amazon A2I)是一項機器學習服務,簡化了為 ML 應用程序構建和管理人工審核的過程,讓你可以輕鬆建置人工審查所需的工作流程!