Skip to content

cccresearch/ai2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI2 -- 呼叫 System2 的 LLM (OpenAI)

目前大家對 LLM 的共識是

現在的 LLM 可以處理《立即反應的淺層問題》(System 1)

但是不能處理《需要深度思考的問題》(System 2)

以下為一些需要深度思考的 System2 問題

  1. 大數字的加減乘除
  2. 下棋
  3. 深度的推理能力
  4. 需要《執行複雜的函數程式》才能得知結果的問題

這些 System2 的問題,我們可以使用外掛程式來處理 ...

這就是本專案想處理的事情!

方法是讓 LLM 在回答的時候,自行判定哪些部份是 LLM 不知道怎麼回答的,在輸出的時候,用 <python>code</python> 把那些需要 plugin 介入的部分標示出來。

而這些 plugin code 當中,對於 LLM 已經知道該呼叫那些函數去做的,由 Python 程式去處理,而不知道該由哪些函數去處理的,則是交給 system2(...) 函數去處理。

這樣我們就能適時地呼叫 plugin 去回答那些問題了 ...

執行

ccckmit@asus MINGW64 /d/ccc/code/py/ai2 (main)
$ python ai_test.py
question: 12/02/2023, 08:28:20 Saturday: 請問 32179 加上 13426 是多少? 兩者相乘又是多少?

=========chat1============
32179 加上 13426 是 <python>eval('32179+13426')</python> ,32179 乘以 13426 是 <python>eval('32179*13426')</python> 。
=========chat2============
32179 加上 13426 是 45605 ,32179 乘以 13426 是 432035254 。
question: 12/02/2023, 08:28:22 Saturday: 請問 2025 年的美國總統是誰?
=========chat1============
2025 年的美國總統是 <python>system2('2025 年的美國總統姓名')</python>
=========chat2============
2025 年的美國總統是 <system2>2025 年的美國總統姓名</system2>
question: 12/02/2023, 08:28:23 Saturday: 請問桃園中正機場到台北總統府距離多遠?
=========chat1============
根據下列程序計算:

桃園中正機場的經緯度是 <python>p1=geo_location('桃園中正機場')</python>

台北總統府的經緯度是 <python>p2=geo_location('台北總統府')</python>

根據 geo_distance() 函數傳回兩者的距離是 <python>geo_distance(p1,p2)</python>。
=========chat2============
根據下列程序計算:

桃園中正機場的經緯度是 <run>p1=geo_location('桃園中正機場')</run>

台北總統府的經緯度是 <run>p2=geo_location('台北總統府')</run>

根據 geo_distance() 函數傳回兩者的距離是 <run>geo_distance(p1,p2)</run>。
question: 12/02/2023, 08:28:27 Saturday: 請問 1995 年的美國總統是誰?
=========chat1============
1995 年的美國總統是 <python>system2('1995 年的美國總統姓名')</python>
=========chat2============
1995 年的美國總統是 <system2>1995 年的美國總統姓名</system2>
question: 12/02/2023, 08:28:29 Saturday: 請寫一個 Python 程式劃出折線圖
=========chat1============
當然,我可以幫你寫一個 Python 程式來劃出折線圖。你需要使用 matplotlib 套件來繪製圖表。以
下是一個簡單的範例程式碼:

    ```python
    import matplotlib.pyplot as plt

    # 資料
    x = [1, 2, 3, 4, 5]
    y = [2, 4, 6, 8, 10]

    # 繪製折線圖
    plt.plot(x, y)

    # 設定圖表標題和軸標籤
    plt.title("折線圖")
    plt.xlabel("X 軸")
    plt.ylabel("Y 軸")

    # 顯示圖表
    plt.show()
    ```

你可以根據自己的需求修改 `x` 和 `y` 的資料,並自訂圖表的標題和軸標籤。執行這段程式碼後,
會彈出一個視窗顯示折線圖。
=========chat2============
當然,我可以幫你寫一個 Python 程式來劃出折線圖。你需要使用 matplotlib 套件來繪製圖表。以
下是一個簡單的範例程式碼:

    ```python
    import matplotlib.pyplot as plt

    # 資料
    x = [1, 2, 3, 4, 5]
    y = [2, 4, 6, 8, 10]

    # 繪製折線圖
    plt.plot(x, y)

    # 設定圖表標題和軸標籤
    plt.title("折線圖")
    plt.xlabel("X 軸")
    plt.ylabel("Y 軸")

    # 顯示圖表
    plt.show()
    ```

你可以根據自己的需求修改 `x` 和 `y` 的資料,並自訂圖表的標題和軸標籤。執行這段程式碼後,
會彈出一個視窗顯示折線圖。
question: 12/02/2023, 08:28:35 Saturday: 我後天早上九點要開系務會議
=========chat1============
好的,已呼叫 <python>memory("12/04/2023 09:00", "後天早上九點要開系務會議")</python> 函數
紀錄到行事曆中。
=========chat2============
好的,已呼叫 <memory>12/04/2023 09:00:後天早上九點要開系務會議</memory> 函數紀錄到行事曆
中。
question: 12/02/2023, 08:28:37 Saturday: 我下周三早上 10 點要搭華航下午五點的飛機去泰國
=========chat1============
好的,已呼叫 <python>memory("12/06/2023 10:00", "搭華航下午五點的飛機去泰國")</python> 函
數紀錄到行事曆中。
=========chat2============
好的,已呼叫 <memory>12/06/2023 10:00:搭華航下午五點的飛機去泰國</memory> 函數紀錄到行事
曆中。

更多

另外關於 LLM 沒有網路查詢能力的問題,目前有些系統已經用 RAG 去處理了

而對於 LLM 沒有長期記憶的問題,也已經有些系統會用向量資料庫去提取記憶中的語句來處理了。

About

呼叫 System2 的 LLM (OpenAI)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors