
Gemini Code Assistを試すの巻
プログラミング関連のAI、日進月歩というか、半日刻みでどんどん変わるので目が回ります。
昨日未明、上の投稿をしたとき、ネット情報を見てみるとClaude 3.7 SonnetだのClaude Codeだの、の記事があふれていて、次はClaudeの時代か?そっちの情報収集が必要か? と思っていたのです。
そこから半日たったらこんどは、Gemini Code Assistの話題でもちきり。VSCodeにプラグインとして入れられるようですし、今まで自分が使ってきた環境に親和性が高そう。無料で十分使えるみたいですし、こうなるとClaude試している余裕が無い(^_^;)
そんなこんなで今回は、Gemini Code Assistを試しました。
やってみる
いつものVSCode起動から、「拡張機能」のマーケットプレース見てGeminiで検索。

Gemini Code Assistを見つけてインストール。

Gemini入りました!

Sign in with Google

昨日、YAMLの勉強しようとしていたので、yamltest1.py なんてファイルを作ってみました。こんな感じ。ただ、まだ何も書いていない。

Dismiss(却下)したら使えなくなるのかな?AskGeminiのところをクリックすると

ふんふん・・、英語分からん(^_^;) 日本語で聞くよ。
「日本語でできますか」

これでかなりホッとしたよ(笑)

ん?有償? 無料だと思っていたんだけど。
まあ、知らないうちに引き落とされることは無いだろう・・。


YAMLを試す
ファイル test.ymlを用意
vocabularies:
- word: "獨居"
pinyin: "dú jū"
japanese: "一人暮らし"
- word: "長輩"
pinyin: "zhǎng bèi"
japanese: "年長者"
- word: "聚餐"
pinyin: "jù cān"
japanese: "会食"
- word: "圍爐"
pinyin: "wéi lú"
japanese: "囲炉裏を囲む"
プロンプト
>test.yml の中身は見えますか?
このファイルを開き、二番目の単語(つまり今回は「長輩」です) を読みだして表示するpythonのコードを書いてください。
Geminiの答え

import yaml
def get_second_word(filepath):
"""
指定された YAML ファイルから二番目の単語を読み出して表示する関数。
Args:
filepath: YAML ファイルのパス。
(以下略)

聞きなおす

Geminiの再回答


import yaml
def get_second_word(filepath):
"""
指定された YAML ファイルから二番目の単語を読み出して表示する関数。
Args:
filepath: YAML ファイルのパス。
Returns:
二番目の単語(str)。
ファイルが存在しない場合や、構造が想定と異なる場合は None を返す。
"""
try:
with open(filepath, 'r', encoding='utf-8') as f:
data = yaml.safe_load(f)
if 'vocabularies' in data and len(data['vocabularies']) >= 2:
second_word_data = data['vocabularies'][1]
if 'word' in second_word_data:
return second_word_data['word']
else:
return None
else:
return None
except FileNotFoundError:
print(f"エラー: ファイルが見つかりません: {filepath}")
return None
except yaml.YAMLError as e:
print(f"エラー: YAML ファイルの読み込み中にエラーが発生しました: {e}")
return None
except Exception as e:
print(f"予期せぬエラーが発生しました:{e}")
return None
# ファイルパスを指定
filepath = r"./test.yml"
# 関数を呼び出して結果を表示
second_word = get_second_word(filepath)
if second_word:
print(f"二番目の単語: {second_word}")
else:
print("二番目の単語が見つかりませんでした。またはファイルに問題があります。")

成功
実行したらターミナルに、無事
>二番目の単語: 長輩
と表示されました。
pip install PyYAMLなんて暗黙の前提なんでしょうね。
コードの上でimport yaml から始めたGeminiはまったく間違っていないのに「私の知識不足により」と謝罪からはじめるのは、カスタマーサポートの鑑といったところでしょうか。