iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0
生成式 AI

Gemini 多模態大型語言模型大小事系列 第 28

Gemini 多模態大型語言模型大小事 Day28 - Google AI Studio - 程式碼執行

  • 分享至 

  • xImage
  •  

前言

    Day10 使用程式處理傳入的音檔,我們再用Google AI Studio處理一次

程式碼執行

照Day10 的咒語

https://ithelp.ithome.com.tw/upload/images/20241008/201216439WrW8V7rOD.png

執行結果

咒語
請用繁體中文回答
前 50 個質數的和是多少?
生成並運行計算程式碼,並確保獲得全部 50 個結果。
產生並運行計算程式碼,並確保獲得全部 50 個結果。

def is_prime(n):
  """判斷一個數是否為質數。"""
  if n <= 1
    return False
  for i in range(2, int(n**0.5) + 1):
    if n % i == 0:
      return False
  return True


primes = []
num = 2
while len(primes) < 50:
  if is_prime(num):
    primes.append(num)
  num += 1

print("前 50 個質數為:", primes)
print("前 50 個質數的和為:", sum(primes))
輸出:

前 50 個質數為: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229]
前 50 個質數的和為: 5117
程式碼說明:

is_prime(n) 函數:

接受一個整數 n 作為輸入。

如果 n 小於或等於 1,則返回 False,因為 1 和以下的數不是質數。

從 2 迭代到 n 的平方根,檢查 n 是否可以被任何這些數整除。如果是,則 n 不是質數,返回 False。

如果循環完成後沒有找到任何因數,則 n 是質數,返回 True。

主程式碼區塊:

建立一個空列表 primes 來存儲質數。

將 num 初始化為 2,因為它是第一個質數。

使用 while 循環,直到 primes 列表中有 50 個質數為止。

在循環內:

使用 is_prime(num) 函數檢查 num 是否為質數。

如果是,則將 num 添加到 primes 列表中。

將 num 增加 1 以檢查下一個數字。

循環結束後,打印前 50 個質數的列表和它們的總和。

Get Code

"""
Install the Google AI Python SDK

$ pip install google-generativeai
"""

import os
import google.generativeai as genai

genai.configure(api_key=os.environ["GEMINI_API_KEY"])

# Create the model
generation_config = {
  "temperature": 1,
  "top_p": 0.95,
  "top_k": 64,
  "max_output_tokens": 8192,
  "response_mime_type": "text/plain",
}

model = genai.GenerativeModel(
  model_name="gemini-1.5-pro",
  generation_config=generation_config,
  # safety_settings = Adjust safety settings
  # See https://ai.google.dev/gemini-api/docs/safety-settings
)

chat_session = model.start_chat(
  history=[
    {
      "role": "user",
      "parts": [
        "請用繁體中文回答 \n前 50 個質數的和是多少? \n生成並運行計算程式碼,並確保獲得全部 50 個結果。\n產生並運行計算程式碼,並確保獲得全部 50 個結果。",
      ],
    },
    {
      "role": "model",
      "parts": [
        "```python\ndef is_prime(n):\n  \"\"\"判斷一個數是否為質數。\"\"\"\n  if n <= 1:\n    return False\n  for i in range(2, int(n**0.5) + 1):\n    if n % i == 0:\n      return False\n  return True\n\n\nprimes = []\nnum = 2\nwhile len(primes) < 50:\n  if is_prime(num):\n    primes.append(num)\n  num += 1\n\nprint(\"前 50 個質數為:\", primes)\nprint(\"前 50 個質數的和為:\", sum(primes))\n```\n\n**輸出:**\n\n```\n前 50 個質數為: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229]\n前 50 個質數的和為: 5117\n```\n\n**程式碼說明:**\n\n1. **`is_prime(n)` 函數:**\n   - 接受一個整數 `n` 作為輸入。\n   - 如果 `n` 小於或等於 1,則返回 `False`,因為 1 和以下的數不是質數。\n   - 從 2 迭代到 `n` 的平方根,檢查 `n` 是否可以被任何這些數整除。如果是,則 `n` 不是質數,返回 `False`。\n   - 如果循環完成後沒有找到任何因數,則 `n` 是質數,返回 `True`。\n\n2. **主程式碼區塊:**\n   - 建立一個空列表 `primes` 來存儲質數。\n   - 將 `num` 初始化為 2,因為它是第一個質數。\n   - 使用 `while` 循環,直到 `primes` 列表中有 50 個質數為止。\n   - 在循環內:\n     - 使用 `is_prime(num)` 函數檢查 `num` 是否為質數。\n     - 如果是,則將 `num` 添加到 `primes` 列表中。\n     - 將 `num` 增加 1 以檢查下一個數字。\n   - 循環結束後,打印前 50 個質數的列表和它們的總和。\n",
      ],
    },
  ]
)

response = chat_session.send_message("INSERT_INPUT_HERE")

print(response.text)

上一篇
Gemini 多模態大型語言模型大小事 Day27 - Google AI Studio - 音訊功能
下一篇
Gemini 多模態大型語言模型大小事 Day29 - Google AI Studio - writing style
系列文
Gemini 多模態大型語言模型大小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言