You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
EVAL/README.md

104 lines
2.9 KiB
Markdown

# EVAL
> **EVAL(Elastic Versatile Agent with Langchain) will execute all your requests. Like the eval method!**
You don't have to think about how. If you tell them the results you want, they'll search, code, run, and test the Internet themselves, and they'll return the final results.
### EVAL's FEATURE
1. It can **understand** and **generate** data formats for text, image, dataframe, audio (TODO), video (TODO).
2. It can **create tools** that it can use by writing and modifying code.
3. It can **evolve** itself by executing and testing its code.
### BUILT-IN TOOLS
1. Search
- Google, Bing, Wikipedia
- Custom DB Search (Currently using Corca's Wine Data in https://www.workershop.kr/en)
- Use GPT index to quickly find the information you need in a document and use that information to answer
- Requests.get (Get information from anywhere you want)
2. Terminal
3. Python REPL
4. Image Understanding, Generation, Editing
- Image Understanding
- Image Understanding: blip-image-captioning
- Visual Question&Answering: blip-vqa
- Image Generation: Stable Diffusion 1.5
- Image Editing
- Replace or remove an object: Stable Diffusion Inpainting
- Change Image's style: InstructPix2Pix
Thanks to [LangChain](https://github.com/hwchase17/langchain), [Visual ChatGPT](https://github.com/microsoft/visual-chatgpt), [llama index](https://github.com/jerryjliu/llama_index).
### CUSTOM TOOLS
We also don't know what tools EVAL will create. Every day, It will create the right tools to execute your request.
---
## Usage
1. S3 Settings
2. environments settings
3. `docker-compose up -d`
### S3
1. Create a bucket.
2. Turn off the "Block all public access" setting for the bucket. ![image](assets/block_public_access.png)
3. Add the following text to Bucket Policy.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::{your-bucket-name}/*"
}
]
}
```
### Environment
These environmental variables are essential, so please set them.
```
BOT_NAME: your custom bot name
OPENAI_API_KEY: openai api key
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
AWS_S3_BUCKET
```
These environment variables are necessary to use the following tools:
If you want to use it, set it up, and if you don't need it, you don't have to set it up.
```
SERPAPI_API_KEY: need to append google search tool
BING_SEARCH_URL, BING_SUBSCRIPTION_KEY: need to append bing search tool
```
## TODO
- [ ] memory saving
- [ ] session manage
- [ ] convert to alpaca
- [ ] prompt upgrade
- [ ] give a tool to create tools
- [ ] etc.
## Reference
Thanks to the following repositories.
- https://github.com/hwchase17/langchain
- https://github.com/microsoft/visual-chatgpt
- https://github.com/jerryjliu/llama_index