From bbd916a9a0fae05d770b2530e9ef977fd9a86872 Mon Sep 17 00:00:00 2001 From: kaitoyama <45167401+kaitoyama@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:51:44 +0900 Subject: [PATCH 1/2] write doc --- docs/000-use-assistants-api.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/000-use-assistants-api.md diff --git a/docs/000-use-assistants-api.md b/docs/000-use-assistants-api.md new file mode 100644 index 0000000..60a0c1a --- /dev/null +++ b/docs/000-use-assistants-api.md @@ -0,0 +1,34 @@ +# Title +Assistants APIの導入 + +## Summary +Botの使用するAPIをAssistantsAPIに変更する作業手順や実装方針をまとめる + +## Background + +AssistantsAPIがリリースされたので、これを使用したい +https://platform.openai.com/docs/assistants/overview + +## Detail Design + +### 変更点 +- threads + - 現状Userごとの会話はチャンネル単位でDBによって管理されているが、 +これをAssistantsAPIが提供するthreadsに置き換える。 + +- Code Interpreter + - コードを向こうで実行して結果を得られる。 + - 結果はテキストのほか画像やデータファイル(csvなど)としてリンクが返ってくる + +## Alternatives + +以下二つの新機能は一旦最初のAssistantsAPIの導入時には入れない +- file-search +- function-calling + +理由としては、ファイルや関数の管理をどうするかなど実装以外の検討が進んでいないため + + +## Q&A + \ No newline at end of file From 190a2a69fb8547ebf0bc88e8fc6faf748d9f3380 Mon Sep 17 00:00:00 2001 From: kaitoyama <45167401+kaitoyama@users.noreply.github.com> Date: Wed, 7 Aug 2024 23:32:35 +0900 Subject: [PATCH 2/2] add implment plan --- docs/000-use-assistants-api.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/000-use-assistants-api.md b/docs/000-use-assistants-api.md index 60a0c1a..5da6e5f 100644 --- a/docs/000-use-assistants-api.md +++ b/docs/000-use-assistants-api.md @@ -13,6 +13,9 @@ https://platform.openai.com/docs/assistants/overview ### 変更点 +- ステージング機能 + - 現状、mainマージすると本番環境に影響が出るが、これを特定のチャンネル(genAI/sandbox)のみ、別のコードが機能するようにすることができるようにする + - threads - 現状Userごとの会話はチャンネル単位でDBによって管理されているが、 これをAssistantsAPIが提供するthreadsに置き換える。 @@ -21,9 +24,20 @@ https://platform.openai.com/docs/assistants/overview - コードを向こうで実行して結果を得られる。 - 結果はテキストのほか画像やデータファイル(csvなど)としてリンクが返ってくる +### 実装方針 +- ステージング + - handlerで振り分ける +- threads + - DBにチャンネルIDとthreadのペアをもつor連想配列でもつ + - 連想配列でもいい気がする(Bot再起動したら全部リセットでも困らなさそう) +- Code Interpreter + - こっちで実装すべきは注釈の対応 + - messageとは別にannotationの配列が来るらしいので、それを適切に文字列に反映する必要がある + - https://platform.openai.com/docs/assistants/deep-dive/managing-threads-and-messages + ## Alternatives -以下二つの新機能は一旦最初のAssistantsAPIの導入時には入れない +以下二つの新機能は一旦最初のAssistantsAPIの導入時にはいれない - file-search - function-calling