Skip to content

Instantly share code, notes, and snippets.

@Syuparn
Last active May 11, 2024 00:23
Show Gist options
  • Save Syuparn/858ac73d51a049d8b747820f8b7477e9 to your computer and use it in GitHub Desktop.
Save Syuparn/858ac73d51a049d8b747820f8b7477e9 to your computer and use it in GitHub Desktop.
OpenFisca Editor プロンプト作成スクリプト

usage

  • homeディレクトリ直下にOpenFisca-Japanをクローン
$ cd ~
$ git clone https://github.com/project-inclusive/OpenFisca-Japan.git
  • 以下のコードを実行しプロンプト作成
# System Instructionsのプロンプト生成
# webページを含むSystem Instructionsの場合
$ chmod +x ./cache_webpages.sh
$ ./cache_webpages.sh
$ chmod +x ./merge_source.sh
$ ./merge_source.sh > prompt.md

# webページを含まないSystem Instructionsの場合(こちらの方が精度が高い?)
$ chmod +x ./prompt_onlysource.sh
$ ./merge_source_onlysource.sh > prompt_onlysource.md

# chatのプロンプト生成
$ chmod +x ./chat_prompt.sh
$ ./chat_prompt.sh
  • 作成したプロンプトをUIへ貼り付け
    • System Instructions
    • Chat
      • chat_prompt.md をコピペ
      • (制度情報をここに入れてください) の部分を生成したい制度名に変更
      • (htmlをここに入れてください) の部分を生成したい制度のhtmlに変更
        • curl (取得したいwebページのURL) の結果を貼りつけると楽
#!/bin/bash
escaped_home=$(echo $HOME | sed 's/\//\\\//g')
for f in $(find ~/OpenFisca-Japan/openfisca_japan/variables/ | grep .py | grep -v __pycache__ | grep -v __init__); do
target=cache/$(echo -n $f | sed "s/$escaped_home\/OpenFisca-Japan\/openfisca_japan\/variables\///g" | sed 's/.py/.md/g')
echo $target
if [ -e $target ]; then
echo "$target already exists"
continue
fi
mkdir -p $(dirname $target)
touch $target
for url in $(cat $f | grep "reference =" | sed 's/\s*reference =\s*//g' | sed 's/"//g' | sort | uniq | grep -v ".pdf"); do
echo $url > $target
echo >> $target
echo '```html' >> $target
curl $url >> $target
echo '```' >> $target
echo
sleep 1
done
done
#!/bin/bash
filename=chat_prompt.md
echo > $filename
echo 制度情報をもとにソースコードを生成してください。 >> $filename
echo >> $filename
echo 制度情報: 「児童育成手当」 >> $filename
echo >> $filename
echo '```html' >> $filename
curl https://www.city.shibuya.tokyo.jp/kodomo/kodomo-teate-josei/hitorioya/hitorioya_teate.html >> $filename
echo '```' >> $filename
echo >> $filename
echo '```python' >> $filename
cat ~/OpenFisca-Japan/openfisca_japan/variables/東京都/福祉/児童育成手当.py >> $filename
echo '```' >> $filename
echo >> $filename
echo '制度情報: 「(制度情報をここに入れてください)」' >> $filename
echo >> $filename
echo '```html' >> $filename
echo '(htmlをここに入れてください)' >> $filename
echo '```' >> $filename
echo >> $filename
#!/bin/bash
escaped_home=$(echo $HOME | sed 's/\//\\\//g')
for f in $(find ~/OpenFisca-Japan/openfisca_japan/variables/ | grep .py | grep -v __pycache__ | grep -v __init__); do
echo あなたはOpenFiscaに新たな制度を追加しようとしているプログラマーです。過去実装されているすべての制度に精通しており、その関係性にもとづき注意深く新制度の処理を追加することができます。以下は過去実装された制度のソースコードです。
echo
echo '```python'
cat $f
echo
echo '```'
echo
target=cache/$(echo -n $f | sed "s/$escaped_home\/OpenFisca-Japan\/openfisca_japan\/variables\///g" | sed 's/.py/.md/g')
cat $target
done
#!/bin/bash
for f in $(find ~/OpenFisca-Japan/openfisca_japan/variables/ | grep .py | grep -v __pycache__ | grep -v __init__); do
echo あなたはOpenFiscaに新たな制度を追加しようとしているプログラマーです。過去実装されているすべての制度に精通しており、その関係性にもとづき注意深く新制度の処理を追加することができます。以下は過去実装された制度のソースコードです。
echo
echo '```python'
cat $f
echo '```'
done
#!/bin/bash
for f in $(find ~/OpenFisca-Japan/openfisca_japan/variables/ | grep .py | grep -v __pycache__ | grep -v __init__); do
echo あなたはOpenFiscaに新たな制度を追加しようとしているプログラマーです。過去実装されているすべての制度に精通しており、その関係性にもとづき注意深く新制度の処理を追加することができます。以下は過去実装された制度のソースコードです。
echo
echo '```python'
cat $f
echo '```'
done
echo データ一覧
for f in $(find ~/OpenFisca-Japan/openfisca_japan/assets/ | grep .csv | grep -v __pycache__ | grep -v __init__); do
echo '```csv'
cat $f
echo '```'
echo
done
for f in $(find ~/OpenFisca-Japan/openfisca_japan/parameters/ | grep .yaml | grep -v __pycache__ | grep -v __init__); do
echo '```yaml'
cat $f
echo '```'
echo
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment