forked from daveshap/RavenAGI
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
151 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,15 @@ | ||
# Contribute | ||
|
||
Coming soon: | ||
## Join the discussion | ||
|
||
- Microservices documentation and guide | ||
- Tutorial videos | ||
You can join the conversation over on Reddit: (https://www.reddit.com/r/RavenAGI/)[https://www.reddit.com/r/RavenAGI/] | ||
|
||
## Contribute code and microservices | ||
|
||
You can submit pull requests to the GitHub repo: (https://github.com/daveshap/Raven_MVP)[https://github.com/daveshap/Raven_MVP] | ||
|
||
You could also fork this repo and do your own experiments! | ||
|
||
## Spread the word! | ||
|
||
Raven is a new project. We need visibility! Please spread the word on social media. We'll be posting regular updates on YouTube as well as this website. You can check out the YouTube channel here: (https://www.youtube.com/channel/UCvKRFNawVcuz4b9ihUTApCg)[https://www.youtube.com/channel/UCvKRFNawVcuz4b9ihUTApCg] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Frequently Asked Questions | ||
|
||
## Is Raven really an AGI? | ||
|
||
Raven is capable of addressing any problem, from what you should have for lunch up to climate change, while providing reasoning and explanations. Raven is therefore a general purpose tool capable of intelligent reasoning. It's true that Raven has plenty of limitations today. With additional microserivces and better cognitive engines, Raven will become more intelligent over time. | ||
|
||
At present, Raven relies on GPT-3, which was trained on over 400GB of text data. The average person reads about 5,000 books worth of text in their life with an average of 90,000 words each. That is 450 million words read per human life. That amount of text data amounts to roughly 2.7GB. That means that GPT-3 has read roughly 148 lifetimes worth of text data. This confers a tremendous amount of wisdom and human experience. This does not mean that Raven is super-intelligent yet. | ||
|
||
## How do we know Raven is safe? | ||
|
||
Raven must adhere to the three Core Objective Functions: reduce suffering, increase prosperity, and increase understanding. Individually, these Functions can lead to dark places. However, Raven must satisfy all three Functions with every action or decision. Furthermore, Raven "thinks" in natural language, therefore anyone can read Raven's thoughts. All of Raven's thoughts are compiled in the nexus service and stored in the recall service. This means that Raven is intrinsically explainable and transparent. | ||
|
||
## When can I use Raven? | ||
|
||
Right now, Raven is still in the demo/MVP (minimum viable product) phase. Ultimately, we want Raven to be accessible to everyone. That includes a Web interface, mobile app, and smarthome devices. The goal is for Raven to be accessible any time, anywhere simply by saying "Hey Raven, can you help me out?" Unfortunately we do not yet have a timeline or funding to make this a reality. For now, you will need a computer and access to the OpenAI Beta to use Raven. | ||
|
||
## Is Raven private and secure? | ||
|
||
Raven's recall service will allow Raven to remember you personally. Over time, Raven can learn more about you and integrate this knowledge seamlessly with your interactions. As an open-source project, you will always have ownership of your data. Once we have a mobile app, we intend for your data to be stored locally on your mobile device so that you can delete it any time, or sync it up between devices and the cloud. | ||
|
||
## What can Raven do? | ||
|
||
At present, Raven can only input and output text. In the future, Raven will be able to listen and speak. Eventually, we hope that Raven will be able to assist you directly in your life through automation. | ||
|
||
## How long did it take to make Raven? | ||
|
||
David Shapiro began work on what would become Raven back in 2009 and 2010. David's original research was on what we now call *deep learning*. As deep learning research advanced, David's ideas for Raven advanced. He came up with the concept of the nexus in 2018 and the Core Objective Functions in 2020. With the advent of GPT-2 and GPT-3, Raven has become realized. | ||
|
||
## Can I participate in research and development? | ||
|
||
Yes! Please get involved. The best way is to learn how Raven works and start contributing microservices and code enhancements. Eventually, we will need other kinds of support, such as mobile app development. Check out the **Roadmap** page as well as the **Get Involved** page for more details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Microservices | ||
|
||
## What is a microservice? | ||
|
||
A microservice is a standalone component of a larger application. It's like an interchangeable part. It allows for segmented and iterative development of a large application. The biggest tech companies you're familiar with all use a microservices architecture. Microservices allow for smaller teams of experts to work on their part of the larger application without worrying about breaking everything else. This makes programming easier, safer, and more accessible. | ||
|
||
## How do I design a microservice? | ||
|
||
Microservices have three primary components: input, processing, and output. Raven microservices look for messages in the nexus and then use those messages to perform some kind of processing. In many cases, they feed the input from the messages into a *prompt* that is then fed to a cognitive engine, such as GPT-3, to provide some kind of output. The output is then sent back to the nexus. Put another way: | ||
|
||
1. Input | ||
2. Processing | ||
3. Output | ||
|
||
Some microservices interact with the outside world. For instance you might have a speech-to-text service that allows Raven to listen to the real world. You might also have a text-to-speech service that allows Raven to speak. Then you might have another service that searches Wikipedia for additional information to add to the nexus. The sky is the limit! If you need ideas, please check out the **Architecture** and **Roadmap** pages. | ||
|
||
## Microservice Best Practices | ||
|
||
Here are a few guiding principles to follow: | ||
|
||
1. Microservices should do only one thing (hence *micro*). | ||
2. Microservices should only query the nexus for what they need, instead of pulling everything. This will save on bandwidth and processing time. | ||
3. Microservices should be responsible for remembering what they have and have not seen. | ||
4. Microservices must keep track of the messages to which they are responding as well as their original context. | ||
5. Microservices for the MVP should start with `svc_` in the name. | ||
6. If a microservice needs a prompt, it should have its own dedicated prompt. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters