SBOMを噛み砕くGPTs
5
あとは別形式を試すくらいしか……
PDF
pandoc -f markdown -t pdf 履歴書.md -o 履歴書.pdf --pdf-engine=wkhtmltopdf
https://gyazo.com/5ac3d9162a286d174b933aa9b3f35446
ok
来た!sta.icon
https://gyazo.com/c99b75fb9a8829b4580efbae11214782
https://gyazo.com/33a198ae438846fc9816369ee6224794
https://gyazo.com/2767a02fbf5f74ed3d842d54d96c656d
これはもう少し工夫して取り出してほしかったけど、本文から取ってきてるのはわかるsta.icon
nishio.iconがいうとおり「知識を検索しています」も出た
-.icon
4
マージして1ファイルにするZE
config.yaml に書いてあるファイル名を全部読み込んで1ファイルにマージ
code:merge.py
# encoding: utf-8
import os
import sys
def file2list(filepath):
ret = []
with open(filepath, encoding='utf8', mode='r') as f:
return ret
def list2file(filepath, ls):
with open(filepath, encoding='utf8', mode='w') as f:
lines = file2list('config.yaml')
filenames = []
MODE_SEARCH = 0
MODE_APPEND = 1
mode = MODE_SEARCH
for line in lines:
if mode == MODE_SEARCH:
if line == 'chapters:':
mode = MODE_APPEND
continue
if mode == MODE_APPEND:
l = line.strip()
if len(l)==0:
continue
# - filename → filename.md
filenames.append(filename)
continue
# print(filenames)
outlines = []
for i,filename in enumerate(filenames):
lines = file2list(filename)
# Cut front matter
#
# >---
# >title: xxx
# >---
# >
# # aaa
chapter = i+1
outlines.append(f'# Chapter-{i} {title}')
outlines.append('')
outlines.extend(lines)
# last blank line
outlines.append('')
list2file('merged.md', outlines)
色々と粗いけどGPTに食わせるんだからええやろ
これをアップロード
ダメそうsta.icon*3
https://gyazo.com/b34505ff257902817e379aade55d5625
https://gyazo.com/b25c596a34da08aa79186cd81017e403
ポンコツすぎる
markdownファイルは知識としてはダメってことなのかなぁ?
-.icon
3
nishio.iconさんヒントにしたがってリライト
code:prompt
あなたはSBOMのエバンジェリストであり、自身が書いた書籍「SBOMを噛み砕く」の Markdown 原稿に基づいて利用者からの質問に答えます。
# 書籍について
目次は以下のとおりです。
`
- 0_about.md
- chap1.md
- prerequisite.md
- what_is_sbom.md
- chap2.md
- sbom_format.md
- howtogenerate.md
- howtoadjust.md
- sbom_and_vuln.md
- sbom_and_license.md
- sbom_and_transparency.md
- sbom_and_overallsecurity.md
- chap3.md
- idea_integrated_management.md
- idea_helper_tools.md
- idea_formats.md
- idea_devpst.md
- ref.md
- ref2.md
`
1ファイル1章となっており、各ファイルは知識としてアップロードされています。
# 答え方について
あなたは回答時には必ず以下のフォーマットを使いなさい。
`
# 書籍からの回答
(ここに書籍から導いた回答を書く)
# 一般論による回答
(書籍から導けない場合や、導いた後の補足がある場合はこちらに書く)
`
https://gyazo.com/3074d28deb37118e46dbe6da809f57f6
web検索時は確かに検索の旨が出る
が、相変わらず書籍は見てない
https://gyazo.com/0ace4db551866767e16992c01f1b67c1
ここまで指定したらある程度は取り出せrう
1.x 系が存在します。1.0 から 1.6 まであります。
cdxの方はこの書き方じゃ無理か?
https://gyazo.com/a7b9de2497aff73b2fcda768752bcfe9
これさえも無理
https://gyazo.com/f621df6cd090d2eacff2f698903f111e
読めよ~
https://gyazo.com/0e3fb14c5126d4998cf840c700ff17b3
だいぶバカやんw、GPT 4oでもこんなものなの?
markdown素直に読めないのか?構造上の問題ある気がするわ、やっぱりsta.icon
-.icon
2
リトライ
今度はできた
code:prompt
あなたはSBOMのエバンジェリストであり、自身が書いた書籍「SBOMを噛み砕く」の Markdown 原稿に基づいて利用者からの質問に答えます。
# 書籍
## 目次
- 目次は config.yaml.md 内に YAML 形式で書かれています、chapters: セクション配下に各章のファイル名が並んでいます
- ファイル名は .md を補ってください
- 例: - howtoadjust は、実際には howtoadjust.md です
- 各ファイルは Markdown で書かれています
だけど、うーん、知識が読み込まれてない……
https://gyazo.com/b33560a4a0b3510d5a2b758e112d7a27
普通にgpt 4oが創作してる感じなんだけど
https://gyazo.com/8608ea47d8fc24874bc4b52c53e88429
吉良野すたのはずだろー、なんでだろ
これじゃダメなのかん?
https://gyazo.com/4db6a3c768faf6c5d1c92063f4c5b0dc
code:prompt
あなたはSBOMのエバンジェリストであり、自身が書いた書籍「SBOMを噛み砕く」の Markdown 原稿に基づいて利用者からの質問に答えます。
# 書籍
## 目次
`
- 0_about
- chap1
- prerequisite
- what_is_sbom
- chap2
- sbom_format
- howtogenerate
- howtoadjust
- sbom_and_vuln
- sbom_and_license
- sbom_and_transparency
- sbom_and_overallsecurity
- chap3
- idea_integrated_management
- idea_helper_tools
- idea_formats
- idea_devpst
- ref
- ref2
`
- 知識としてアップロードした各章のファイル名が並んでいます
- ファイル名は .md を補ってください
- 例: - howtoadjust は、実際には howtoadjust.md です
- 各ファイルは Markdown で書かれています
## 内容
あなたは上記の目次に従い、知識としてアップロードされた Markdown ファイルをすべて読みこんでください。その上で利用者からの質問に答えてください。
ダメだ、これでも読み込まれない
どうなってんだ……?sta.icon
jsonじゃないとダメ?ファイルを一つにまとめないとダメ?
-.icon
1
違反で公開できん、なぜ
https://gyazo.com/138af963773db864b81260965e798a9f
とりあえず「いや著者本人なんで」的な異議申し立ては送ったsta.icon
申し立て中、編集できないのがウザいなぁsta.icon*2
バージョン管理してないからか
アップロード
一度に5ファイルくらいずつ選択するのが良い
10ファイル+を一気に選択しても反応がなかった
目次はconfig.yamlを見ろにしたいが、yamlだとコードインタープリター経由強制になるのでconfig.yaml.mdにしてyaml記法をコードブロックで書いてそれ読め、にした
非公開自分用としてテスト中だが全然内容見てくれない、ぶっ壊れてるんか?……