Bahasa Inggris |中文 | 日本語
Kumpulan data | Tolok Ukur | ? Model | ? Kertas
KwaiAgents adalah serangkaian karya terkait Agen yang bersumber terbuka oleh KwaiKEG dari Kuaishou Technology. Konten bersumber terbuka meliputi:
Jenis | Model | Data Pelatihan | Data Tolok Ukur |
Qwen | Qwen-7B-MAT Qwen-14B-MAT Qwen-7B-MAT-cpp Qwen1.5-14B-MAT | KAgentInstruct | KAgentBench |
Baichuan | Baichuan2-13B-MAT |
Skala | Perencanaan | Penggunaan alat | Cerminan | Kesimpulan | Profil | Skor Keseluruhan | |
---|---|---|---|---|---|---|---|
GPT-3.5-turbo | - | 18.55 | 26.26 | 8.06 | 37.26 | 35.42 | 25.63 |
Lama2 | 13B | 0,15 | 0,44 | 0,14 | 16.60 | 17.73 | 5.30 |
ObrolanGLM3 | 6B | 7.87 | 11.84 | 7.52 | 30.01 | 30.14 | 15.88 |
Qwen | 7B | 13.34 | 18.00 | 7.91 | 36.24 | 34,99 | 21.17 |
Baichuan2 | 13B | 6.70 | 16.10 | 6.76 | 24.97 | 19.08 | 14.89 |
AlatLlama | 7B | 0,20 | 4.83 | 1.06 | 15.62 | 10.66 | 6.04 |
AgenLM | 13B | 0,17 | 0,15 | 0,05 | 16.30 | 15.22 | 4.88 |
Qwen-MAT | 7B | 31.64 | 43.30 | 33.34 | 44.85 | 44.78 | 39.85 |
Baichuan2-MAT | 13B | 37.27 | 52,97 | 37.00 | 48.01 | 41.83 | 45.34 |
Qwen-MAT | 14B | 43.17 | 63,78 | 32.14 | 45.47 | 45.22 | 49,94 |
Qwen1.5-MAT | 14B | 42.42 | 64.62 | 30.58 | 46.51 | 45,95 | 50.18 |
Skala | Tanpa Agen | Bereaksi | GPT Otomatis | KAgentSys | |
---|---|---|---|---|---|
GPT-4 | - | 57,21% (3,42) | 68,66% (3,88) | 79,60% (4,27) | 83,58% (4,47) |
GPT-3.5-turbo | - | 47,26% (3,08) | 54,23% (3,33) | 61,74% (3,53) | 64,18% (3,69) |
Qwen | 7B | 52,74% (3,23) | 51,74% (3,20) | 50,25% (3,11) | 54,23% (3,27) |
Baichuan2 | 13B | 54,23% (3,31) | 55,72% (3,36) | 57,21% (3,37) | 58,71% (3,54) |
Qwen-MAT | 7B | - | 58,71% (3,53) | 65,67% (3,77) | 67,66% (3,87) |
Baichuan2-MAT | 13B | - | 61,19% (3,60) | 66,67% (3,86) | 74,13% (4,11) |
Instal miniconda untuk lingkungan build terlebih dahulu. Kemudian buat build env terlebih dahulu:
conda create -n kagent python=3.10
conda activate kagent
pip install -r requirements.txt
Kami merekomendasikan penggunaan vLLM dan FastChat untuk menyebarkan layanan inferensi model. Pertama, Anda perlu menginstal paket yang sesuai (untuk penggunaan detailnya, silakan merujuk ke dokumentasi kedua proyek):
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
Untuk menerapkan KAgentLM, Anda harus memulai pengontrol di satu terminal terlebih dahulu.
python -m fastchat.serve.controller
Kedua, Anda harus menggunakan perintah berikut di terminal lain untuk penerapan layanan inferensi GPU tunggal:
python -m fastchat.serve.vllm_worker --model-path $model_path --trust-remote-code
Dimana $model_path
adalah jalur lokal dari model yang diunduh. Jika GPU tidak mendukung Bfloat16, Anda dapat menambahkan --dtype half
ke baris perintah.
Ketiga, mulai server REST API di terminal ketiga.
python -m fastchat.serve.openai_api_server --host localhost --port 8888
Terakhir, Anda dapat menggunakan perintah curl untuk memanggil model yang sama dengan format panggilan OpenAI. Berikut ini contohnya:
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"}]} '
Di sini, ubah kagentlms_qwen_7b_mat
ke model yang Anda terapkan.
llama-cpp-python menawarkan server web yang bertujuan untuk bertindak sebagai pengganti OpenAI API. Hal ini memungkinkan Anda untuk menggunakan model yang kompatibel dengan llama.cpp dengan klien apa pun yang kompatibel dengan OpenAI (perpustakaan bahasa, layanan, dll). Model yang dikonversi dapat ditemukan di kwaikeg/kagentlms_qwen_7b_mat_gguf.
Untuk menginstal paket server dan memulai:
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
Terakhir, Anda dapat menggunakan perintah curl untuk memanggil model yang sama dengan format panggilan OpenAI. Berikut ini contohnya:
curl http://localhost:8888/v1/chat/completions
-H " Content-Type: application/json "
-d ' {"messages": [{"role": "user", "content": "Who is Andy Lau"}]} '
Unduh dan instal KwaiAgents, disarankan 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 tidak wajib, tetapi Anda perlu mengonfigurasinya saat mengajukan pertanyaan terkait cuaca. Anda dapat memperoleh kunci API dari situs web ini (Sama untuk penggunaan model lokal).
kagentsys --query= " Who is Andy Lau's wife? " --llm_name= " gpt-3.5-turbo " --lang= " en "
Untuk menggunakan model lokal, Anda perlu menerapkan layanan model yang sesuai seperti yang dijelaskan dalam bab sebelumnya
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 "
Argumen perintah lengkap:
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
Catatan :
browse_website
, Anda perlu mengkonfigurasi chromedriver di server Anda.http_proxy
. Penggunaan alat khusus dapat ditemukan di example/custom_tool_example.py
Kami hanya memerlukan dua baris untuk mengevaluasi kemampuan agen seperti:
cd benchmark
python infer_qwen.py qwen_benchmark_res.jsonl
python benchmark_eval.py ./benchmark_eval.jsonl ./qwen_benchmark_res.jsonl
Perintah di atas akan memberikan hasil seperti
plan : 31.64, tooluse : 43.30, reflextion : 33.34, conclusion : 44.85, profile : 44.78, overall : 39.85
Silakan merujuk ke benchmark/ untuk lebih jelasnya.
@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}
}