該項目是 AutoGen 的一個小型包裝。它整合了 LiteLLM 代理伺服器,使您可以輕鬆存取任何 LLM(專有或開源),而無需離開舒適的終端。
它使用 Rich 和prompt_toolkit 庫對輸入/輸出進行著色,這使得在普通終端中讀取大型響應更容易理解:
輸入:輸出
本節提供有關如何設定開發環境以處理此項目的說明。
在開始之前,請確保您的系統上安裝了pyenv
或conda
來管理 Python 版本和環境。
本專案使用 Python 3.11.8
進行測試。建議使用此特定版本以避免任何相容性問題。
如果您使用pyenv
,則可以使用下列命令安裝 Python 3.11.8
並將其設定為專案的本機版本:
pyenv install 3.11.8
pyenv local 3.11.8
pyenv virtualenv myenv
如果您喜歡conda
,請使用以下命令使用 Python 3.11.8
建立新環境:
conda create --name myenv python=3.11.8
conda activate myenv
將myenv
替換為您為環境選擇的名稱。
設定正確的 Python 版本後,透過執行以下命令安裝專案依賴項:
pip install -e .
如果您還計劃設定和使用 litellm 代理儀表板 UI(它提供簡潔的成本監控和使用統計資訊),請透過以下方式安裝額外的依賴項:
pip install -e ' .[proxy] '
複製.env.secrets.example
文件以建立您自己的.env.secrets
文件,並為您計劃使用的服務(例如 OpenAI、MistralAI、Anthropic 模型或其他)填寫您的特定 API 金鑰。
cp .env.secrets.example .env.secrets
使用您喜歡的文字編輯器編輯.env.secrets
文件,並根據需要更新 API 金鑰。
首先,您需要設定一個 postgres 資料庫來儲存來自 litellm 的使用資訊。最簡單的方法是建立一個由 AWS 託管的免費 Superbase postgres 實例。
一旦資料庫準備好使用,請確保您可以連接它
psql postgresql:// < user > : < password > @ < host > : < port > / < dbname >
如果連線成功,只需在.env.secrets
檔案中設定DATABASE_URL
環境變數即可開始操作。下次啟動 litellm 伺服器時,它將自動連接到資料庫。
透過這些步驟,您應該準備好處理該專案並運行應用程式。
運行以下命令
python setup.py fix
python setup.py review --file path/to/file
LiteLLM 的優點之一是它提供了一個統一的介面來呼叫各種 LLM 以及其他很酷的功能。在這種情況下,我們用來擴展 AutoGen 的功能以使用其他 AI 模型(目前不支援開箱即用,但仍處於 WIP 狀態)。
python setup.py litellm
Autogen 也提供了簡潔的使用者介面。
以下命令啟動 AGS 應用程式並使 UI 在 http://localhost:8083 上可用。 AGS sqlite DB 以及其他相關工件儲存在src/ui
。
python setup.py ui
預設情況下,OpenAI 模型請求不透過 litellm 路由。這是因為,如果您只使用這個 LLM 供應商,那麼添加額外的層是沒有意義的,因為您可以在 https://platform.openai.com/usage 中輕鬆監控成本。但是,如果您使用多個 LLM 提供者,則將所有資料聚合在單一儀表板 -> LiteLLM UI
中是有意義的。
如果 LiteLLM 代理伺服器已啟動並正在運行,則所有 openai 請求將自動透過代理程式路由。
步驟:
設定環境和配置後,您可以執行src/applications/
目錄中的應用程式。
執行應用程式會根據該應用程式中定義的流程建立新的對話會話。
有 2 個通用對話應用程式:
start_conversation.py
與從預先定義的專用代理程式清單中選擇的代理程式啟動一個簡單的對話。start_curated_conversation.py
在對話中加入了一個評論家 AI,用於審查主要代理人的聲明可以在代理程式定義檔agents/custom_agents.py
中新增的自訂代理程式。
您可以調整每個應用程式內的message
,或執行腳本並在命令列中輸入提示(建議)。提示支援多行,因此Enter
僅插入新行。若要提交提示,請按(Meta|Esc)+Enter
。
python chef.py
chef.py
應用程式示範如何使用代理來促進有關烹飪的對話。它顯示了與多個代理程式的群組聊天的設定以及與使用者查詢的聊天的啟動。
ollama run codellama
litellm_config.yml
檔案以包含新的本機模型引用或對任何其他 API 服務(如 Mistral AI)的引用。其他流行模型:https://huggingface.co/WizardLM