Git Product home page Git Product logo

ai_stackchan2_funccall's Introduction

AI_StackChan2_FuncCall

OpenAIのFunction Callingを使って、robo8080さんのAIスタックチャン2に様々な機能を追加しました。

※Function Callingを使わない通常の会話もできます。
※v0.2.0からウェイクワードにも対応しています。使い方はAIスタックチャン2のREADMEを参照ください。

Function Callingで呼び出せる機能

Function Callingで呼び出せる機能の一覧を下表に示します。

プロンプトや関数の実装は FunctionCall.cpp にまとめています。指示に応じてスタックチャンが関数を使いこなしてくれます。
FunctionCall.cppを改造することで、新たな機能を追加するなどのカスタマイズができます。

No. 機能 使用例 デモ 補足
1 時計、タイマー 「今何時?」
「今日は何日?」
「3分たったら教えて」
「1時間後にパワーオフして」
「タイマーをキャンセルして」
動画(Twitter)
2 メモ(SDカード) 「~をメモして」
「これから言うことをメモして」
「メモを読んで」
「メモを消去して」
※次回電源投入時にSDカードにメモが残っていたら、「メモが保存されています」とスタックチャンが教えてくれます。
メモは notepad.txt というファイル名でSDカードに保存されます。
3 メール送信 「メモをメールして」 動画(Twitter) GmailのアプリパスワードをSDカードに保存しておく必要があります(「各種設定ファイル」参照)。
4 バス(電車)時刻表 「次のバスの時間は?」
「その次は?」
動画(Twitter) 時刻表をSDカードのファイルに保存しておく必要があります(「各種設定ファイル」参照)。
5 天気予報 「今日の天気は?」
「明日の天気は?」
・robo8080さんがGistに公開してくださったコードを参考にさせていただきました。
・City IDはSDカードの設定ファイルで変更することができます(「各種設定ファイル」参照)。

各種設定ファイル

●各種APIキー

スタックチャンとお話するためには次のAPIキーをSDカードに保存する必要があります。APIキーの取得方法などの詳細はAIスタックチャン2のREADMEを参照ください。

  • ChatGPT
  • Google Cloud TTS
  • VoiceVox

●メール送信用のGmailアカウント、アプリパスワード

SDカードに次の順で保存してください。

  • 自分のGmailアカウントのメールアドレス
  • アプリパスワード(こちらのページなどを参考に取得してください)
  • 送信先のメールアドレス

ファイル名:gmail.txt

●バス(電車)の時刻表

SDカードに次のように時刻表を保存してください。 ※現行は祝日の判別はできません。

ファイル名:bus_timetable.txt(平日)、bus_timetable_sat.txt(土曜)、bus_timetable_holiday.txt(日曜)

06:01
06:33
06:53
・
・
・
21:33
22:03
22:33

●天気予報のCity ID

SDカードに次のようにCity IDを保存してください(例は神奈川県のID)。

ファイル名:weather_city_id.txt

140010

City IDはこちらで調べることができます。

注意事項

  • フォルダ名が長いため、ワークスペースの場所によってはライブラリのインクルードパスが通らない場合があります。 なるべくCドライブ直下に近い場所をワークスペースにしてください。(例 C:\Git)

バージョン履歴

  • v0.0.1
    • 初回リリース
  • v0.1.0
    • ChatGPTへのリクエストを10回までループできるようにして、Function Callingで複数の関数を連携できるようにした。
  • v0.2.0(mainタグ)
    • ウェイクワードに対応。
    • Function Callingで呼び出せる機能を追加。
      • 追加した機能:メモ(SDカード)、メール送信、バス(電車)時刻表、天気予報

ai_stackchan2_funccall's People

Contributors

ronron-gh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.