


TaskWeaver: rangka kerja sumber terbuka yang memudahkan analisis data dan penyesuaian industri untuk membina penyelesaian Agen yang cemerlang
Analisis data sentiasa menjadi alat utama dalam masyarakat moden, membantu kami memahami intipati dengan mendalam, menemui corak dan membimbing membuat keputusan. Walau bagaimanapun, proses analisis data selalunya rumit dan memakan masa, jadi kami mengharapkan pembantu pintar yang boleh berinteraksi secara langsung dengan data. Dengan pembangunan model bahasa besar (LLM), pembantu maya dan ejen pintar seperti Copilot telah muncul satu demi satu, dan prestasi mereka dalam pemahaman dan penjanaan bahasa semula jadi sangat mengagumkan. Malangnya, bagaimanapun, rangka kerja ejen sedia ada masih menghadapi kesukaran dalam mengendalikan struktur data yang kompleks (seperti DataFrame, ndarray, dll.) dan memperkenalkan pengetahuan domain, yang merupakan keperluan teras dalam analisis data dan bidang profesional.
Untuk menyelesaikan masalah kesesakan pembantu suara dengan lebih baik semasa melaksanakan tugas, Microsoft melancarkan rangka kerja Ejen yang dipanggil TaskWeaver. Rangka kerja ini mengutamakan kod dan boleh menukar permintaan bahasa semula jadi pengguna kepada kod boleh laku, sambil menyokong berbilang struktur data dan pemilihan pemalam dinamik. Selain itu, TaskWeaver juga boleh disesuaikan secara profesional mengikut proses perancangan dalam bidang yang berbeza, menggunakan sepenuhnya potensi model bahasa yang besar. Sebagai rangka kerja sumber terbuka, TaskWeaver menyediakan contoh dan pemalam yang boleh disesuaikan yang boleh menggabungkan pengetahuan dalam bidang tertentu, membolehkan pengguna membuat pembantu maya diperibadikan dengan mudah. Pelancaran TaskWeaver akan meningkatkan tahap kecerdasan pembantu suara dengan berkesan dan memenuhi keperluan pengguna yang semakin meningkat untuk pembantu maya yang diperibadikan.
- Kertas: TaskWeaver: Rangka Kerja Ejen Kod Pertama
- Alamat kertas: https://export.arxiv.org/abs/2311.17541 sumber terbuka pada GitHub , dan muncul pada senarai arah aliran GitHub pada hari keluaran. Pada masa ini, projek itu telah menerima 2.9k bintang dan telah mendapat sambutan yang baik. Selain itu, terdapat juga beberapa kes praktikal di platform sosial seperti LinkedIn, seperti menggunakan TaskWeaver untuk analisis data SAP. Kes ini menunjukkan utiliti dan nilai TaskWeaver.
Laman utama projek: https://microsoft.github.io/TaskWeaver/
- Alamat projek: https://github.com
- Contoh cerita
Menjejaki rahsia tersembunyi dalam data jualan
Xiaoya ialah seorang penganalisis perniagaan, dan salah satu tugasnya ialah mencari anomali daripada data jualan terkini dan berdasarkan anomali ini Bimbing syarikat untuk menyesuaikannya strategi jualan. Semua data jualan disimpan dengan selamat dalam pangkalan data SQL. Dia berharap dapat mengekstrak dan menganalisis data dengan mudah melalui komunikasi bahasa semula jadi dengan pembantu AI. Yang paling penting ialah hakikat bahawa dalam dunia jualan, anomali adalah unik, jadi dia berharap pembantu AI boleh menggunakan algoritma pengesanan anomali tersuai untuk menyelesaikan masalah ini. Berikut ialah rekod sembang antara Xiaoya dan pembantu AI (Rajah 1), menunjukkan interaksi antara mereka. Xiaoya: Hello, saya perlukan bantuan mengekstrak data jualan daripada pangkalan data dan menganalisisnya. Pembantu AI: OK, saya akan mengekstrak data yang sepadan daripada pangkalan data dengan segera. Saya akan membentangkan data yang diekstrak kepada anda kemudian untuk pengesahan. Xiaoya: Terima kasih banyak-banyak. (selepas beberapa lama) Pembantu AI: Saya telah mengekstrak data jualan daripada pangkalan data Berikut ialah gambaran keseluruhan data, sila sahkan. (Ikhtisar data yang dipaparkan oleh pembantu AI) Xiaoya: Data kelihatan baik, sila teruskan dengan pengesanan dan analisis anomali. AI Assistant: Faham. Saya akan melakukan analisis menggunakan algoritma pengesanan anomali tersuai kami dan menunjukkan kepada anda visualisasi intuitif secepat mungkin. (selepas beberapa lama) AI Assistant: Analisis selesai. Sila lihat hasil visualisasi berikut. (Pembantu AI memaparkan hasil visual) Xiaoya: Terima kasih banyak atas bantuan anda! Keputusan ini sangat berharga bagi saya. AI Assistant: Senang dapat membantu anda. Jika anda mempunyai sebarang soalan lanjut atau memerlukan analisis lanjut, sila beritahu saya. Xiaoya: Sudah tentu, terima kasih atas sokongan anda.
Rajah 1. Transkrip perbualan dalam contoh cerita
Apakah kemahiran yang diperlukan untuk rangka kerja Ejen?
Melalui kisah Xiaoya yang disebutkan di atas, kami menyelesaikan beberapa keupayaan teras yang perlu ada pada rangka kerja Ejen:
1. Sokongan pemalam: Dalam cerita di atas, Ejen perlu mendapatkan data daripada pangkalan data dan kemudian menggunakan algoritma pengesanan anomali yang ditentukan. Untuk melaksanakan tugasan ini, pembantu pintar perlu dapat menentukan dan memanggil pemalam tersuai, seperti pemalam "query_database" dan pemalam "anomaly_detection".
2. Sokongan struktur data yang kaya: Ejen perlu memproses struktur data yang kompleks, seperti tatasusunan, matriks, data jadual, dll., untuk melaksanakan pemprosesan data lanjutan dengan lancar, seperti ramalan, pengelompokan, dsb. Tambahan pula, data ini harus dihantar dengan lancar antara pemalam yang berbeza. Walau bagaimanapun, kebanyakan rangka kerja Ejen sedia ada menukar hasil perantaraan analisis data kepada teks dalam Prompt, atau simpannya sebagai fail setempat dahulu dan kemudian bacanya apabila diperlukan. Walau bagaimanapun, amalan ini terdedah kepada ralat dan melebihi had perkataan Prompt.
3. Pelaksanaan stateful: Ejen selalunya perlu berinteraksi dengan pengguna untuk berbilang pusingan lelaran, dan menjana serta melaksanakan kod berdasarkan input pengguna. Oleh itu, keadaan pelaksanaan kod ini harus dikekalkan sepanjang sesi sehingga sesi tamat. . Sebagai contoh, dalam contoh di atas, memandangkan skema data dalam pangkalan data biasanya pelbagai, Ejen mesti terlebih dahulu mendapatkan maklumat skema data dan memahami lajur mana yang sesuai (dan mengesahkan dengan pengguna), dan kemudian lajur yang sepadan boleh diberi nama adalah input ke dalam algoritma pengesanan anomali.
5. Hasilkan kod sewenang-wenangnya: Kadangkala, pemalam yang dipratentukan tidak dapat memenuhi permintaan pengguna, dan Ejen sepatutnya dapat menjana kod untuk bertindak balas kepada keperluan sementara pengguna. Dalam contoh di atas, Ejen perlu menjana kod untuk menggambarkan anomali yang dikesan, dan proses ini dicapai tanpa bantuan mana-mana pemalam.
6. Mengintegrasikan pengetahuan domain: Ejen harus menyediakan penyelesaian yang sistematik untuk mengintegrasikan pengetahuan dalam bidang tertentu. Ini akan membantu LLM dengan perancangan yang lebih baik dan penggunaan alatan yang tepat, sekali gus menghasilkan hasil yang boleh dipercayai, terutamanya dalam senario yang disesuaikan dengan industri.
Mendedahkan seni bina teras TaskWeaverRajah 2 menunjukkan seni bina keseluruhan TaskWeaver, termasuk modul Perancang, Jurubahasa Kod dan Memori.
Perancang adalah seperti otak sistem Ia mempunyai dua tanggungjawab teras: 1) Buat perancangan, iaitu, bahagikan keperluan pengguna kepada subtugas, hantar subtugas ini kepada jurubahasa kod satu demi satu, dan gunakannya. sepanjang pelan Ia akan menyesuaikan sendiri pelan mengikut keperluan semasa proses pelaksanaan 2) Bertindak balas kepada pengguna, ia akan menukar hasil maklum balas jurubahasa kepada jawapan yang mudah difahami oleh pengguna dan menghantarnya kepada pengguna; .
Penterjemah kod terutamanya terdiri daripada dua komponen: penjana kod (Penjana Kod) akan menerima subtugas yang dihantar oleh perancang, dan menggabungkan pemalam sedia ada dan contoh tugas khusus domain untuk menjana blok kod yang sepadan ; Pelaksana Kod bertanggungjawab untuk melaksanakan kod yang dijana dan mengekalkan status pelaksanaan sepanjang sesi. Oleh sebab itu, struktur data yang kompleks boleh dihantar dalam ingatan tanpa melalui gesaan atau sistem fail. Ia seperti pengaturcaraan dalam Python dalam Jupyter Notebook, di mana pengguna memasukkan coretan kod ke dalam sel, dan keadaan dalaman program dikekalkan semasa pelaksanaan berurutan dan boleh dirujuk oleh proses seterusnya. Dari segi pelaksanaan, dalam setiap sesi, pelaksana kod akan mempunyai proses Python bebas untuk melaksanakan kod, sekali gus menyokong berbilang pengguna pada masa yang sama.
Modul memori terutamanya menyimpan maklumat berguna semasa operasi keseluruhan sistem, seperti hasil pelaksanaan, dsb., dan boleh ditulis dan dibaca oleh modul yang berbeza. Memori jangka pendek terutamanya termasuk rekod komunikasi antara pengguna dan TaskWeaver dalam sesi semasa, serta rekod komunikasi antara modul. Memori jangka panjang termasuk pengetahuan domain yang boleh disesuaikan oleh pengguna terlebih dahulu, serta beberapa pengalaman yang diringkaskan semasa proses interaksi, dsb.
Rajah 2. Gambarajah keseluruhan seni bina TaskWeaver
Selain seni bina asas, TaskWeaver juga mempunyai banyak reka bentuk unik. Contohnya, pemampatan sesi mengurangkan saiz teks, membolehkan lebih banyak giliran perbualan dan pemilihan pemalam dinamik secara automatik memilih pemalam yang betul berdasarkan permintaan pengguna, membolehkan penyepaduan lebih banyak pemalam tersuai. Selain itu, TaskWeaver juga menyokong fungsi penjimatan pengalaman, yang boleh dicetuskan oleh pengguna yang memasukkan arahan semasa penggunaan Ia akan meringkaskan pengalaman dan pelajaran pengguna dalam sesi semasa, mengelakkan kesilapan berulang dalam sesi seterusnya dan mencapai pemperibadian sebenar. Dari segi keselamatan, TaskWeaver juga direka bentuk dengan teliti Sebagai contoh, pengguna boleh menentukan senarai putih modul Python Jika modul rujukan kod yang dihasilkan di luar senarai putih, ralat akan dicetuskan, dengan itu mengurangkan risiko keselamatan.
Proses khusus TaskWeaver
Rajah 3 menunjukkan kepada kita sebahagian daripada proses TaskWeaver menyelesaikan tugasan sampel yang disebutkan di atas.
Pertama, perancang menerima input daripada pengguna dan menjana pelan khusus berdasarkan penerangan fungsi setiap modul dan contoh perancangan. Pelan ini mengandungi empat subtugas, yang pertama adalah untuk mengekstrak data daripada pangkalan data dan menerangkan skema data.
Penjana kod kemudian menjana sekeping kod berdasarkan perihalan keupayaannya dan takrifan semua pemalam yang berkaitan. Kod ini memanggil pemalam sql_pull_data untuk menyimpan data ke dalam DataFrame dan memberikan penerangan tentang skema data.
Akhir sekali, kod yang dijana akan dihantar kepada pelaksana kod untuk pelaksanaan, dan keputusan yang lengkap akan dihantar kepada perancang untuk mengemas kini pelan atau meneruskan ke subtugas seterusnya. Keputusan pelaksanaan dalam rajah menunjukkan terdapat dua lajur dalam DataFrame iaitu tarikh dan nilai. Perancang boleh mengesahkan lagi dengan pengguna sama ada lajur ini betul atau terus ke langkah seterusnya untuk memanggil pemalam anomaly_detection.
Rajah 3. Aliran kerja dalaman TaskWeaver
Bagaimana untuk menyuntik pengetahuan domain ke dalam TaskWeaver?
Dalam aplikasi model besar, tujuan utama menyepadukan pengetahuan khusus domain adalah untuk meningkatkan prestasi generalisasi LLM dalam penyesuaian industri. TaskWeaver menyediakan tiga kaedah menyuntik pengetahuan domain ke dalam model:
-
Penyesuaian menggunakan pemalam: Pengguna boleh menyepadukan pengetahuan domain dalam bentuk pemalam tersuai. Pemalam boleh datang dalam pelbagai bentuk, seperti memanggil API, mengambil data daripada pangkalan data tertentu atau menjalankan algoritma atau model pembelajaran mesin tertentu. Penyesuaian pemalam adalah agak mudah Anda hanya perlu memberikan maklumat asas tentang pemalam (termasuk nama pemalam, penerangan fungsi, parameter input dan nilai pulangan) dan pelaksanaan Python.
-
Sesuaikan menggunakan contoh: TaskWeaver juga menyediakan pengguna dengan antara muka yang sistematik (dalam format YAML) untuk mengkonfigurasi contoh untuk mengajar LLM cara bertindak balas kepada permintaan pengguna. Secara khusus, contoh boleh dibahagikan kepada dua jenis, digunakan untuk perancangan dalam perancang dan pengaturcaraan kod dalam penjana kod.
- Penjimatan Pengalaman: TaskWeaver menyokong pengguna untuk meringkaskan dan menyimpan proses sesi semasa sebagai ingatan jangka panjang. Pengguna boleh "mengajar" TaskWeaver pengetahuan domain mereka sebagai perbualan dan kemudian menyimpan perbualan sebagai pengalaman. Dalam proses penggunaan seterusnya, anda boleh memuatkan pengalaman secara dinamik untuk menyelesaikan masalah bidang profesional dengan lebih baik.
Bagaimana untuk menggunakan TaskWeaver?
Kod lengkap TaskWeaver kini menjadi sumber terbuka di GitHub. Pada masa ini, tiga penyelesaian disokong untuk digunakan, iaitu permulaan baris arahan, perkhidmatan web dan import dalam bentuk perpustakaan Python. Selepas pemasangan mudah, pengguna hanya perlu mengkonfigurasi beberapa parameter utama, seperti alamat API LLM, kunci dan nama model, untuk memulakan perkhidmatan TaskWeaver dengan mudah.
Rajah 4. Antara muka permulaan baris arahan
Rajah 5. Contoh menjalankan TaskWeaver
TaskWeaver ialah penyelesaian rangka kerja Ejen baharu yang direka untuk memenuhi keperluan analisis data dan senario penyesuaian industri. Dengan menukar bahasa pengguna kepada bahasa pengaturcaraan, "bercakap dengan data" tidak lagi menjadi mimpi, tetapi menjadi kenyataan.
Atas ialah kandungan terperinci TaskWeaver: rangka kerja sumber terbuka yang memudahkan analisis data dan penyesuaian industri untuk membina penyelesaian Agen yang cemerlang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



DDREASE ialah alat untuk memulihkan data daripada fail atau peranti sekat seperti cakera keras, SSD, cakera RAM, CD, DVD dan peranti storan USB. Ia menyalin data dari satu peranti blok ke peranti lain, meninggalkan blok data yang rosak dan hanya memindahkan blok data yang baik. ddreasue ialah alat pemulihan yang berkuasa yang automatik sepenuhnya kerana ia tidak memerlukan sebarang gangguan semasa operasi pemulihan. Selain itu, terima kasih kepada fail peta ddasue, ia boleh dihentikan dan disambung semula pada bila-bila masa. Ciri-ciri utama lain DDREASE adalah seperti berikut: Ia tidak menimpa data yang dipulihkan tetapi mengisi jurang sekiranya pemulihan berulang. Walau bagaimanapun, ia boleh dipotong jika alat itu diarahkan untuk melakukannya secara eksplisit. Pulihkan data daripada berbilang fail atau blok kepada satu

0. Apakah fungsi artikel ini? Kami mencadangkan DepthFM: model anggaran kedalaman monokular generatif yang serba boleh dan pantas. Sebagai tambahan kepada tugas anggaran kedalaman tradisional, DepthFM juga menunjukkan keupayaan terkini dalam tugas hiliran seperti mengecat kedalaman. DepthFM cekap dan boleh mensintesis peta kedalaman dalam beberapa langkah inferens. Mari kita baca karya ini bersama-sama ~ 1. Tajuk maklumat kertas: DepthFM: FastMonocularDepthEstimationwithFlowMatching Pengarang: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Prestasi JAX, yang dipromosikan oleh Google, telah mengatasi Pytorch dan TensorFlow dalam ujian penanda aras baru-baru ini, menduduki tempat pertama dalam 7 penunjuk. Dan ujian tidak dilakukan pada TPU dengan prestasi JAX terbaik. Walaupun dalam kalangan pembangun, Pytorch masih lebih popular daripada Tensorflow. Tetapi pada masa hadapan, mungkin lebih banyak model besar akan dilatih dan dijalankan berdasarkan platform JAX. Model Baru-baru ini, pasukan Keras menanda aras tiga hujung belakang (TensorFlow, JAX, PyTorch) dengan pelaksanaan PyTorch asli dan Keras2 dengan TensorFlow. Pertama, mereka memilih satu set arus perdana

Menghadapi ketinggalan, sambungan data mudah alih perlahan pada iPhone? Biasanya, kekuatan internet selular pada telefon anda bergantung pada beberapa faktor seperti rantau, jenis rangkaian selular, jenis perayauan, dsb. Terdapat beberapa perkara yang boleh anda lakukan untuk mendapatkan sambungan Internet selular yang lebih pantas dan boleh dipercayai. Betulkan 1 – Paksa Mulakan Semula iPhone Kadangkala, paksa memulakan semula peranti anda hanya menetapkan semula banyak perkara, termasuk sambungan selular. Langkah 1 – Hanya tekan kekunci naikkan kelantangan sekali dan lepaskan. Seterusnya, tekan kekunci Turun Kelantangan dan lepaskannya semula. Langkah 2 - Bahagian seterusnya proses adalah untuk menahan butang di sebelah kanan. Biarkan iPhone selesai dimulakan semula. Dayakan data selular dan semak kelajuan rangkaian. Semak semula Betulkan 2 – Tukar mod data Walaupun 5G menawarkan kelajuan rangkaian yang lebih baik, ia berfungsi lebih baik apabila isyarat lemah

Boston Dynamics Atlas secara rasmi memasuki era robot elektrik! Semalam, Atlas hidraulik hanya "menangis" menarik diri daripada peringkat sejarah Hari ini, Boston Dynamics mengumumkan bahawa Atlas elektrik sedang berfungsi. Nampaknya dalam bidang robot humanoid komersial, Boston Dynamics berazam untuk bersaing dengan Tesla. Selepas video baharu itu dikeluarkan, ia telah pun ditonton oleh lebih sejuta orang dalam masa sepuluh jam sahaja. Orang lama pergi dan peranan baru muncul. Ini adalah keperluan sejarah. Tidak dinafikan bahawa tahun ini adalah tahun letupan robot humanoid. Netizen mengulas: Kemajuan robot telah menjadikan majlis pembukaan tahun ini kelihatan seperti manusia, dan tahap kebebasan adalah jauh lebih besar daripada manusia Tetapi adakah ini benar-benar bukan filem seram? Pada permulaan video, Atlas berbaring dengan tenang di atas tanah, seolah-olah terlentang. Apa yang berikut adalah rahang-jatuh

Saya menangis hingga mati. Dunia sedang membina model besar. Data di Internet tidak mencukupi. Model latihan kelihatan seperti "The Hunger Games", dan penyelidik AI di seluruh dunia bimbang tentang cara memberi makan data ini kepada pemakan yang rakus. Masalah ini amat ketara dalam tugas berbilang modal. Pada masa mereka mengalami kerugian, pasukan pemula dari Jabatan Universiti Renmin China menggunakan model baharu mereka sendiri untuk menjadi yang pertama di China untuk menjadikan "suapan data yang dijana model itu sendiri" menjadi kenyataan. Selain itu, ia merupakan pendekatan serampang dua mata dari segi pemahaman dan sisi penjanaan Kedua-dua pihak boleh menjana data baharu berbilang modal yang berkualiti tinggi dan memberikan maklum balas data kepada model itu sendiri. Apakah model? Awaker 1.0, model berbilang modal besar yang baru sahaja muncul di Forum Zhongguancun. Siapa pasukan itu? Enjin Sophon. Diasaskan oleh Gao Yizhao, pelajar kedoktoran di Sekolah Kecerdasan Buatan Hillhouse Universiti Renmin.

Apa? Adakah Zootopia dibawa menjadi realiti oleh AI domestik? Didedahkan bersama-sama dengan video itu ialah model penjanaan video domestik berskala besar baharu yang dipanggil "Keling". Sora menggunakan laluan teknikal yang serupa dan menggabungkan beberapa inovasi teknologi yang dibangunkan sendiri untuk menghasilkan video yang bukan sahaja mempunyai pergerakan yang besar dan munasabah, tetapi juga mensimulasikan ciri-ciri dunia fizikal dan mempunyai keupayaan gabungan konsep dan imaginasi yang kuat. Mengikut data, Keling menyokong penjanaan video ultra panjang sehingga 2 minit pada 30fps, dengan resolusi sehingga 1080p dan menyokong berbilang nisbah aspek. Satu lagi perkara penting ialah Keling bukanlah demo atau demonstrasi hasil video yang dikeluarkan oleh makmal, tetapi aplikasi peringkat produk yang dilancarkan oleh Kuaishou, pemain terkemuka dalam bidang video pendek. Selain itu, tumpuan utama adalah untuk menjadi pragmatik, bukan untuk menulis cek kosong, dan pergi ke dalam talian sebaik sahaja ia dikeluarkan Model besar Ke Ling telah pun dikeluarkan di Kuaiying.

Video terbaru robot Tesla Optimus dikeluarkan, dan ia sudah boleh berfungsi di kilang. Pada kelajuan biasa, ia mengisih bateri (bateri 4680 Tesla) seperti ini: Pegawai itu juga mengeluarkan rupanya pada kelajuan 20x - pada "stesen kerja" kecil, memilih dan memilih dan memilih: Kali ini ia dikeluarkan Salah satu sorotan video itu ialah Optimus menyelesaikan kerja ini di kilang, sepenuhnya secara autonomi, tanpa campur tangan manusia sepanjang proses. Dan dari perspektif Optimus, ia juga boleh mengambil dan meletakkan bateri yang bengkok, memfokuskan pada pembetulan ralat automatik: Berkenaan tangan Optimus, saintis NVIDIA Jim Fan memberikan penilaian yang tinggi: Tangan Optimus adalah robot lima jari di dunia paling cerdik. Tangannya bukan sahaja boleh disentuh
