Gemini-Coder是Google Gemini 的程式碼產生器和程式碼解釋器。 ️ 該應用程式與 Google Bard 互動並優化結果以用於編碼目的。這樣做的主要目的是為了研究?和教育?目的。它對於數據分析和程式設計師非常有用。
要設定 AutoBard-Coder,您需要安裝依賴項: streamlit
和bardapi
。
您還需要透過造訪 https://bard.google.com/ 使用 Bard API 進行身份驗證,
- 使用 F12 開啟控制台
- 前往「應用程式」 → “Cookies” ,然後複製__Secure-1PSID cookie 的值。
- 然後您可以透過執行以下命令來設定本機環境的金鑰:
export _BARD_API_KEY=<__Secure-1PSID value>
請記住BARD_API_KEY
之前的_
很重要。
第 1 步:取得 Google Palm API 金鑰。
步驟 2:造訪以下網址:https: //makersuite.google.com/app/apikey
第 3 步:按一下「建立 API 金鑰」按鈕。
步驟 4:產生的金鑰是您的 API 金鑰。請確保將其複製並貼上到下面的必填欄位中。
注意: API 金鑰對於 AutoBard-Coder 的功能至關重要。請確保妥善保管,不要與任何人分享。
該應用程式有 3 個元件:
Geminioder :Gemini 的編碼助手,可根據 Gemini 回應自動產生程式碼並對其進行最佳化以用於編碼目的。開發人員在需要幫助時可以使用它從 Gemini 獲取正確的程式碼,因為輸出經過多次細化和修復以提供正確的程式碼。
文件: bardcoder.py
程式碼解釋器:這是 Gemini 的解釋器,可用於執行 Geminicoder 產生的程式碼。這對於所有想要使用 Gemini 進行數據分析和機器學習的用戶來說非常有用。這可以根據 Gemini 的回應產生圖形和圖表,並可用於進行數據分析。
文件: Geminicode_interpreter.py
GeminiCoder Lib :這是 Geminicoder 的一個函式庫,可用於從吟遊詩人回應中產生程式碼並對其進行最佳化以用於編碼目的。您可以使用它來使用 Gemini 建立自己的應用程式。
檔案: bardcoder_lib.py
要使用 GeminiCoder,您需要執行以下命令: python bardcoder.py
這將在終端機中開啟 GeminiCoder UI。並且會被要求輸入 Gemini 的提示。
這並不是假設您已經在本機環境中設定了API KEY
。如果還沒有,請參考設定流程。產生的程式碼將放置在資料夾codes
中,回應將放置在資料夾response
中。
要使用程式碼解釋器,您需要執行以下命令:
streamlit run bardcode_interpreter.py
如果需要停用 CORS 標頭,可以執行以下命令:
streamlit run bardcode_interpreter.py --server.enableCORS false --server.enableXsrfProtection false
這將在 Web 瀏覽器中開啟程式碼解釋器 UI。並且會被要求輸入吟遊詩人的提示。
現在假設您已經在本機環境中設定了API KEY
。如果還沒有,請參考設定流程。您也可以在 UI 設定中設定API KEY
。
在提示之前,您應該檢查選項以更改檔案名稱和檔案路徑以及其他設定。
您可以在選項中設定Upload Data
,上傳數據進行數據分析。 (目前僅支援文字檔)。
上傳檔案後,可以詢問 Gemini 的提示。你會得到這樣的輸出。
您也可以在選項中設定Expected Output
以取得產生的程式碼的準確性。
輸出將像這樣生成,並突出顯示生成的程式碼的準確性。
您可以使用ShareGPT功能與其他人共用程式碼。您將獲得代碼的可共享連結。
程式碼解釋器演示
產生的程式碼將放置在codes
資料夾中,回應將放置在response
資料夾中,上傳檔案將放置在uploads
資料夾中。
現在,程式碼解釋器中內建了安全措施,現在它可以檢測生成的程式碼的安全性並可以修復它。
所以現在所有的儲存庫和程式碼都處於READ_ONLY模式。並且只能在READ_ONLY模式下執行程式碼。
所有更改、移動、刪除、重新命名檔案的命令在READ_ONLY模式下均被停用。
這具有先進的安全措施,可以檢測生成的程式碼的安全性並可以修復它。
若要取得資料視覺化的圖形和圖表輸出,您將安裝 python 套件matplotlib
、 seaborn
、 cartopy
、 plotnine
等。並執行以下命令:
python bardcode_interpreter.py
並尋求雙子座的提示。您將得到以下輸出: 範例提示:
In Python write me program to. 1.Read the data from file called 'employees.json' 2.Count no. of Males and Females in file. 4.Draw PIE graph of these in using Python Matplotlib. 5.Show me that output.
你會得到這樣的輸出。
該應用程式使用 Gemini API 與 Gemini 互動並優化結果以用於編碼目的。產生的所有資料都儲存在以下目錄中:
response
:目錄包含 Gemini 的所有回應。
codes
:目錄包含 Gemini 產生的所有程式碼。
uploads
:目錄包含上傳到 Gemini 的所有資料。
lib
:目錄包含 Geminicoder 的所有函式庫。
resources
:目錄包含 Geminicoder 的所有資源。
Gemini-Coder 的一些功能包括:
根據 Gemini 回應自動產生程式碼
出於編碼目的而細化程式碼
能夠修復/調試自己的程式碼
能夠從 Gemini 產生單一或多個回應
能夠保存響應並在本地運行它們
能夠存取本地文件以進行程式碼解釋
數據分析與機器學習能力
根據雙子座的反應產生圖表
能夠上傳文件以進行數據分析和機器學習。
透過ShareGPT與其他人分享程式碼。
先進的安全措施來偵測產生的程式碼的安全性。
現在您可以直接從應用程式獲得幫助。您可以透過點擊 UI 中的說明按鈕來取得協助。
該項目的所有顯著變更都將記錄在該文件中。
變更日誌
版本 | 日期 | 額外 | 固定的 |
---|---|---|---|
1.4 | 2023-09-28 | - 現在新增了 Palm 2 官方 API。 | - 設定和日誌以及錯誤修復 |
1.3 | 2023-05-29 | -更新了全新的使用者介面和使用者體驗。 ? - 更新了程式碼檢查和提示檢查的安全性。 - 新增了新的幫助部分。 ? | - 修復了 API 金鑰問題。 |
1.2 | 2023-05-28 | - 程式碼和提示檢查的進階安全性。 - 支援圖表、圖表和表格。 - 更多資料科學庫。 ? | |
1.1 | 2023-05-27 | - 上傳檔案選項。 ? - API 金鑰設定。 ? | - 來自伺服器的錯誤處理。 ? |
1.0 | 2023-05-26 | - 自動條碼產生器。 ? - 自動條碼解釋器。 ? |
Gemini-Coder 由 HeavenHM 創建,並根據 MIT 許可證獲得許可。