Tired of paying for OPENAI, PINECONE, GOOGLESEARCH APIs to try out the latest developments in the AI field? Perfect, this is the repository for you! 🎁
For any problem open an ISSUE 🚬, the project is very simple so any help is welcome💸.
Are you bored reading😴? Do you want to try our project now⏳? Open the notebook on Colab everything is ready!
RUN NOW ON COLAB😮
By the way, thank you so much for and all the support!!
Hello everyone 🥰 ,
I wanted to start by talking about how important it is to democratize AI. Unfortunately, most new applications or discoveries in this field end up enriching some big companies, leaving behind small businesses or simple projects. One striking example of this is Autogpt, an autonomous AI agent capable of performing tasks.
Autogpt and similar projects like BabyAGI only work with paid APIs, which is not fair. That's why I tried to recreate a simpler but very interesting and, above all, open-source version of Autogpt that does not require any API and does not need any particular hardware.
I believe that by providing free and open-source AI tools, we can give small businesses and individuals the opportunity to create new and innovative projects without the need for significant financial investment. This will allow for more equitable and diverse access to AI technology, which is essential for advancing society as a whole.
- HUGGINGFACE TOKEN : Visit this simple official guide
- (OPTIONAL BUT BETTER RESULT) CHATGPT🖥 :
- Go to https://chat.openai.com/chat and open the developer tools by
F12
. - Find the
__Secure-next-auth.session-token
cookie inApplication
>Storage
>Cookies
>https://chat.openai.com
. - Copy the value in the
Cookie Value
field in.env
file. - If you have Plus subscription you can use GPT4. Edit in
.env
file this line :USE_GPT4 = True
- Go to https://chat.openai.com/chat and open the developer tools by
- (OPTIONAL) Google Bard🖥 :
- Go toGo to https://bard.google.com/ and open the developer tools by
F12
. - Find the
__Secure-1PSID
cookie inApplication
>Storage
>Cookies
- Copy the value in the
Cookie Value
field in.env
file.
- Go toGo to https://bard.google.com/ and open the developer tools by
- (OPTIONAL) Bing CHAT👨💻 :
Open the file called `.env` . If you dont see the file, open your file manger and check for **`Show hidden file`** .
Now add you Cookie and Token in .env
file .
Local using with Dev Container in VSCode by @FlamingFury00🚀
Local using with Dev Container in VSCode by @FlamingFury00🚀
🚀Added the possibility to use Docker image using Dev Container in VSCode. How to run it :
- Install Docker Desktop
- Install Visual Studio Code
- Open Visual Studio and go to Extensions -> search for Dev Container -> install it
- Restart Visual Studio
- Go to the project folder, right click and "Open in Visual Studio Code"
- It will ask you to reopen in a Docker Container
- Click "Reopen" and wait for it to be complete (you need to have Docker Desktop opened)
RUN NOW ON COLAB😮
Or use Locally :
- Dowload the repository FREE AUTOGPT REPOSITORY
- install using Dev Container in VSCode or
python3 -m pip install -r requirements.txt
- insert the .env file yours Token
- if you dont see the .env file check "Show hidden file" in your file manger
- Usage: python BABYAGI.py
BAbyAGI.mp4
RUN NOW ON COLAB😮
Or use Locally :
- Dowload the repository FREE AUTOGPT REPOSITORY
- install using Dev Container in VSCode or
python3 -m pip install -r requirements.txt
- insert the .env file yours Token
- if you dont see the .env file check "Show hidden file" in your file manger
- Usage: python AUTOGPT.py
AUTOGPT.mp4
RUN NOW ON COLAB😮
Or use Locally :
- Dowload the repository FREE AUTOGPT REPOSITORY
- install using Dev Container in VSCode or
python3 -m pip install -r requirements.txt
- cd OtherAgent/
- Choose or develop your agent [ csvAgent.py ; pythonAgent.py ; customAgent.py ]
- Usage: python YourAgent.py
CustomAgent.mp4
RUN NOW ON COLAB😮
Or use Locally :
- Dowload the repository FREE AUTOGPT REPOSITORY
python3 -m pip install -r requirements.txt
streamlit run Camel.py
Camel.mp4
To create an open-source version of Autogpt that does not require paid APIs or specific hardware, we performed a reverse engineering process on ChatGPT, a language model developed by OpenAI. By doing so, we were able to use the agents and new technologies of langchain for free.
We then created a custom LLM wrapper with langchain, which can be used as a plug-and-play solution with any langchain function or tool 💡.
from FreeLLM import ChatGPTAPI
# Instantiate a ChatGPT object with your token
llm = ChatGPTAPI.ChatGPT((token="YOURTOKEN") #for start new chat
# If you have a Plus subscription , you can use GPT4 model
llm = ChatGPTAPI.ChatGPT((token="YOURTOKEN", model="gpt4") # REQUIRED CHATGPT PLUS subscription
# or if if u would to start from an existing chat
# llm = ChatGPTAPI.ChatGPT(token = "YOUR-TOKEN", conversation = "Add-XXXX-XXXX-Convesation-ID")
# Generate a response based on the given prompt
response = llm("Hello, how are you?")
# Print the response
print(response)
The code snippet provided above shows how to use our custom ChatGPT LLM class to interact with the language model. It requires a token from the ChatGPT API, which can be obtained from https://chat.openai.com/api/auth/session.
Please note that there is a limit of 50 requests per hour for each account on the ChatGPT API 💣. Therefore, we implemented a call counter in our ChatGPT class to prevent exceeding this limit.
from FreeLLM import HuggingChatAPI
# Instantiate a ChatGPT object with your token
llm = HuggingChatAPI.HuggingChat() #for start new chat
# Generate a response based on the given prompt
response = llm("Hello, how are you?")
# Print the response
print(response)
from FreeLLM import BingChatAPI
# Instantiate a Bing CHAT object with your cookie path
llm=BingChatAPI.BingChat(cookiepath="cookie_path") #for start new chat
# if you want set the type of conversation style
#llm=BingChatAPI.BingChat(cookiepath=cookie_path, conversation_style="creative") #conversation_style must be precise, creative or balanced
# if you want set Microsoft Bing internet Access
#llm = =BingChatAPI.BingChat(cookiepath = "YOUR-COOKIE" , conversation_style = "precise" , search_result=True) #with web access
# Generate a response based on the given prompt
response = llm("Hello, how are you?")
# Print the response
print(response)
from FreeLLM import BardChatAPI
# Instantiate a Bard CHAT object with your cookie path
llm=BardChatAPI.BardChat(cookie="cookie") #for start new chat
# Generate a response based on the given prompt
response = llm("Hello, how are you?")
# Print the response
print(response)
We believe that our open-source version of Autogpt will promote equitable and diverse access to AI technology and empower individuals and small businesses to create innovative AI projects without significant financial investment.
This is an example of CUSTOM agent, in less of 60 line of code and totally for free, with:
- Internet access
- Python code execution
- Wikipedia knowledge
from langchain.agents import initialize_agent #use for create new agent
from langchain.agents import Tool
from langchain.tools import BaseTool, DuckDuckGoSearchRun
from langchain.utilities import PythonREPL #tool for execute python script
from langchain.utilities import WikipediaAPIWrapper #tool get wiki info
from langchain.tools import DuckDuckGoSearchTool #tool get interet live info (langchain==0.0.150)
from FreeLLM import ChatGPTAPI # FREE CHATGPT API
#or
from FreeLLM import HuggingChatAPI
from FreeLLM import BingChatAPI
from FreeLLM import BardChatAPI
# Instantiate a ChatGPT object with your token
llm = ChatGPTAPI.ChatGPT((token="YOURTOKEN")
# or use Bing CHAT
# llm = BingChatAPI.BingChat(cookiepath="cookie_path")
# or use Google BArd CHAT
# llm=BardChatAPI.BardChat(cookie="cookie")
# or use HuggingChatAPI if u dont have CHATGPT, BING or Google account
# llm = HuggingChatAPI.HuggingChat()
# Define the tools
wikipedia = WikipediaAPIWrapper()
python_repl = PythonREPL()
search = DuckDuckGoSearchTool()
tools = [
Tool(
name = "python repl",
func=python_repl.run,
description="useful for when you need to use python to answer a question. You should input python code"
)
]
wikipedia_tool = Tool(
name='wikipedia',
func= wikipedia.run,
description="Useful for when you need to look up a topic, country or person on wikipedia"
)
duckduckgo_tool = Tool(
name='DuckDuckGo Search',
func= search.run,
description="Useful for when you need to do a search on the internet to find information that another tool can't find. be specific with your input."
)
tools.append(duckduckgo_tool)
tools.append(wikipedia_tool)
#Create the Agent
iteration = (int(input("Enter the number of iterations: ")) if input("Do you want to set the number of iterations? (y/n): ") == "y" else 3)
zero_shot_agent = initialize_agent(
agent="zero-shot-react-description",
tools=tools,
llm=llm,
verbose=True,
max_iterations=iteration,
)
# Start your Custom Agent in loop
print(">> STRAT CUSTOM AGENT")
print("> Digit 'exit' for exit or 'your task or question' for start\n\n")
prompt = input("(Enter your task or question) >> ")
while prompt.toLowerCase() != "exit":
zero_shot_agent.run(prompt)
prompt = input("(Enter your task or question) >> ")
# SO ESASY :)
By the way, thank you so much for and all the support!!
- Create free LLM langchain wrapper based on Reverse Engineered ChatGPT API by OpenAI
- Create free LLM langchain wrapper based on Reverse Engineered HUGGING CHAT API by HuggingFace
- Create free LLM langchain wrapper based on Reverse Engineered Bing CHAT API by Microsoft
- Create free LLM langchain wrapper based on Reverse Engineered Bard CHAT API by Google
- Find a way to replace OpenAIEmbeddings() using HuggingFace Embeddings infeence API
- Create a simple versione of CAMEL based on Camel theory
- Create a simple version of BABYAGI based on Baby AGI
- Add web search Tool
- Add file writer Tool
- Add Wikipedia Tool
- Add QA web page Tool
- Finally AUTOGPT without paids API
- Make a Colab Notebook for make this repository accessible to anyone
- Local using with Dev Container in VSCode by @FlamingFury00
- Add other free Custom LLM wrapper Add this
- Add long term memory
- Find a way to replace PINECONE api
- Find a way to replace official Google API
This repository is not associated with or endorsed by providers of the APIs contained in this GitHub repository. This project is intended for educational purposes only. This is just a personal project. Please note the following:
-
Disclaimer: The APIs, services, and trademarks mentioned in this repository belong to their respective owners. This project is not claiming any right over them nor is it affiliated with or endorsed by any of the providers mentioned.
-
Responsibility: The author of this repository is not responsible for any consequences, damages, or losses arising from the use or misuse of this repository or the content provided by the third-party APIs. Users are solely responsible for their actions and any repercussions that may follow. We strongly recommend the users to follow the TOS of the each Website.
-
Educational Purposes Only: This repository and its content are provided strictly for educational purposes. By using the information and code provided, users acknowledge that they are using the APIs and models at their own risk and agree to comply with any applicable laws and regulations.
-
Indemnification: Users agree to indemnify, defend, and hold harmless the author of this repository from and against any and all claims, liabilities, damages, losses, or expenses, including legal fees and costs, arising out of or in any way connected with their use or misuse of this repository, its content, or related third-party APIs.
-
Updates and Changes: The author reserves the right to modify, update, or remove any content, information, or features in this repository at any time without prior notice. Users are responsible for regularly reviewing the content and any changes made to this repository.
By using this repository or any code related to it, you agree to these terms. The author is not responsible for any copies, forks, or reuploads made by other users. This is the author's only account and repository. To prevent impersonation or irresponsible actions, you may comply with the MIT license this Repository uses.