ã¯ãŠãªããã°ãšChatGPTãã€ãªããã€ããã£ãŠã¿ã
ã¯ãŠãªããã°ãšChatGPTã®æ¥ç¶
hitode909ããã®ããã°ã«æžããŠããããšããã£ãã ãã§ããã¡ãã£ãšãªãªãžãã«ã®ãšãããããã®ã§ãæé ã®ã¡ã¢
äºåæºå
ããã°ããŒã¿æºå
ã¯ãŠãªããã°ãæžããŸããããé·ããã°é·ãã»ã©ããã§ããç§ã¯20幎åã§ãã
ç¶ããŠãã¯ãŠãªããã°ã®ã¡ãã¥ãŒãããèšå® -> 詳现èšå® -> ãšã¯ã¹ããŒããã«ç§»åããŸãã
以äžã®ç»é¢ã§ã<ããã°å>ããšã¯ã¹ããŒãããããã¯ãªãã¯ããŸãã

Pythonã»ããã¢ãã
ç¶ããŠãPythonãã»ããã¢ããããŸããããApple Siliconã®Macbookã®åæã§ãã
詊ããŠããªãã§ãããLinuxãWindows(WSL2)ã§ãã§ãããšæããŸãããã®å Žåã¯ãPythonç°å¢æ§ç¯ã¯ä»¥äžåç §ãã ããã
ã¯ãŠãªããã°ã®ãšã¯ã¹ããŒãããŒã¿ãjson圢åŒã«å€æ
ç¶ããŠã¯ãŠãªããã°ã®ããŒã¿ãjsonåããŸããhitode909ããã®ãªããžããªã䜿ããŸããæåã«ã以äžã®Pythonã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããŠãããŸãã
$ pip install tiktoken
$ pip install openai
$ pip install dotenv
ç¶ããŠã以äžã§ã¯ãŠãªããã°ã®ããŒã¿ãjson圢åŒã«å€æããŸãã
$ git clone -b hatenablog https://github.com/hitode909/scrapbox_chatgpt_connector
$ cd scrapbox_chatgpt_connector
$ ruby mt2json.rb ~/Downloads/karaage.hatenadiary.jp.export.txt > karaage.hatenadiary.jp.json
jsonãã¡ã€ã«ãã€ã³ããã¯ã¹å
jsonãã€ã³ããã¯ã¹åããŸãã調ã¹ãæãã ãšãããã¹ããã€ã³ããã¯ã¹åããŠããããã§ãããnpakaããã®ä»¥äžèšäºã詳ããã§ãã
make_index.pyã以äžã®ããã«ä¿®æ£ããŸãã
# import dotenv
ïŒçç¥ïŒ
JSON_FILE = "karaage.hatenadiary.jp.json"
# output file name
INDEX_FILE = "qualia-san.pickle"
BLOCK_SIZE = 500
# dotenv.load_dotenv()
# openai.api_key = os.getenv("OPENAI_API_KEY")
openai.api_key = "<OPENAI_API_KEY>"
JSON_FILEã«ã¯ãŠãªããã°ã®jsonãæå®ããã®ãšãdotenvããèªåã®ç°å¢ã§ã¯ããŸãã€ã³ã¹ããŒã«ã§ããªãã£ãã®ã§ããšããããéã«çŽæ¥ãOPENAI API KEYãããŒãã³ãŒãã£ã³ã°ããŸããã
以äžå®è¡ãããšãã€ã³ããã¯ã¹åã§ããŸãã
$ python make_index.py
ã€ã³ããã¯ã¹åãé²ãã§ãããŸãããèªåã®å Žåã¯30åãã£ãŠã1/3ãããã§ããã
5%|âââââ ïŒçç¥ïŒ | 89/1903 [03:15<1:02:56, 2.08s/it]
ã€ã³ããã¯ã¹åã¯ãæéãããããŸãããã ãå®äºåŸ ããã«æ¬¡ã«é²ãããšãã§ããŸãã
ChatGPTã«è³ªåãã
ask.pyãmake_index.pyåæ§ã«<OPENAI_API_KEY>ãçŽæ¥å
¥åããããã«ä¿®æ£ããŸãã
質åæã¯ã以äžã®<èãããããš>ã«çŽæ¥å ¥åããŸãã
input_str = """
<èãããããš>
""".strip()
以äžã³ãã³ãã§è³ªåã§ããŸããã€ã³ããã¯ã¹åã®éäžã§ãå®è¡ã§ããŸãã
$ python ask.py
ChatGPTåçäŸ
ANSWER:
>>>> ããããã©ãŒã¡ã³å±ãã
> RAMENã¶ããããããããç逿²¹SOBAãç¹ã«ãããããæç¥çåšäœã®æ¹ã¯è¡åèŠæã§ãã²ã
ANSWER:
>>>> 奜ããªé£ã¹ç©ããããŠ
> æç« ã«ã¯å¥œããªé£ã¹ç©ã«é¢ããæ
å ±ã¯å«ãŸããŠããŸãããçãã¯ãããŸããã
ANSWER:
>>>> è¶£å³ã¯äœïŒ
> æç« ããã¯è¶£å³ãç¹å®ã§ããŸãããæ§ã
ãªè©±é¡ãå«ãŸããŠããŸãã
ã€ã³ããã¯ã¹åã«é¢ããŠ
npakaããã®æžããŠãããLlamaIndexãäœ¿ãæ¹ããæè»œã«åãããšãã§ãããããããŸãããããã¹ãããã¯ãã«åããŠã質åæãšãã¯ãã«ã§ã®é¡äŒŒåºŠã確èªããŠãé¡äŒŒåºŠé«ããã®ãChatGPTã«æãããšãããšããã¯äžç·ããããŸã 調æ»äžã§ãã
LlamaIndexã䜿ã£ãŠãWordPressãšChatGPTãç¹ãã§ããäŸ
ãŸãšã
ã¯ãŠãªããã°ãChatGPTã«ç¹ãã§ã¿ãŸãããGoogle ColabããŒãããã¯åãããããšæããŸããããæ«æããŸãããæ°ãåããããã€ããã£ãŠã¿ããããšæããŸãã
ããã€ã質åããæãããªããªãããŸãçããŠãããªãããšãå€ãã£ãã§ãããŸã ããŒã¿ãå°ãªãã®ããå 容ãå°éæ§ã«ç¹åããŠããªããšé£ããã®ãããããŸããã
ããšã¯ãããã°ã ãã§ãªããTwitterã®ããŒã¿ãšããå ããŠã¿ããã§ããã
远èšïŒæ¹è¯çããã£ãŠã¿ãŸããã以äžåç §ãã ããã
åèãªã³ã¯
倿Žå±¥æŽ
- 2023/08/05 æ¹è¯çã«é¢ããŠè¿œèš
- 2023/03/12 LlamaIndexã«é¢ããŠè¿œèšãåèãªã³ã¯ã«è¿œèš
Discussion