自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!

發(fā)布于 2024-11-29 14:34
瀏覽
0收藏

Hi,這里是Aitrainee,歡迎閱讀本期新文章。

令人振奮的是,Aider 最近推出了一種新模式,名為“ 使用一對 Architect/Editor 模型以提升編碼效果 ”。這個更新旨在通過協(xié)同工作,優(yōu)化編碼過程,使開發(fā)更高效。

將代碼推理和編輯分開

架構(gòu)師模型首先描述了如何解決編碼問題,包括設(shè)計思路和步驟。然后,將該解決方案傳遞給編輯器模型,后者負責(zé)生成具體的代碼編輯指令。

這一架構(gòu)師/編輯器的方法顯著提升了多個模型的基準分數(shù),相較于之前的“單獨”基線分數(shù),進步明顯。特別的,使用o1-preview作為架構(gòu)師,并結(jié)合DeepSeek或o1-mini作為編輯器,達到了85%的SOTA得分。

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

動機

這種方法受到OpenAI o1模型發(fā)布的啟發(fā)。盡管這些模型在推理方面表現(xiàn)出色,但在生成格式正確的代碼編輯指令時常顯得不足。

通過讓模型以其偏好的方式描述解決方案,并將這些描述傳遞給更傳統(tǒng)的LLM,可以顯著改善結(jié)果。第二個編輯LLM可以理解這些描述,并生成所需的代碼編輯指令。

像 o1-preview 這樣的強大推理模型可以成為優(yōu)秀的架構(gòu)師,而編輯器角色可以根據(jù)成本、速度和代碼編輯技能分配給適當?shù)哪P汀?/p>

實際測試

我們將分別使用兩個組合來測試上面的功能:

第一種:gpt4o-mini+deepseek

我會告訴你如何獲取免費的gpt4o-mini接口:

首先下載aider:

python -m pip install -U aider-chat

創(chuàng)建一個新的文件夾,以便在這里面運行aider(它會建立git倉庫以控制版本):

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

如何獲取免費的gpt4o-mini接口?參考這個項目:

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

其他的免費API在菜單里:

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

設(shè)置中轉(zhuǎn)點為:

setx OPENAI_API_BASE "https://api.chatanywhere.tech"

在這個項目中獲取免費的api key之后

setx OPENAI_API_KEY "your_api_key_here"

以上setx命令都是針對于windows的,意思是永久保存環(huán)境變量。其他mac/linux的可以看aider官網(wǎng)。

再設(shè)置deepseek的

setx   DEEPSEEK_API_KEY <key> # Windows, restart shell after setx

配置好之后我們使用下面命令啟動adier,就可以使用架構(gòu)/編輯師模式了:

aider --model openai/gpt-4o-mini --architect --editor-model deepseek/deepseek-coder

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

現(xiàn)在讓他們兩個創(chuàng)建一個音樂播放器:

Develop a simple music player that allows users to upload and play their own music files.

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

你可以看到作為架構(gòu)師的gpt4o-mini在開始架構(gòu)了,他描述了架構(gòu)、應(yīng)該做什么,這是架構(gòu)師的整個過程:

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

創(chuàng)建過程中有錯誤它會自動修復(fù):

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

讓我們看看最終的結(jié)果(你可能注意到有一個待辦事項的應(yīng)用在上面,那是因為我們接下來的一個測試例子沒有刪,而是在這個例子的基礎(chǔ)上繼續(xù)開發(fā)的這個音樂播放器)

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

 結(jié)果還不錯,功能一切正常。

gemin1.5 pro 002 + deepseek

aider --model gemini/gemini-1.5-pro-002 --architect --editor-model deepseek/deepseek-coder

    就上面這行命令不一樣,其他的都一樣的,我們直接上過程demo

Create a To-do App using HTML, CSS JS.

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

效果還是不錯的,主要gemini1.5 api還是免費的https://aistudio.google.com/。

對了deepseek api去官網(wǎng)注冊領(lǐng)取即可,有免費額度。

其他你想使用 ollama 的 型其實過往的文章我都是有介紹過的,有很多aider相關(guān)的文章。

公眾號手機端進入點右上角的搜索就可以搜索到過往文章。

完整結(jié)果

以下是使用各種模型作為架構(gòu)師并與各種模型作為編輯器配對的基準測試結(jié)果。每個部分都包含一個“基線”結(jié)果,其中模型在 aider 的正?!按a”編輯模式下獨立運行(不是作為架構(gòu)師/編輯器配置的一部分)。這個“單獨”基線代表了之前將此模型與 aider 一起使用時可獲得的性能。

Aider(已升級):Aider利用雙模型架構(gòu)做到85% SOTA得分!-AI.x社區(qū)

aider所有命令我放在這;

options:
選項:
  -h, --help            顯示此幫助信息并退出
  -h,--help            顯示此幫助信息并退出


Main:
主要:
  FILE                  要用 LLM 編輯的文件(可選)
  --openai-api-key OPENAI_API_KEY
                        指定 OpenAI API 密鑰 [環(huán)境變量:OPENAI_API_KEY]
  --anthropic-api-key ANTHROPIC_API_KEY
                        指定 Anthropic API 密鑰 [環(huán)境變量:ANTHROPIC_API_KEY]
  --model MODEL         指定用于主要聊天的模型 [環(huán)境變量:AIDER_MODEL]
  --opus                使用 claude-3-opus-20240229 模型進行主要聊天 [環(huán)境變量:AIDER_OPUS]
  --sonnet              使用 claude-3-5-sonnet-20240620 模型進行主要聊天 [環(huán)境變量:AIDER_SONNET]
  --4, -4               使用 gpt-4-0613 模型進行主要聊天 [環(huán)境變量:AIDER_4]
  --4o                  使用 gpt-4o-2024-08-06 模型進行主要聊天 [環(huán)境變量:AIDER_4O]
  --mini                使用 gpt-4o-mini 模型進行主要聊天 [環(huán)境變量:AIDER_MINI]
  --4-turbo             使用 gpt-4-1106-preview 模型進行主要聊天 [環(huán)境變量:AIDER_4_TURBO]
  --35turbo, --35-turbo, --3, -3
                        使用 gpt-3.5-turbo 模型進行主要聊天 [環(huán)境變量:AIDER_35TURBO]
  --deepseek            使用 deepseek/deepseek-coder 模型進行主要聊天 [環(huán)境變量:AIDER_DEEPSEEK]
  --o1-mini             使用 o1-mini 模型進行主要聊天 [環(huán)境變量:AIDER_O1_MINI]
  --o1-preview          使用 o1-preview 模型進行主要聊天 [環(huán)境變量:AIDER_O1_PREVIEW]


Model Settings:
模型設(shè)置:
  --list-models MODEL, --models MODEL
                        列出匹配(部分)模型名稱的已知模型 [環(huán)境變量:AIDER_LIST_MODELS]
  --openai-api-base OPENAI_API_BASE
                        指定 API 基礎(chǔ) URL [環(huán)境變量:OPENAI_API_BASE]
  --openai-api-type OPENAI_API_TYPE
                        指定 api_type [環(huán)境變量:OPENAI_API_TYPE]
  --openai-api-version OPENAI_API_VERSION
                        指定 api_version [環(huán)境變量:OPENAI_API_VERSION]
  --openai-api-deployment-id OPENAI_API_DEPLOYMENT_ID
                        指定 deployment_id [環(huán)境變量:OPENAI_API_DEPLOYMENT_ID]
  --openai-organization-id OPENAI_ORGANIZATION_ID
                        指定 OpenAI 組織 ID [環(huán)境變量:OPENAI_ORGANIZATION_ID]
  --model-settings-file MODEL_SETTINGS_FILE
                        指定包含未知模型設(shè)置的文件 [環(huán)境變量:AIDER_MODEL_SETTINGS_FILE]
  --model-metadata-file MODEL_METADATA_FILE
                        指定包含未知模型的上下文窗口和成本的文件 [環(huán)境變量:AIDER_MODEL_METADATA_FILE]
  --verify-ssl, --no-verify-ssl
                        連接到模型時驗證 SSL 證書(默認:True) [環(huán)境變量:AIDER_VERIFY_SSL]
  --edit-format EDIT_FORMAT, --chat-mode EDIT_FORMAT
                        指定 LLM 應(yīng)使用的編輯格式(默認取決于模型) [環(huán)境變量:AIDER_EDIT_FORMAT]
  --architect           在主要聊天中使用 architect 編輯格式 [環(huán)境變量:AIDER_ARCHITECT]
  --weak-model WEAK_MODEL
                        指定用于提交消息和聊天歷史摘要的模型(默認取決于 --model) [環(huán)境變量:AIDER_WEAK_MODEL]
  --editor-model EDITOR_MODEL
                        指定用于編輯器任務(wù)的模型(默認取決于 --model) [環(huán)境變量:AIDER_EDITOR_MODEL]
  --editor-edit-format EDITOR_EDIT_FORMAT
                        指定編輯器模型的編輯格式(默認:取決于編輯器模型) [環(huán)境變量:AIDER_EDITOR_EDIT_FORMAT]
  --show-model-warnings, --no-show-model-warnings
                        僅與具有可用元數(shù)據(jù)的模型一起使用(默認:True) [環(huán)境變量:AIDER_SHOW_MODEL_WARNINGS]
  --max-chat-history-tokens MAX_CHAT_HISTORY_TOKENS
                        聊天歷史中使用的最大令牌數(shù)。如果未指定,則使用模型的 max_chat_history_tokens。[環(huán)境變量:AIDER_MAX_CHAT_HISTORY_TOKENS]
  --env-file ENV_FILE   指定要加載的 .env 文件(默認:git 根目錄中的 .env) [環(huán)境變量:AIDER_ENV_FILE]


Cache Settings:
緩存設(shè)置:
  --cache-prompts, --no-cache-prompts
                        啟用緩存提示(默認:False) [環(huán)境變量:AIDER_CACHE_PROMPTS]
  --cache-keepalive-pings CACHE_KEEPALIVE_PINGS
                        每 5 分鐘間隔 ping 的次數(shù),以保持提示緩存溫暖(默認:0) [環(huán)境變量:AIDER_CACHE_KEEPALIVE_PINGS]


Repomap Settings:
映射設(shè)置:
  --map-tokens MAP_TOKENS
                        建議用于 repo 映射的令牌數(shù)量,使用 0 禁用(默認:1024) [環(huán)境變量:AIDER_MAP_TOKENS]
  --map-refresh {auto,always,files,manual}
                        控制 repo 映射的刷新頻率。選項:自動、始終、文件、手動(默認:自動) [環(huán)境變量:AIDER_MAP_REFRESH]
  --map-multiplier-no-files MAP_MULTIPLIER_NO_FILES
                        當未指定文件時,映射令牌的乘數(shù)(默認:2) [環(huán)境變量:AIDER_MAP_MULTIPLIER_NO_FILES]


History Files:
歷史文件:
  --input-history-file INPUT_HISTORY_FILE
                        指定聊天輸入歷史文件(默認:.aider.input.history) [環(huán)境變量:AIDER_INPUT_HISTORY_FILE]
  --chat-history-file CHAT_HISTORY_FILE
                        指定聊天歷史文件(默認:.aider.chat.history.md) [環(huán)境變量:AIDER_CHAT_HISTORY_FILE]
  --restore-chat-history, --no-restore-chat-history
                        恢復(fù)以前的聊天歷史消息(默認:False) [環(huán)境變量:AIDER_RESTORE_CHAT_HISTORY]
  --llm-history-file LLM_HISTORY_FILE
                        將與 LLM 的對話記錄到此文件中(例如,.aider.llm.history) [環(huán)境變量:AIDER_LLM_HISTORY_FILE]


Output Settings:
輸出設(shè)置:
  --dark-mode           使用適合深色終端背景的顏色(默認:False) [環(huán)境變量:AIDER_DARK_MODE]
  --light-mode          使用適合淺色終端背景的顏色(默認:False) [環(huán)境變量:AIDER_LIGHT_MODE]
  --pretty, --no-pretty
                        啟用/禁用漂亮的彩色輸出(默認:True) [環(huán)境變量:AIDER_PRETTY]
  --stream, --no-stream
                        啟用/禁用流式響應(yīng)(默認:True) [環(huán)境變量:AIDER_STREAM]
  --user-input-color USER_INPUT_COLOR
                        設(shè)置用戶輸入的顏色(默認:#00cc00) [環(huán)境變量:AIDER_USER_INPUT_COLOR]
  --tool-output-color TOOL_OUTPUT_COLOR
                        設(shè)置工具輸出的顏色(默認:無) [環(huán)境變量:AIDER_TOOL_OUTPUT_COLOR]
  --tool-error-color TOOL_ERROR_COLOR
                        設(shè)置工具錯誤消息的顏色(默認:#FF2222) [環(huán)境變量:AIDER_TOOL_ERROR_COLOR]
  --tool-warning-color TOOL_WARNING_COLOR
                        設(shè)置工具警告消息的顏色(默認:#FFA500) [環(huán)境變量:AIDER_TOOL_WARNING_COLOR]
  --assistant-output-color ASSISTANT_OUTPUT_COLOR
                        設(shè)置助手輸出的顏色(默認:#0088ff) [環(huán)境變量:AIDER_ASSISTANT_OUTPUT_COLOR]
  --completion-menu-color COLOR
                        設(shè)置完成菜單的顏色(默認:終端默認文本顏色) [環(huán)境變量:AIDER_COMPLETION_MENU_COLOR]
  --completion-menu-bg-color COLOR
                        設(shè)置完成菜單的背景顏色(默認:終端默認背景顏色) [環(huán)境變量:AIDER_COMPLETION_MENU_BG_COLOR]
  --completion-menu-current-color COLOR
                        設(shè)置完成菜單中當前項的顏色(默認:終端默認背景顏色) [環(huán)境變量:
                        AIDER_COMPLETION_MENU_CURRENT_COLOR]
  --completion-menu-current-bg-color COLOR
                        設(shè)置完成菜單中當前項的背景顏色(默認:終端默認文本顏色) [環(huán)境變量:
                        AIDER_COMPLETION_MENU_CURRENT_BG_COLOR]
  --code-theme CODE_THEME
                        設(shè)置 markdown 代碼主題(默認:default,其他選項包括 monokai、solarized-dark、solarized-light) [環(huán)境變量:AIDER_CODE_THEME]
  --show-diffs          提交更改時顯示差異(默認:False) [環(huán)境變量:AIDER_SHOW_DIFFS]


Git Settings:
Git 設(shè)置:
  --git, --no-git       啟用/禁用查找 git repo(默認:True) [環(huán)境變量:AIDER_GIT]
  --gitignore, --no-gitignore
                        啟用/禁用將 .aider* 添加到 .gitignore(默認:True) [環(huán)境變量:AIDER_GITIGNORE]
  --aiderignore AIDERIGNORE




                        指定 aider 忽略文件(默認:git 根目錄中的 .aiderignore) [環(huán)境變量:AIDER_AIDERIGNORE]
  --subtree-only        僅考慮 git 倉庫當前子樹中的文件 [環(huán)境變量:AIDER_SUBTREE_ONLY]
  --auto-commits, --no-auto-commits
                        啟用/禁用 LLM 更改的自動提交(默認:True) [環(huán)境變量:AIDER_AUTO_COMMITS]
  --dirty-commits, --no-dirty-commits
                        啟用/禁用在倉庫發(fā)現(xiàn)臟文件時進行提交(默認:True) [環(huán)境變量:AIDER_DIRTY_COMMITS]
  --attribute-author, --no-attribute-author
                        在 git 作者名稱中標記 aider 代碼更改(默認:True) [環(huán)境變量:AIDER_ATTRIBUTE_AUTHOR]
  --attribute-committer, --no-attribute-committer
                        在 git 提交者名稱中標記 aider 提交(默認:True) [環(huán)境變量:AIDER_ATTRIBUTE_COMMITTER]
  --attribute-commit-message-author, --no-attribute-commit-message-author
                        如果 aider 創(chuàng)建了更改,則在提交消息前添加 'aider: '(默認:False) [環(huán)境變量:AIDER_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR]
  --attribute-commit-message-committer, --no-attribute-commit-message-committer
                        在所有提交消息前添加 'aider: '(默認:False) [環(huán)境變量:AIDER_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER]
  --commit              提交所有待處理更改并適當提交消息,然后退出 [環(huán)境變量:AIDER_COMMIT]
  --commit-prompt PROMPT
                        指定生成提交消息的自定義提示 [環(huán)境變量:AIDER_COMMIT_PROMPT]
  --dry-run, --no-dry-run
                        進行干運行而不修改文件(默認:False) [環(huán)境變量:AIDER_DRY_RUN]


Fixing and committing:
修復(fù)和提交:
  --lint                檢查并修復(fù)提供的文件,或如果未提供文件則檢查臟文件 [環(huán)境變量:AIDER_LINT]
  --lint-cmd LINT_CMD   指定不同語言要運行的 lint 命令,例如:“python: flake8 --select=...” (可以多次使用) [環(huán)境變量:AIDER_LINT_CMD]
  --auto-lint, --no-auto-lint
                        啟用/禁用更改后的自動 lint(默認:True) [環(huán)境變量:AIDER_AUTO_LINT]
  --test-cmd TEST_CMD   指定要運行的測試命令 [環(huán)境變量:AIDER_TEST_CMD]
  --auto-test, --no-auto-test
                        啟用/禁用更改后的自動測試(默認:False) [環(huán)境變量:AIDER_AUTO_TEST]
  --test                運行測試并修復(fù)發(fā)現(xiàn)的問題 [環(huán)境變量:AIDER_TEST]


Other Settings:
其他設(shè)置:
  --file FILE           指定要編輯的文件(可以多次使用) [環(huán)境變量:AIDER_FILE]
  --read FILE           指定只讀文件(可以多次使用) [環(huán)境變量:AIDER_READ]
  --vim                 在終端中使用 VI 編輯模式(默認:False) [環(huán)境變量:AIDER_VIM]
  --chat-language CHAT_LANGUAGE
                        指定聊天中使用的語言(默認:無,使用系統(tǒng)設(shè)置) [環(huán)境變量:AIDER_CHAT_LANGUAGE]
  --version             顯示版本號并退出
  --just-check-update   檢查更新并在退出代碼中返回狀態(tài) [環(huán)境變量:AIDER_JUST_CHECK_UPDATE]
  --check-update, --no-check-update
                        啟動時檢查新 aider 版本 [環(huán)境變量:AIDER_CHECK_UPDATE]
  --install-main-branch
                        從主分支安裝最新版本 [環(huán)境變量:AIDER_INSTALL_MAIN_BRANCH]
  --upgrade, --update   將 aider 升級到最新版本 [環(huán)境變量:AIDER_UPGRADE]
  --apply FILE          從給定文件應(yīng)用更改,而不是運行聊天(調(diào)試) [環(huán)境變量:AIDER_APPLY]
  --yes                 對每個確認始終選擇是 [環(huán)境變量:AIDER_YES]
  -v, --verbose         啟用詳細輸出 [環(huán)境變量:AIDER_VERBOSE]
  --show-repo-map       打印 repo 映射并退出(調(diào)試) [環(huán)境變量:AIDER_SHOW_REPO_MAP]
  --show-prompts        打印系統(tǒng)提示并退出(調(diào)試) [環(huán)境變量:AIDER_SHOW_PROMPTS]
  --exit                完成所有啟動活動后退出,等待用戶輸入(調(diào)試) [環(huán)境變量:AIDER_EXIT]
  --message COMMAND, --msg COMMAND, -m COMMAND
                        指定要發(fā)送給 LLM 的單個消息,處理回復(fù)然后退出(禁用聊天模式) [環(huán)境變量:AIDER_MESSAGE]
  --message-file MESSAGE_FILE, -f MESSAGE_FILE
                        指定包含要發(fā)送給 LLM 的消息的文件,處理回復(fù)然后退出(禁用聊天模式) [環(huán)境變量:AIDER_MESSAGE_FILE]
  --encoding ENCODING   指定輸入和輸出的編碼(默認:utf-8) [環(huán)境變量:AIDER_ENCODING]
  -c CONFIG_FILE, --config CONFIG_FILE
                        指定配置文件(默認:在 git 根目錄、當前工作目錄或主目錄中搜索 .aider.conf.yml)
  --gui, --browser      在瀏覽器中運行 aider [環(huán)境變量:AIDER_GUI]
  --suggest-shell-commands, --no-suggest-shell-commands
                        啟用/禁用建議 shell 命令(默認:True) [環(huán)境變量:AIDER_SUGGEST_SHELL_COMMANDS]


Voice Settings:
語音設(shè)置:
  --voice-format VOICE_FORMAT
                        語音錄音的音頻格式(默認:wav)。webm 和 mp3 需要 ffmpeg [環(huán)境變量:AIDER_VOICE_FORMAT]
  --voice-language VOICE_LANGUAGE
                        使用 ISO 639-1 代碼指定語音語言(默認:自動) [環(huán)境變量:AIDER_VOICE_LANGUAGE]


以'--'開頭的參數(shù)也可以在配置文件中設(shè)置(C:\Users\Aitrainee\.aider.conf.yml 或 C:\Users\Aitrainee\.aider.conf.yml 或通過 -c 指定)。配置文件語法允許:key=value,flag=true,stuff=[a,b,c] (有關(guān)詳細信息,請參見 https://goo.gl/R74nmi)。一般而言,命令行值覆蓋環(huán)境變量,環(huán)境變量覆蓋配置文件值,配置文件值覆蓋默認值。

學(xué)習(xí)AI,某種程度上像是在培養(yǎng)另一個‘自己’。它需要耐心、實踐和不斷修正。這個實戰(zhàn)訓(xùn)練營并不是要你成為AI的‘創(chuàng)造者’,而是幫助你成為更高效的‘合作者’,一起探討智能的未來。

本文轉(zhuǎn)載自??AI進修生??,作者: Aitrainee ????

收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦