Английский | 中文 | 日本語
Набор данных | Бенчмарк | ? Модели | ? Бумага
KwaiAgents — это серия работ, связанных с агентами, с открытым исходным кодом KwaiKEG от Kuaishou Technology. Контент с открытым исходным кодом включает в себя:
Тип | Модели | Данные обучения | Исходные данные |
Квен | Квен-7B-MAT Квен-14Б-МАТ Qwen-7B-MAT-cpp Qwen1.5-14B-MAT | КАгентИнструкт | KAgentBench |
Байчуань | Байчуань2-13B-MAT |
Шкала | Планирование | Использование инструментов | Отражение | Заключение | Профиль | Общий балл | |
---|---|---|---|---|---|---|---|
ГПТ-3,5-турбо | - | 18.55 | 26.26 | 8.06 | 37,26 | 35.42 | 25,63 |
Лама2 | 13Б | 0,15 | 0,44 | 0,14 | 16.60 | 17,73 | 5.30 |
ЧатGLM3 | 6Б | 7,87 | 11.84 | 7.52 | 30.01 | 30.14 | 15.88 |
Квен | 7Б | 13.34 | 18.00 | 7,91 | 36,24 | 34,99 | 21.17 |
Байчуань2 | 13Б | 6,70 | 16.10 | 6,76 | 24.97 | 19.08 | 14.89 |
ИнструментЛама | 7Б | 0,20 | 4,83 | 1.06 | 15,62 | 10.66 | 6.04 |
АгентLM | 13Б | 0,17 | 0,15 | 0,05 | 16.30 | 15.22 | 4,88 |
Квен-МАТ | 7Б | 31,64 | 43.30 | 33.34 | 44,85 | 44,78 | 39,85 |
Байчуань2-MAT | 13Б | 37,27 | 52,97 | 37.00 | 48.01 | 41,83 | 45,34 |
Квен-МАТ | 14Б | 43,17 | 63,78 | 32.14 | 45,47 | 45,22 | 49,94 |
Qwen1.5-MAT | 14Б | 42,42 | 64,62 | 30.58 | 46,51 | 45,95 | 50.18 |
Шкала | NoAgent | РЕАКТ | Авто-GPT | KAgentSys | |
---|---|---|---|---|---|
ГПТ-4 | - | 57,21% (3,42) | 68,66% (3,88) | 79,60% (4,27) | 83,58% (4,47) |
ГПТ-3,5-турбо | - | 47,26% (3,08) | 54,23% (3,33) | 61,74% (3,53) | 64,18% (3,69) |
Квен | 7Б | 52,74% (3,23) | 51,74% (3,20) | 50,25% (3,11) | 54,23% (3,27) |
Байчуань2 | 13Б | 54,23% (3,31) | 55,72% (3,36) | 57,21% (3,37) | 58,71% (3,54) |
Квен-МАТ | 7Б | - | 58,71% (3,53) | 65,67% (3,77) | 67,66% (3,87) |
Байчуань2-MAT | 13Б | - | 61,19% (3,60) | 66,67% (3,86) | 74,13% (4,11) |
Сначала установите miniconda для среды сборки. Затем сначала создайте среду сборки:
conda create -n kagent python=3.10
conda activate kagent
pip install -r requirements.txt
Мы рекомендуем использовать vLLM и FastChat для развертывания службы вывода модели. Сначала вам необходимо установить соответствующие пакеты (подробнее об использовании см. в документации двух проектов):
pip install vllm
pip install " fschat[model_worker,webui] "
pip install " fschat[model_worker,webui] "
pip install vllm==0.2.0
pip install transformers==4.33.2
Чтобы развернуть KAgentLM, сначала необходимо запустить контроллер в одном терминале.
python -m fastchat.serve.controller
Во-вторых, вам следует использовать следующую команду в другом терминале для развертывания службы вывода с одним графическим процессором:
python -m fastchat.serve.vllm_worker --model-path $model_path --trust-remote-code
Где $model_path
— локальный путь к загруженной модели. Если графический процессор не поддерживает Bfloat16, вы можете добавить --dtype half
в командную строку.
В-третьих, запустите сервер REST API в третьем терминале.
python -m fastchat.serve.openai_api_server --host localhost --port 8888
Наконец, вы можете использовать команду Curl для вызова модели, аналогичной формату вызова OpenAI. Вот пример:
curl http://localhost:8888/v1/chat/completions
-H " Content-Type: application/json "
-d ' {"model": "kagentlms_qwen_7b_mat", "messages": [{"role": "user", "content": "Who is Andy Lau"}]} '
Здесь измените kagentlms_qwen_7b_mat
на развернутую вами модель.
llama-cpp-python предлагает веб-сервер, который призван заменить OpenAI API. Это позволяет вам использовать модели, совместимые с llama.cpp, с любым клиентом, совместимым с OpenAI (языковыми библиотеками, службами и т. д.). Преобразованную модель можно найти в kwaikeg/kagentlms_qwen_7b_mat_gguf.
Чтобы установить серверный пакет и начать работу:
pip install " llama-cpp-python[server] "
python3 -m llama_cpp.server --model kagentlms_qwen_7b_mat_gguf/ggml-model-q4_0.gguf --chat_format chatml --port 8888
Наконец, вы можете использовать команду Curl для вызова модели, аналогичной формату вызова OpenAI. Вот пример:
curl http://localhost:8888/v1/chat/completions
-H " Content-Type: application/json "
-d ' {"messages": [{"role": "user", "content": "Who is Andy Lau"}]} '
Загрузите и установите KwaiAgents, рекомендуется Python>=3.10.
git clone [email protected]:KwaiKEG/KwaiAgents.git
cd KwaiAgents
python setup.py develop
export OPENAI_API_KEY=sk-xxxxx
export WEATHER_API_KEY=xxxxxx
WEATHER_API_KEY не является обязательным, но вам необходимо настроить его, когда задаете вопросы, связанные с погодой. Вы можете получить ключ API на этом веб-сайте (то же самое для использования локальной модели).
kagentsys --query= " Who is Andy Lau's wife? " --llm_name= " gpt-3.5-turbo " --lang= " en "
Чтобы использовать локальную модель, вам необходимо развернуть соответствующий сервис модели, как описано в предыдущей главе.
kagentsys --query= " Who is Andy Lau's wife? " --llm_name= " kagentlms_qwen_7b_mat "
--use_local_llm --local_llm_host= " localhost " --local_llm_port=8888 --lang= " en "
Полные аргументы команды:
options:
-h, --help show this help message and exit
--id ID ID of this conversation
--query QUERY User query
--history HISTORY History of conversation
--llm_name LLM_NAME the name of llm
--use_local_llm Whether to use local llm
--local_llm_host LOCAL_LLM_HOST
The host of local llm service
--local_llm_port LOCAL_LLM_PORT
The port of local llm service
--tool_names TOOL_NAMES
the name of llm
--max_iter_num MAX_ITER_NUM
the number of iteration of agents
--agent_name AGENT_NAME
The agent name
--agent_bio AGENT_BIO
The agent bio, a short description
--agent_instructions AGENT_INSTRUCTIONS
The instructions of how agent thinking, acting, or talking
--external_knowledge EXTERNAL_KNOWLEDGE
The link of external knowledge
--lang {en,zh} The language of the overall system
--max_tokens_num Maximum length of model input
Примечание :
browse_website
, вам необходимо настроить chromedriver на вашем сервере.http_proxy
. Использование пользовательских инструментов можно найти в example/custom_tool_example.py.
Нам нужны всего две строки для оценки возможностей агента, например:
cd benchmark
python infer_qwen.py qwen_benchmark_res.jsonl
python benchmark_eval.py ./benchmark_eval.jsonl ./qwen_benchmark_res.jsonl
Приведенная выше команда даст такие результаты:
plan : 31.64, tooluse : 43.30, reflextion : 33.34, conclusion : 44.85, profile : 44.78, overall : 39.85
Пожалуйста, обратитесь к эталонному тесту/ для получения более подробной информации.
@article{pan2023kwaiagents,
author = {Haojie Pan and
Zepeng Zhai and
Hao Yuan and
Yaojia Lv and
Ruiji Fu and
Ming Liu and
Zhongyuan Wang and
Bing Qin
},
title = {KwaiAgents: Generalized Information-seeking Agent System with Large Language Models},
journal = {CoRR},
volume = {abs/2312.04889},
year = {2023}
}