Taskweaver adalah kerangka kerja agen pertama kode untuk merencanakan dan melaksanakan tugas analisis data yang mulus. Kerangka kerja inovatif ini menginterpretasikan permintaan pengguna melalui cuplikan kode dan secara efisien mengoordinasikan berbagai plugin dalam bentuk fungsi untuk menjalankan tugas analisis data secara stateful.
Tidak seperti banyak kerangka kerja agen yang hanya melacak riwayat obrolan dengan LLMS dalam teks, Taskweaver mempertahankan riwayat obrolan dan riwayat eksekusi kode , termasuk data dalam memori. Fitur ini meningkatkan ekspresi kerangka kerja agen, membuatnya ideal untuk memproses struktur data yang kompleks seperti data tabel dimensi tinggi.

container secara default untuk eksekusi kode. Silakan periksa eksekusi kode untuk lebih jelasnya.?Taskweaver membutuhkan Python> = 3.10 . Itu dapat diinstal dengan menjalankan perintah berikut:
# [optional to create conda environment]
# conda create -n taskweaver python=3.10
# conda activate taskweaver
# clone the repository
git clone https://github.com/microsoft/TaskWeaver.git
cd TaskWeaver
# install the requirements
pip install -r requirements.txt Jika Anda ingin menginstal versi TaskWeaver sebelumnya, Anda dapat memeriksa halaman rilis, temukan tag (misalnya, v0.0.1 ) dan instal olehnya
pip install git+https://github.com/microsoft/TaskWeaver@<TAG>
Sebelum menjalankan TaskWeaver, Anda perlu memberikan konfigurasi LLM Anda. Mengambil OpenAi sebagai contoh, Anda dapat mengonfigurasi file taskweaver_config.json sebagai berikut.
{
"llm.api_key" : " the api key " ,
"llm.model" : " the model name, e.g., gpt-4 "
}Taskweaver juga mendukung LLMS lain dan konfigurasi lanjutan, silakan periksa dokumen untuk lebih jelasnya.
Taskweaver telah beralih ke mode container secara default untuk eksekusi kode, yang berarti kode dijalankan dalam wadah. Anda mungkin perlu menginstal Docker dan mengurus dependensi dalam wadah. Silakan periksa eksekusi kode untuk lebih jelasnya.
# assume you are in the cloned TaskWeaver folder
python -m taskweaver -p ./project/Ini akan memulai proses TaskWeaver dan Anda dapat berinteraksi dengan antarmuka baris perintah. Jika semuanya berjalan dengan baik, Anda akan melihat prompt berikut:
=========================================================
_____ _ _ __
|_ _|_ _ ___| | _ | | / /__ ____ __ _____ _____
| |/ _` / __| |/ /| | /| / / _ / __ `/ | / / _ / ___/
| | (_| __ < | |/ |/ / __/ /_/ /| |/ / __/ /
|_|__,_|___/_|_|__/|__/___/__,_/ |___/___/_/
=========================================================
TaskWeaver: I am TaskWeaver, an AI assistant. To get started, could you please enter your request?
Human: ___
TaskWeaver juga mendukung WebUI untuk tujuan demo, silakan merujuk ke dokumen Web UI untuk lebih jelasnya.
Taskweaver dapat diimpor sebagai perpustakaan untuk berintegrasi dengan proyek Anda yang ada, lebih banyak informasi dapat ditemukan di dokumen
Lebih banyak dokumentasi dapat ditemukan di situs web Taskweaver.
Demo dibuat berdasarkan Web UI, yang lebih baik untuk menampilkan artefak yang dihasilkan seperti gambar. Demo juga dapat dilakukan di antarmuka baris perintah.
Dalam contoh ini, kami akan menunjukkan kepada Anda cara menggunakan TaskWeaver untuk menarik data dari database dan menerapkan algoritma deteksi anomali.
Jika Anda ingin mengikuti contoh ini, Anda perlu mengkonfigurasi plugin sql_pull_data di file project/plugins/sql_pull_data.yaml . Anda perlu memberikan informasi berikut:
api_type : azure or openai
api_base : ...
api_key : ...
api_version : ...
deployment_name : ...
sqlite_db_path : sqlite:///../../../sample_data/anomaly_detection.db Plugin sql_pull_data adalah plugin yang menarik data dari database. Dibutuhkan permintaan bahasa alami sebagai input dan mengembalikan bingkai data sebagai output.
Plugin ini diimplementasikan berdasarkan Langchain. Jika Anda ingin mengikuti contoh ini, Anda harus menginstal paket Langchain:
pip install langchain
pip install tabulateDalam contoh ini, kami akan menunjukkan kepada Anda cara menggunakan Taskweaver untuk memperkirakan harga QQQ dalam 7 hari ke depan.
Jika Anda ingin mengikuti contoh ini, Anda perlu memastikan Anda memiliki dua persyaratan ini diinstal:
pip install yfinance
pip install statsmodelsUntuk contoh lebih lanjut, silakan merujuk ke makalah kami.
Perencanaan Taskweaver didasarkan pada model LLM. Oleh karena itu, jika Anda ingin mengulang contoh, proses eksekusi mungkin berbeda dari apa yang Anda lihat di video. Misalnya, dalam demo kedua, asisten dapat bertanya kepada pengguna algoritma prediksi mana yang harus digunakan. Biasanya, lebih banyak petunjuk konkret akan membantu model untuk menghasilkan rencana dan kode yang lebih baik.
Makalah kami dapat ditemukan di sini. Jika Anda menggunakan Taskweaver dalam riset Anda, silakan kutip makalah kami:
@article{taskweaver,
title={TaskWeaver: A Code-First Agent Framework},
author={Bo Qiao, Liqun Li, Xu Zhang, Shilin He, Yu Kang, Chaoyun Zhang, Fangkai Yang, Hang Dong, Jue Zhang, Lu Wang, Minghua Ma, Pu Zhao, Si Qin, Xiaoting Qin, Chao Du, Yong Xu, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang},
journal={arXiv preprint arXiv:2311.17541},
year={2023}
}
Proyek ini dapat berisi merek dagang atau logo untuk proyek, produk, atau layanan. Penggunaan resmi merek dagang atau logo Microsoft tunduk dan harus mengikuti pedoman merek dagang & merek Microsoft. Penggunaan merek dagang atau logo Microsoft dalam versi yang dimodifikasi dari proyek ini tidak boleh menyebabkan kebingungan atau menyiratkan sponsor Microsoft. Setiap penggunaan merek dagang atau logo pihak ketiga tunduk pada kebijakan pihak ketiga tersebut.
Model yang disarankan dalam repo ini hanyalah contoh, yang digunakan untuk mengeksplorasi potensi sistem agen dengan kertas di Taskweaver: kerangka kerja agen pertama kode. Pengguna dapat mengganti model dalam repo ini sesuai dengan kebutuhan mereka. Saat menggunakan model yang disarankan dalam repo ini, Anda harus mematuhi lisensi model ini masing -masing. Microsoft tidak akan bertanggung jawab atas pelanggaran hak pihak ketiga yang diakibatkan dari penggunaan repo ini. Pengguna setuju untuk mempertahankan, mengganti rugi, dan menahan Microsoft yang tidak berbahaya dari dan terhadap semua kerusakan, biaya, dan biaya pengacara sehubungan dengan klaim yang timbul dari repo ini. Jika ada yang percaya bahwa repo ini melanggar hak -hak Anda, harap beri tahu email pemilik proyek.