Open52

LLM アプリごった煮

nassynassy

ドキュメント要約系のタスクに関して
ドキュメントの章を特定して分割して、章毎の要約をしなくいとあまり意味がない。

nassynassy

書きたい記事を書かせるには embeddingによる元文章の取得 + チェーン で積み上げる感じになると思っています。
MLやプロンプトエンジニアリング領域よりは、アプリ寄りの努力が必要だと思っています。

ex. 会社の強みをアピールする記事を書いてください。

  • 会社の強みを教えてください -> embeddingによる強み文章の取得 + question に沿った整形
  • 1 を具体的に説明してください。 -> チェーン + embeddingによる強み文章の取得 + question に沿った整形
  • 1 によって、サクセスした事例を教えてください。 -> チェーン + embeddingによるサクセスした事例の文章の取得
  • 1 ~ 3 を踏まえて、アピールする記事を書いてください。 -> チェーン + question に沿った整形
nassynassy

説明ジェネレーター

機能

  • サービスの機能を書いた文章をアップロードしたら以下を生成する
    • 機能によってどんなメリットがもたらされるか
    • どんな人にぴったりなのか
    • ユースケース
    • 使ってみた体験談
  • 生成した説明文から説明動画を生成する
nassynassy

監査機能の実装

参考:
https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/monitoring
https://zenn.dev/microsoft/articles/azure-openai-nocode-logging#ログ設定
https://learn.microsoft.com/ja-jp/azure/architecture/ai-ml/openai/architecture/log-monitor-azure-openai
https://blog.jbs.co.jp/entry/2023/05/12/105522

オプトアウト

MS の監視

nassynassy

faiss から id 削除 (langchain) できるけれど、idがずれてしまうらしい。
既存のidがずれてしまったら、削除できないのでアプリで担保。
https://github.com/hwchase17/langchain/issues/2699
https://github.com/hwchase17/langchain/pull/5190

they support removal with remove. Note that this shrinks the index and changes the numbering.
https://github.com/facebookresearch/faiss/wiki/Faiss-indexes

https://crumbjp.hateblo.jp/entry/2021/05/05/Faiss解説シリーズ(第一回)

https://crumbjp.hateblo.jp/entry/2021/05/06/Faiss解説シリーズ(第二回)ハマりポイント集

nassynassy

ReAct実装

nassynassy

ReActとCoT-SCを状況に応じて切り替えることが最も望ましい

https://qiita.com/kzkymn/items/de4e3a17db6e5363705d#主張3reactとcot-scを状況に応じて切り替えることが最も望ましい
https://book.st-hakky.com/data-science/llm-prompt-engineering-react/
https://book.st-hakky.com/data-science/llm-prompt-engineering-self-consistency/

内部知識と外部知識を組み合わせる:
CoT-SCには内部知識によって誤りを犯してしまうため、ReActとCoT-SCの組み合わせを提案する。
ReActで所定のステップ以内に回答を返せなかった場合はReAct→CoT-SCに切り替えて、CoT-SCが所定の回数以下で過半数の回答にならなかった場合、CoT-SC→ReActに切り替える、といった方法で組み合わせる。

CoT-SCをpromptとして与えたLLMとReActをpromptとして与えたLLMを用意しておいて、上記の条件に応じて制御していたのではないでしょうか。

https://zenn.dev/ryo1443/articles/d727b2b9a6d08c#意思決定タスク

nassynassy

function calling の実行結果の型がPydanticModelであることににこだわる理由:

  • json 化して結果をmessageの中に入れることができる
  • テキスト化された状態からparseできる
  • 関数1つでjson化できることを保証できる
nassynassy

OpenAI ポリシー

OpenAI API Azure OpenAI Azure OpenAI 乱用モニタリング申請
モデルの改善に用いられる いいえ ※1 いいえ ※4 いいえ ※4
監査用途に30日保持される はい ※2 はい ※5 いいえ ※5
監査用途で確認される可能性 あり得る ※2 あり得る ※5 ない ※5
安全性のためのフィルタリングが用いられる ある ※3 ある ※5 ある ※5

※1

https://help.openai.com/en/articles/7039943-data-usage-for-consumer-services-faq
https://help.openai.com/en/articles/5722486-how-your-data-is-used-to-improve-model-performance
https://openai.com/enterprise-privacy

API_privacy_1.png

API_privacy_2.png

API_privacy_3.png

※2

https://platform.openai.com/docs/models/how-we-use-your-data

API_privacy_4.png

※3

https://platform.openai.com/docs/models/how-we-use-your-data

API_privacy_5.png

※4

https://learn.microsoft.com/ja-jp/legal/cognitive-services/openai/data-privacy

AOAI_privacy_1.png

※5

https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy#preventing-abuse-and-harmful-content-generation

AOAI_privacy_2.png