Skip to content

MRTxutxa/core

 
 

Repository files navigation


Cheshire-Cat (Stregatto)


GitHub Repo stars chat on Discord GitHub issues GitHub tag (with filter) GitHub top language
Logo

Customizable AI architecture

Try in GitHub Codespaces

What is this?

The Cheshire Cat is a framework to build custom AIs on top of any language model. If you ever used systems like WordPress or Django to build web apps, imagine the Cat as a similar tool, but specific for AI.

Why use the Cat:

  • 🌍 Language model agnostic (works with OpenAI, Cohere, HuggingFace models, custom)
  • 🐘 Long term memory
  • 🚀 Extensible via plugins
  • 🔧 Can use external tools (APIs, custom python code, other models)
  • 📄 Can ingest documents (.pdf, .txt, .md)
  • 🐋 100% dockerized
  • 👩‍👧‍👦 Active Discord community

If you want to know more about our vision and values, read the Code of Ethics. We are committed to openness, privacy and creativity, we want to bring AI to the long tail.

This project is growing fast, refactorings and code changes happens very often, join the Issues to help!

Docs and Resources

Quickstart

Install

To make Cheshire Cat run on your machine, you just need docker and docker-compose installed. Clone the repo:

git clone https://github.com/cheshire-cat-ai/core.git cheshire-cat

Enter the created folder:

cd cheshire-cat

After that you can run:

docker-compose up

NOTE: if you have a later version of docker-compose, use the command docker compose up (without the dash). REF.

The first time (only) it will take several minutes, as the images occupy a few GBs.

As a first thing, the Cat will ask you to configure your favourite language model. It can be done directly via the interface in the Settings page (top right in the admin).

Enjoy the Cat!

When you're done, remember to CTRL+c in the terminal and

docker-compose down

Update

From time to time it is a good idea to update the Cat:

docker-compose down
git pull origin main
docker-compose build --no-cache
docker-compose up

Running Tests

To run the tests within the Docker container, execute the following command:

docker exec cheshire_cat_core python -m pytest --color=yes .

If you are running the tests locally on your machine, use the following command:

python -m pytest --color=yes .

Try in GitHub Codespaces

You can try Cheshire Cat in GitHub Codespaces. The free account provides 60 free hours a month.

Try in GitHub Codespaces

Instructions

  • Right-click this link and select "open a new window." It will open a webpage titled "Create a new codespace":
  • You can ignore the options on the screen and press the green button "create codespace"
  • Wait for the codespace to load, and then type on the terminal "docker-compose up"
  • It will take a few minutes. When you read "Application startup complete," it will show three links: REST API, PUBLIC, and ADMIN.
  • Click on the ADMIN link to configure Cheshire Cat and start playing with it.
  • Have fun!
  • As soon as you're satisfied, you can press "CTRL C" on the terminal to stop the Cheshire Cat. Then type docker-compose down to close the docker container.

(back to top)

Roadmap

Detailed roadmap is here. Whilst for the current progress of development, take a look at the projects marked as open.

Contributing

Send your pull request to the develop branch. Here is a full guide to contributing.

To get started you can:

  • Trying out the Cat
  • Sharing on social media
  • Join our community on Discord
  • Give the project a star ⭐!

Thanks again!🙏

Credits

Logo image generated with MidJourney, prompted by Edgars Romanovskis

Which way to go?

(back to top)

Wikipedia picture of the Cheshire Cat

"Would you tell me, please, which way I ought to go from here?"
"That depends a good deal on where you want to get to," said the Cat.
"I don't much care where--" said Alice.
"Then it doesn't matter which way you go," said the Cat.

(Alice's Adventures in Wonderland - Lewis Carroll)

About

Open source and customizable AI architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%