$30 off During Our Annual Pro Sale. View Details »

20230518_苦労を重ねて実装して実装したのに一掃されたこと_

 20230518_苦労を重ねて実装して実装したのに一掃されたこと_

Pythonも書けない、OpenAIもよくわからない初学者が雰囲気でLlamaIndex触った話です

midnight480

May 18, 2023
Tweet

More Decks by midnight480

Other Decks in Technology

Transcript

  1. 苦労を「重ねて」
    実装したのに
    一掃された
    2023年5月18日
    レイヤード Meetup LT会 vol.1

    View Slide

  2. 楽しんでますか??

    View Slide

  3. 今日の大まかな流れ
    1. 自己紹介
    2. 流行りもの
    3. 実現したいこと
    4. 実際にやってみたこと
    5. 衝撃を受けたこと
    6. まとめ

    View Slide

  4. 自己紹介
    大分(22年) → 東京(11年) → 福岡(2021.11~)→ 佐賀(2023.9予定?)
    midnight480
    midnight480
    midnight480
    https://astro.midnight480.com/
    ● JAWS-UG (Japan AWS - User Group )
    ○ 佐賀支部 - 運営
    ○ 福岡支部 - 運営支援
    ○ 大分支部 - 福岡出張所
    ● AWS Startup Community
    ○ 福岡運営
    ● Microsoft Startup Tech Community New!!
    ○ 運営
    ほかにもJagu'e'r 九州分科会(GoogleとNDAが必要)に参加したり、
    Fusicさんやヌーラボさんのイベント、エンジニアカフェに出没します
    柴尾 哲也(しばお てつや) 

    View Slide

  5. 流行りもの
    みなさん、生成AI周りの最新を追えていますか?

    View Slide

  6. 社内の状況としては
    ● OpenAI
    ○ ChatGPT Plus を全社員
    ○ Platform 側のOrgにMember招待
    ■ Opt Out申請
    ■ GPT-4 API 申請
    ■ Plugin申請
    ● Azure OpenAI Service
    ○ AzureAD側整備(セキュリティグループ)
    ■ 国内外の社内利用者
    ○ GPT-4申請、DALL・E申請、Codex申請 
    ● GitHub Copilot
    ○ 手続きまとめ
    User 管理の悩ましい
    Owner と Readerの2つしかないし
    運用している人いたら話しましょう

    View Slide

  7. 実現したいこと
    Input Output

    View Slide

  8. 実現したいこと
    Input
    ● Notion API
    ○ ブロック単位で取得
    ○ 本文を取得
    ○ CSVで保存(結果の確認用にブロック IDなど)
    ● OpenAI(Azure OpenAIでもいい)
    ○ Embeddings
    それらをPythonで実装

    View Slide

  9. 実際にやってみたこと
    ● Notionのデータの持ち方が厄介
    ○ すべてのオブジェクトをブロックとして保持
    ■ jq -c 'path(..)' or jq-searchkey を使って深さを確認

    View Slide

  10. 実際にやってみたこと
    ● Azure でやってみる
    ○ Azure App Service + Blob Storage
    ■ デプロイできず断念
    ○ Azure Function + Blob Storage Service
    ■ デプロイまでは出来たが、 Blob Storageに出力されず断念
    ● AWS でやることにする
    ○ AWS Lambda + S3
    ■ AWS CDK v2のLambdaのデプロイ手間で断念
    ■ Serverless FrameworkでデプロイしてS3にCSV出力できた

    View Slide

  11. 実現したいこと
    ● OpenAI(Azure OpenAIでもいい)
    ○ Embeddings
    ■ Azure公式Docsに従えば実現できた( Google Colab上)
    ● text-embedding-ada-002 はダメで(環境要因?)
    ● text-search-curie-doc-001 だとできた
    https://learn.microsoft.com/ja-jp/azure/cognitive-services/openai/tutorials/embeddings

    View Slide

  12. 実現したいこと
    Input Output

    View Slide

  13. Notionから出力するところを改善したい
    「LangChainとかLlamaIndexとか使ってみると楽になるんじゃない?」

    View Slide

  14. LlamaIndexでやってみる
    Notion のコネクタと学習部分を作ってみる
    簡単にするなら、これで全部
    前処理が「\n\n」除去だけなので注意

    View Slide

  15. View Slide

  16. まとめ
    ● Azure Functionのデプロイは簡単だった
    ○ func new –name ${DIrectory} –template “Timer trigger”
    ■ AWSで言えば、AWS Lambda + Evnetbridge Rulesをひと纏め
    ● AWS CDK でLambda(Pythonと追加モジュール)は少し手間で断念
    ○ https://aws.amazon.com/jp/blogs/news/lambda-managed-by-cdk/
    ● Serverless FrameworkではDockerあれば簡単
    ○ Build時にrequirements.txtを見てAssetを作成する過程でDocker内で処理する
    ● LangChainやLlamaIndexといったライブラリは初心者にとって有益
    ○ 有識者からすると前処理が不足していると感じることもある
    ○ 開発が盛んなので破壊的変更、 β版メソッドが使えなくなることもある

    View Slide

  17. LlamaIndexで参考にしたものの
    2023.03.23
    https://dev.classmethod.jp/articles/llamaindex_with_notion-loader/
    https://github.com/jerryjliu/llama_index/issues/3263

    View Slide

  18. 宣伝
    2023/05/24(水) 19:00 〜 21:00
    https://jawsug-saga.doorkeeper.jp/events/155541
    2023/06/17(土) 13:00 〜 17:00
    https://jawsug-saga.doorkeeper.jp/events/155542
    2023/10/7(土)
    JAWS Festa 2023
    in Kyushu
    https://jft2023.jaws-ug.jp/
    8/19(土)にもクラウド女子会・佐賀・長崎合同で予定
    全国からAWSエンジニアが福岡に来ます

    View Slide

  19. Thank you for your time 😊

    View Slide

  20. Thank you for Bing Image Creator 😊

    View Slide