Go to file
ChungHwan Han 3ec0cc786c
Feature/better usability (#6)
* refactor: api, core

* feat: static uploader

* doc: update readme

* fix: mkdir static file

* doc: typo
2023-03-23 16:33:45 +09:00
api Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
assets refactor: handle file 2023-03-18 06:05:02 +00:00
core Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
static Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
.env.example Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
.gitignore Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
docker-compose.yml Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
Dockerfile Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
env.py Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
logger.py feat: code editor (#4) 2023-03-22 09:34:52 +09:00
poetry.lock fix: extract non-readable tags on http get tool (#1) 2023-03-19 15:17:36 +09:00
pyproject.toml Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
README.md Feature/better usability (#6) 2023-03-23 16:33:45 +09:00
utils.py feat: refactor bot name (#2) 2023-03-20 17:27:20 +09:00

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. Terminal
  2. Code Editor
    • READ: Read and understand file.
    • WRITE: Write code to create a new tool.
    • PATCH: Correct the error throught the code patch if an error occurs.
    • DELETE: Delete code in file for a new start.
  3. 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)
  4. Python REPL
  5. 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, Visual ChatGPT, 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. environments settings
  2. docker-compose up -d

Environment

You need to write some environment variables in the .env file. Refer .env.example if you don't know how to format it.

Mandatory

Manatory envs are required in order to serve EVAL.

  • OPENAI_API_KEY - OpenAI api key

Optional

Each optional env has default value, so you don't need to set unless you want to change it.

  • PORT - port (default: 8000)
  • SERVER - server address (default: http://localhost:8000)
  • LOG_LEVEL - INFO | DEBUG (default: INFO)
  • BOT_NAME - give it a name! (default: Orca)

For More Tools

Some tools requires environment variables. Set envs depend on which tools you want to use.

  • Google search tool
    • SERPAPI_API_KEY
  • Bing search tool
    • BING_SEARCH_URL
    • BING_SUBSCRIPTION_KEY

TODO

  • memory saving
  • session manage
  • convert to alpaca
  • prompt upgrade
  • give a tool to create tools
  • etc.

Reference

Thanks to the following repositories.