2023年9月16日土曜日

令和5年台風13号の振り返り【いわき市渡辺町】

人間万事塞翁が馬、禍福は糾える縄の如し、災い転じて福となす……ということで、先週の台風13号の振り返りです。

いわき市では、線状降水帯が発生し、一部の地域で大きな被害が出ました。

さわでは、幸いなことに自宅に被害はなかったのですが、横を流れる釜戸川が溢れて圃場ががっつり浸水。痕跡からビニールハウス内では1メートル近くまで水が上がったようです。完全に想定を超えた水の量で、両親も初めての経験とのこと。

秋から使う予定の椎茸のホダ木も浮かされてしまい、200〜300本ほどが流されてしまいました。ハウス内に留まったものも、組んでいたものが崩れてガチャガチャに。

令和5年台風13号被害 原木椎茸栽培

令和5年台風13号被害 原木椎茸栽培

令和5年台風13号被害 原木椎茸栽培

令和5年台風13号被害 原木椎茸栽培


しかし、原木椎茸栽培の良いところはたくましいところです。この時期であれば、すでにシイタケ菌が蔓延しているので、ちょっとやそっとの雑菌には負けません。むしろ、浸水が刺激になり大量に発生してしまうと収穫が大変なので、洗いながら並べ直しました。(今夏は高温で芽づくりが遅れていたので、それほど発生しなさそうですが)

令和5年台風13号 原木椎茸栽培


流れていってしまった分は、残りのホダ木の休養や発生のタイミングを調整してカバーできないか試してみる予定です。うまくいけば、来年からの営農にも知見を活かせます。

令和5年台風13号被害 原木椎茸栽培


(釜戸川〜藤原川〜小名浜港あたりでホダ木がどんぶらこと流れてきたら、ぜひ育ててみてください)


それから、田の方もいろいろと流れてきたり、排水が埋まったりしました。

令和5年台風13号被害 水稲

令和5年台風13号被害 水稲


ただ、地区の稲刈りが本格化する前だったため、藁等はほぼなく、とても幸運でした。これがもし大量の藁が流れてきて稲の上に乗ってしまっていたら、稲刈り自体ができなくなっていたかもしれません。

水の引きも半日かからないほどで早かったので、今週無事に稲刈り、籾摺りを始めることができました。品質も例年と変わりなさそうで、ほっとひと安心です。

もちろん、例年なら1日で刈り終わる面積が2日以上かかり、作業はなかなか捗りません。それでも、刈れているだけ幸せですね。


その他、山が崩れたり、何だりかんだりありますが、とりあえずのリカバリーはできそうです。やはり、水が土砂や泥をほとんど含んでいなかったことと、施設や機械類に致命的な被害がなかったのが大きいですね。

令和5年台風13号被害

令和5年台風13号被害

令和5年台風13号被害


令和元年の台風19号に際にも同じように感じましたが、今の時代、災害は起こるものとして計画を立て、準備をしておかないとなりませんね。どんな産業でもそうでしょうが、農業という自然を利用した産業であれば尚更です。

これからを生き抜くためにも、発生被害の想定、インフラ毀損時の対応シミュレーション、経営計画の見直し、保険・共済による備え等々、日頃からできることをひとつずつやって、レジリエンスの向上を図っていこうと思います。


あと、個人的なことながら最近整体に通い始めたら首肩の凝りがみるみると改善しまして、ホダ木を延々と運び続けても一切不調がでない素晴らしい身体になりました。以前だったらバキバキに凝って大変でした。姿勢って大事なんですね。

2023年9月6日水曜日

リスクの洗い出しと対応(2023年9月)

今年は、訳の分からない天候、資材・燃料等の高騰等、農業にとってなかなか難しい年になっています。

しかし、こういった状況であればこそ、リスクの洗い出しと対応を改めて整理する良い機会にもなります。

以前投稿した「農業経営におけるキャッシュフロー悪化要因の整理分類」を元にさわの現状を考えますと、以下のようになっています。

生産コストの上昇の要因:
 ・自然災害と気候変動への対策費用の増加
 ・病害虫への対策費用の増加
 ・原材料や資材の価格上昇
 ・燃料やエネルギー費用の上昇
 ・設備や機械の修理・保守費用の増加

売上高の低下の要因:
 ・自然災害と気候変動による被害と損失
 ・病害虫の被害

恐ろしい限り……。


8月までは、暑過ぎかつ雨もいまいちという天気が続き、水稲及び椎茸の生育が非常に心配されました。

9月に入り、もち米から例年よりも早めに稲刈りを始めようとした途端に雨続きになり未だ稲刈りできず。さらに台風13号が接近してますしね……。早く落ち着いてくれるのを願うばかりです。

一方で、椎茸にとっては、少なからず良い環境になりました。9月中に椎茸の発生を開始できればと考えていますが、気温次第ですね。

経営において、一つの事象ですべて共倒れという状況にならないようにしておくことは重要ですね。最近、強く感じます。


単年の売上低下に対しては、収入保険で対応可能ですが、持続的に影響が出るようなものに対しては経営の根本的な見直し、対応が必要になります。昨今の、災害的な気候と世界的な経済の変化には否応なく向き合わねばなりません。

新型コロナが始まって以来、意識的に守りを固めていましたが、今は攻めに転じるとき……な気がしています。

栽培に関しては、環境の変化に応じて品目・品種の選定から考えないと、難易度だけ上がっていってしまうように思います。特にお米などはよく考えたいところです。

また、経営全体として見ると、お米と椎茸と加工は相性の良い組み合わせだと思いますが、収益性を引き上げるもう一工夫ができないかと模索中です。

取り留めのない内容になってしまいましたが、できることを一つひとつやっていくしかないですね。頑張りましょう。


稲 倒伏
ペッ田ん

2023年8月10日木曜日

ChatGPT API を使うための簡単な Python コード

これまで、ChatGPT API を利用した LINE bot を GAS (Google Apps Script) で作ったりしました。

しかし、API と直接やり取りする部分は Python で作っておいた方がカスタマイズも簡単で、便利な気がしてきました。



そんなわけで、とりあえず動くシンプルなものを作ってみました。以下コードになります。

尚、OpenAI の API キー取得は済んでる想定です。環境変数の読み込みには dotenv モジュールを使っています。

from dotenv import load_dotenv

### 環境変数の読み込み
load_dotenv()

import openai
import sqlite3

def conversation(new, mdl, tmp, sys, que):
    new = int(new) # 整数に変換
    tmp = float(tmp) # 浮動小数点に変換

    ### データベースに接続
    dbpath = 'データベースのパス'
    conn = sqlite3.connect(dbpath)
    cursor = conn.cursor()

    ### 設定テーブルの作成
    sql = '''
        CREATE TABLE IF NOT EXISTS t_setting(
        t_setting_model,
        t_setting_temperature)
    '''
    cursor.execute(sql)

    ### 会話テーブルの作成
    sql = '''
        CREATE TABLE IF NOT EXISTS t_conversation(
        t_conversation_role,
        t_conversation_prompt)
    '''
    cursor.execute(sql)

    if new == 0 or None: # 会話継続
        ### 前回までの会話を取得
        sql = """
            SELECT * FROM t_conversation
        """
        cursor.execute(sql)
        conv = cursor.fetchall()
        msgs = []
        for i in range(len(conv)):
            msgs.append({"role": conv[i][0], "content": conv[i][1]})

        msgs.append({"role": "user", "content": que })

        messages = msgs

        ### 会話の設定を取得
        sql = """
            SELECT * FROM t_setting
        """
        cursor.execute(sql)
        set = cursor.fetchall()
        mdl = set[0][0]
        tmp = set[0][1]

    elif new == 1: # 新しい会話
        ### 設定テーブルのデータ削除
        sql = """
            DELETE FROM t_setting
        """
        cursor.execute(sql)
        ### 会話テーブルのデータ削除
        sql = """
            DELETE FROM t_conversation
        """
        cursor.execute(sql)

        ### 設定をテーブルに保存
        sql = '''
            INSERT INTO t_setting(
            t_setting_model,
            t_setting_temperature)
            VALUES(?, ?)
        '''
        cursor.execute(sql, (mdl, tmp))
        conn.commit()
        ### 会話をテーブルに保存
        sql = '''
            INSERT INTO t_conversation(
            t_conversation_role,
            t_conversation_prompt)
            VALUES(?, ?)
        '''
        cursor.executemany(sql, [("system", sys), ("user", que)])

        messages = [
            {"role": "system", "content": sys},
            {"role": "user", "content": que}
        ]

    try:
        res = openai.ChatCompletion.create(
            model = mdl,
            messages = messages,
            temperature = tmp,
        )
        res = res.choices[0].message["content"]

        json = {"question": que, "response": res, "status": "ok"}

        ### AI からの返答を保存
        sql = '''
            INSERT INTO t_conversation(
            t_conversation_role,
            t_conversation_prompt)
            VALUES(?, ?)
        '''
        cursor.execute(sql, ("assistant", res))
        conn.commit()

        cursor.close()
        conn.close()

    except:
        json = {"question": "", "response": "エラーが発生しました。返答を得られませんでした。", "status": "error"}

        cursor.close()
        conn.close()

    return json
※コードを一部修正しました(2023-8-14)

14行目のデータベースのパスは書き換えてください。

conversation 関数に、

① new:新規(1) or 継続(0) ※必須
② mdl:使用モデル ※新規時は必須、継続時は不要
③ tmp:ランダムさ(0〜2) ※新規時は必須、継続時は不要
④ sys:システムロールのプロンプト ※任意、継続時は不要
⑤ que:ユーザーロールのプロンプト ※必須

を渡すと、JSON 形式で回答が得られます。複数回のやりとりも可能です。

さらに、これを Web API 化しておけば、チャットでも、フォームでも、スプレッドシートでも、何でもござれで使えます。(その場合、勝手に使われないように認証を付けておくことは必須です)


きくらげ

2023年8月4日金曜日

【定期】家計の見直し(2023年8月)

少々間が空きましたが、家計の見直しです。

経営と家計が一体化した家族経営では、家計の最適化が心強い生存基盤になります。翻って、家族や自身にとって本当に価値あるものが何なのか、確認する良い機会になります。


・エポスゴールドカードの選べるポイントアップショップを変更


エポスゴールドカード(とプラチナカード)で設定できる「選べるポイントアップショップ」から mixi とモバイルSuica が対象外になるとのアナウンスがありましたね。

選べるポイントアップショップに設定しますと、通常0.5%のところが1.5%のポイント還元となります。3つまで設定できます。

ちょうど5月から、前払いチャージで使えるモバイルウォレットアプリの MIXI M を使い始めて、その際に mixi をポイントアップショップとして設定したところだったので残念でした……

と思いきや、家賃を払っている不動産屋がいつの間にか対象になっていたので、そちらに変更しました。大歓喜。

ちなみに、その他は光熱費の支払いを設定しています。


・固定電話を解約


固定電話は auひかり電話を使っていたのですが、とうとう解約することにしました。……本当にとうとうですね。仕事では、FAXを含めてだいぶ前から使わないようにしており、かかってくる電話もだいたい営業電話くらいの状態になっていました。

長らく使用した電話番号ではありますが、僅かの迷いもありません。さよなら電話番号。

これにより浮く約500円/月は、何か有意義に使いたいと思います。


・「do!浜通り」でガソリンを入れる


補助金の引き下げにより、ガソリン価格がじわじわと上がっていますね。9月いっぱいで補助金が終了すると、レギュラーガソリンが1リットルあたり180円〜190円代ほどになる見通しとのことです。なかなかしんどい価格ですね。

とは言え、いつまでも補助金を出し続けるわけにもいかないでしょうから仕方ないですね。

とりあえず、いつも入れているガソリンスタンドで do!浜通りキャンペーンの15%還元が受けれるので、うまく活用していきたいと思います。

いい感じにインフレが回っていってくれるといいんですが、どうなっていくのでしょうかね。


・昨今の雑感


最近は、仕事においても、生活においても、現状維持を望もうものなら真綿で喉を締められ、気が付いたときには詰んでしまうんじゃないか、という恐怖があります。

しかしながら、いざ猫たちを眺めていると、暑ければ涼しいところを見つけて寝、寒ければ暖かいところを見つけて寝、快適さを求めて常に変幻自在です。

結局、恐怖は、詰むことに自体に対するものではなく、変化することをやめてしまうことへの恐怖なのではなかろうか、なかろうか……などと思ったり、思わなかったり。

暑いですね。みなさま、熱中症にはお気をつけください。


きな粉

2023年7月27日木曜日

昆虫病原糸状菌に感染したバッタ

最近、ミニトマトの圃場でこんな虫を見つけました。最初はナナフシか何かかな?と思ったのですが、調べてみたら昆虫病原糸状菌というものに感染したバッタのようでした。

昆虫病原糸状菌(Entomophaga grylli (Fres.) Batko)


そうしたら今度は、ミニキュウリの圃場でも似たような状態のバッタを見つけました。バッタ直下の葉面に付着しているのは菌糸でしょうか。

昆虫病原糸状菌(Entomophaga grylli (Fres.) Batko)


農研機構に昆虫病原糸状菌データベースというものがあったので検索してみたところ、バッタ目を宿主とする Entomophaga grylli (Fres.) Batko という種類の菌っぽいです(確証はないです)。

恥ずかしながら全くの無知だったのですが、昆虫病原糸状菌を利用した害虫防除というのは世界中で取り組まれているそうです。

立て続けに2例も見つけるというは、今年例年よりも流行っているからなのか。それとも単に、今まで気がついていなかっただけなのか。気になります。


ちなみに、データベースに載っていた Beauveria bassiana (Balsamo) Vuillemin という別の種類の菌に感染したバッタも以前に見かけたことがあるような気がしてアルバムを漁ってみたところ、2013年8月にやはり撮影していました(こちらも確証はなし)。

昆虫病原糸状菌(Beauveria bassiana (Balsamo) Vuillemin)


・追記(2023-8-1)

3例目を発見。

昆虫病原糸状菌(Entomophaga grylli (Fres.) Batko)


・追記(2023-8-3)

Beauveria bassiana (Balsamo) Vuillemin でしょうか。今年1例目。

昆虫病原糸状菌(Beauveria bassiana (Balsamo) Vuillemin)

キュウリのとげ

成長途中のキュウリのとげって、すごいですよね。

写真はピクルス用のミニキュウリで、特にとげの存在感があります。

キュウリのとげ

キュウリのとげ

今年はよく育ってくれています。

なかなか過酷な天気ですが、もう一息、頑張ってくれるといいですね。

2023年7月18日火曜日

酷暑や豪雨への対応策

先週の後半から、ずっと眠気が抜けなかったのですが、自覚のないままどこかのタイミングで熱中症気味になっていたのかもしれません。みなさま、どうぞお気をつけください。


さて、ここ最近、梅雨なのか、夏本番なのかもよく分からないひどい酷暑です。ピンポイントで豪雨災害も発生しており、明日は我が身という気持ちが強くなる一方です。

作物にも少なからず影響は出ておりますが、探り探りハンドリングしています。

様々な災害を経験・見聞きして思うことは、いざという時にはすでにどうしようもないですね。それまでに、いかに対応策を練り、事前準備をしているか。これに尽きます。

例えば、酷暑への対応策としては、適切な灌漑管理、日陰の有効利用、土壌改良、適切な品種選定、遮光・換気設備の改善などが考えられます。

また、豪雨への対応策としては、排水対策、高低差のある地形の有効活用、土壌保護、防護ネット等の資材の活用、早期予測などが考えられます。

平常時の最大効率のみを求めるのではなく、災害への耐性を上げることも、今後の農業経営には必須となってきています。

その上で、どうしようもないものは本当にどうしようもありません。そこはもう、発生し得る結果に対して保険を掛けておくしかないように思います。

保険というのは、例えば、収入保険への加入であったり、複数かつ独立した収入ポイントの確保であったり、余裕を持たせた資金管理であったりですね。

さわでも、どこまでもできているかというとあやしいですが……まあ、一つひとつやっていくしかありません。



猫たち、暑すぎて絨毯。