TRaw commited on
Commit
1a8dac6
ยท
1 Parent(s): 3d3d712

Delete README.md

Browse files
Files changed (1) hide show
  1. README.md +0 -162
README.md DELETED
@@ -1,162 +0,0 @@
1
- <h1 align="center">
2
- <img src="./.asset/logo.color.svg" width="45" /> TaskWeaver
3
- </h1>
4
-
5
- A **code-first** agent framework for seamlessly planning and executing data analytics tasks.
6
- This innovative framework interprets user requests through coded snippets and efficiently
7
- coordinates a variety of plugins in the form of functions to execute
8
- data analytics tasks.
9
-
10
- # News๐Ÿ†•
11
- - ๐Ÿ“…2024-01-01: Happy New Year ๐ŸŽ† with TaskWeaver [Discord](https://discord.gg/Z56MXmZgMb).
12
- - ๐Ÿ“…2023-12-21: TaskWeaver now supports a number of LLMs, such as LiteLLM, Ollama, Gemini, and QWen๐ŸŽˆ.
13
- - ๐Ÿ“…2023-12-21: TaskWeaver Website is now [available](https://microsoft.github.io/TaskWeaver/) with more documentations.
14
- - ๐Ÿ“…2023-12-12: A simple UI demo is available in playground/UI folder, try it [here](https://microsoft.github.io/TaskWeaver/docs/usage/webui)!
15
- <!-- - [2023-11-30] TaskWeaver is released on GitHub๐ŸŽˆ. -->
16
-
17
-
18
- ## Highlights
19
-
20
- - [x] **Rich data structure** - TaskWeaver allows you to work with rich data structures in Python, such as DataFrames, instead of dealing with strings.
21
- - [x] **Customized algorithms** - TaskWeaver allows you to encapsulate your own algorithms into plugins and orchestrate them.
22
- - [x] **Incorporating domain-specific knowledge** - TaskWeaver is designed to incorporat domain-specific knowledge easily to improve the reliability.
23
- - [x] **Stateful execution** - TaskWeaver is designed to support stateful execution of the generated code to ensure consistent and smooth user experience.
24
- - [x] **Code verification** - TaskWeaver is designed to verify the generated code before execution. It can detect potential issues in the generated code and provide suggestions to fix them.
25
- - [x] **Easy to use** - TaskWeaver is easy to use with sample plugins, examples and tutorials to help you get started. TaskWeaver offers an open-box experience, allowing users to run it immediately after installation.
26
- - [x] **Easy to debug** - TaskWeaver is easy to debug with detailed and transparent logs to help you understand the entire process, including LLM prompts, the code generation, and execution process.
27
- - [x] **Security consideration** - TaskWeaver supports a basic session management to keep different users' data separate. The code execution is separated into different processes to avoid mutal interference.
28
- - [x] **Easy extension** - TaskWeaver is easy to extend to accomplish more complex tasks with multiple agents as the plugins.
29
-
30
- ## Quick Start
31
-
32
- ### Installation
33
- TaskWeaver requires **Python >= 3.10**. It can be installed by running the following command:
34
- ```bash
35
- # [optional to create conda environment]
36
- # conda create -n taskweaver python=3.10
37
- # conda activate taskweaver
38
-
39
- # clone the repository
40
- git clone https://github.com/microsoft/TaskWeaver.git
41
- cd TaskWeaver
42
- # install the requirements
43
- pip install -r requirements.txt
44
- ```
45
-
46
-
47
- ### Configure the LLMs
48
- Before running TaskWeaver, you need to provide your LLM configurations. Taking OpenAI as an example, you can configure `taskweaver_config.json` file as follows.
49
-
50
- #### OpenAI
51
- ```json
52
- {
53
- "llm.api_key": "the api key",
54
- "llm.model": "the model name, e.g., gpt-4"
55
- }
56
- ```
57
-
58
- ๐Ÿ’ก TaskWeaver also supports other LLMs and advanced configurations, please check the [documents](https://microsoft.github.io/TaskWeaver/docs/overview) for more details.
59
-
60
- ### Start TaskWeaver
61
-
62
- #### 1. Command Line Interaction
63
- ```bash
64
- # assume you are in the cloned TaskWeaver folder
65
- python -m taskweaver -p ./project/
66
- ```
67
- This will start the TaskWeaver process and you can interact with it through the command line interface.
68
- If everything goes well, you will see the following prompt:
69
-
70
- ```
71
- =========================================================
72
- _____ _ _ __
73
- |_ _|_ _ ___| | _ | | / /__ ____ __ _____ _____
74
- | |/ _` / __| |/ /| | /| / / _ \/ __ `/ | / / _ \/ ___/
75
- | | (_| \__ \ < | |/ |/ / __/ /_/ /| |/ / __/ /
76
- |_|\__,_|___/_|\_\|__/|__/\___/\__,_/ |___/\___/_/
77
- =========================================================
78
- TaskWeaver: I am TaskWeaver, an AI assistant. To get started, could you please enter your request?
79
- Human: ___
80
- ```
81
-
82
- #### 2. Web UI
83
- TaskWeaver also supports WebUI for demo purpose, please refers to [web UI docs](https://microsoft.github.io/TaskWeaver/docs/usage/webui) for more details.
84
-
85
- #### 3. Import as a Library
86
- TaskWeaver can be imported as a library to integrate with your existing project, more information can be found in [docs](https://microsoft.github.io/TaskWeaver/docs/usage/library)
87
-
88
- ## Documentation
89
- More documentations can be found on [TaskWeaver Website](https://microsoft.github.io/TaskWeaver).
90
-
91
-
92
-
93
- ---
94
-
95
-
96
- ## Demo Examples
97
-
98
- The demos were made based on the [web UI](https://microsoft.github.io/TaskWeaver/docs/usage/webui), which is better for displaying the generated artifacts such as images.
99
- The demos could also be conducted in the command line interface.
100
-
101
- #### Example 1: Pull data from a database and apply an anomaly detection algorithm
102
- In this example, we will show you how to use TaskWeaver to pull data from a database and apply an anomaly detection algorithm.
103
-
104
- [Anomaly Detection](https://github.com/microsoft/TaskWeaver/assets/7489260/248b9a0c-d504-4708-8c2e-e004689ee8c6)
105
-
106
- If you want to follow this example, you need to configure the `sql_pull_data` plugin in the `project/plugins/sql_pull_data.yaml` file.
107
- You need to provide the following information:
108
- ```yaml
109
- api_type: azure or openai
110
- api_base: ...
111
- api_key: ...
112
- api_version: ...
113
- deployment_name: ...
114
- sqlite_db_path: sqlite:///../../../sample_data/anomaly_detection.db
115
- ```
116
- The `sql_pull_data` plugin is a plugin that pulls data from a database. It takes a natural language request as input and returns a DataFrame as output.
117
-
118
- This plugin is implemented based on [Langchain](https://www.langchain.com/).
119
- If you want to follow this example, you need to install the Langchain package:
120
- ```bash
121
- pip install langchain
122
- pip install tabulate
123
- ```
124
-
125
- #### Example 2: Forecast QQQ's price in the next 7 days
126
- In this example, we will show you how to use TaskWeaver to forecast QQQ's price in the next 7 days.
127
-
128
- [Nasdaq 100 Index Price Forecasting](https://github.com/microsoft/TaskWeaver/assets/7489260/1361ed83-16c3-4056-98fc-e0496ecab015)
129
-
130
- If you want to follow this example, you need to you have two requirements installed:
131
- ```bash
132
- pip install yfinance
133
- pip install statsmodels
134
- ```
135
-
136
- For more examples, please refer to our [paper](http://export.arxiv.org/abs/2311.17541).
137
-
138
- > ๐Ÿ’ก The planning of TaskWeaver are based on the LLM model. Therefore, if you want to repeat the examples, the execution process may be different
139
- > from what you see in the videos. For example, in the second demo, the assistant may ask the user which prediction algorithm should be used.
140
- > Typically, more concrete prompts will help the model to generate better plans and code.
141
-
142
-
143
- ## Citation
144
- Our paper could be found [here](http://export.arxiv.org/abs/2311.17541).
145
- If you use TaskWeaver in your research, please cite our paper:
146
- ```
147
- @article{taskweaver,
148
- title={TaskWeaver: A Code-First Agent Framework},
149
- 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},
150
- journal={arXiv preprint arXiv:2311.17541},
151
- year={2023}
152
- }
153
- ```
154
-
155
-
156
- ## Trademarks
157
-
158
- This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
159
- trademarks or logos is subject to and must follow
160
- [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
161
- Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
162
- Any use of third-party trademarks or logos are subject to those third-party's policies.