forked from Significant-Gravitas/AutoGPT
-
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.
Refactor and Merge branch 'master' of https://github.com/Significant-…
…Gravitas/Auto-GPT into pr/96
- Loading branch information
Showing
127 changed files
with
7,341 additions
and
1,890 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster | ||
ARG VARIANT=3-bullseye | ||
FROM python:3.8 | ||
|
||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | ||
# Remove imagemagick due to https://security-tracker.debian.org/tracker/CVE-2019-10131 | ||
&& apt-get purge -y imagemagick imagemagick-6-common | ||
|
||
# Temporary: Upgrade python packages due to https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-40897 | ||
# They are installed by the base image (python) which does not have the patch. | ||
RUN python3 -m pip install --upgrade setuptools | ||
|
||
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. | ||
# COPY requirements.txt /tmp/pip-tmp/ | ||
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ | ||
# && rm -rf /tmp/pip-tmp | ||
|
||
# [Optional] Uncomment this section to install additional OS packages. | ||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ | ||
# && apt-get -y install --no-install-recommends <your-package-list-here> | ||
|
||
# [Optional] Uncomment this line to install global node packages. | ||
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1 |
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,39 @@ | ||
{ | ||
"build": { | ||
"dockerfile": "./Dockerfile", | ||
"context": "." | ||
}, | ||
"features": { | ||
"ghcr.io/devcontainers/features/common-utils:2": { | ||
"installZsh": "true", | ||
"username": "vscode", | ||
"userUid": "1000", | ||
"userGid": "1000", | ||
"upgradePackages": "true" | ||
}, | ||
"ghcr.io/devcontainers/features/python:1": "none", | ||
"ghcr.io/devcontainers/features/node:1": "none", | ||
"ghcr.io/devcontainers/features/git:1": { | ||
"version": "latest", | ||
"ppa": "false" | ||
} | ||
}, | ||
// Configure tool-specific properties. | ||
"customizations": { | ||
// Configure properties specific to VS Code. | ||
"vscode": { | ||
// Set *default* container specific settings.json values on container create. | ||
"settings": { | ||
"python.defaultInterpreterPath": "/usr/local/bin/python" | ||
} | ||
} | ||
}, | ||
// Use 'forwardPorts' to make a list of ports inside the container available locally. | ||
// "forwardPorts": [], | ||
|
||
// Use 'postCreateCommand' to run commands after the container is created. | ||
// "postCreateCommand": "pip3 install --user -r requirements.txt", | ||
|
||
// Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. | ||
"remoteUser": "vscode" | ||
} |
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,4 +1,134 @@ | ||
################################################################################ | ||
### AUTO-GPT - GENERAL SETTINGS | ||
################################################################################ | ||
# EXECUTE_LOCAL_COMMANDS - Allow local command execution (Example: False) | ||
EXECUTE_LOCAL_COMMANDS=False | ||
# BROWSE_CHUNK_MAX_LENGTH - When browsing website, define the length of chunk stored in memory | ||
BROWSE_CHUNK_MAX_LENGTH=8192 | ||
# BROWSE_SUMMARY_MAX_TOKEN - Define the maximum length of the summary generated by GPT agent when browsing website | ||
BROWSE_SUMMARY_MAX_TOKEN=300 | ||
# USER_AGENT - Define the user-agent used by the requests library to browse website (string) | ||
# USER_AGENT="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36" | ||
# AI_SETTINGS_FILE - Specifies which AI Settings file to use (defaults to ai_settings.yaml) | ||
AI_SETTINGS_FILE=ai_settings.yaml | ||
# USE_WEB_BROWSER - Sets the web-browser drivers to use with selenium (defaults to chrome). | ||
# Note: set this to either 'chrome', 'firefox', or 'safari' depending on your current browser | ||
# USE_WEB_BROWSER=chrome | ||
|
||
################################################################################ | ||
### LLM PROVIDER | ||
################################################################################ | ||
|
||
### OPENAI | ||
# OPENAI_API_KEY - OpenAI API Key (Example: my-openai-api-key) | ||
# TEMPERATURE - Sets temperature in OpenAI (Default: 1) | ||
# USE_AZURE - Use Azure OpenAI or not (Default: False) | ||
OPENAI_API_KEY=your-openai-api-key | ||
TEMPERATURE=0 | ||
USE_AZURE=False | ||
|
||
### AZURE | ||
# cleanup azure env as already moved to `azure.yaml.template` | ||
|
||
################################################################################ | ||
### LLM MODELS | ||
################################################################################ | ||
|
||
# SMART_LLM_MODEL - Smart language model (Default: gpt-4) | ||
# FAST_LLM_MODEL - Fast language model (Default: gpt-3.5-turbo) | ||
SMART_LLM_MODEL=gpt-4 | ||
FAST_LLM_MODEL=gpt-3.5-turbo | ||
|
||
### LLM MODEL SETTINGS | ||
# FAST_TOKEN_LIMIT - Fast token limit for OpenAI (Default: 4000) | ||
# SMART_TOKEN_LIMIT - Smart token limit for OpenAI (Default: 8000) | ||
# When using --gpt3only this needs to be set to 4000. | ||
FAST_TOKEN_LIMIT=4000 | ||
SMART_TOKEN_LIMIT=8000 | ||
|
||
################################################################################ | ||
### MEMORY | ||
################################################################################ | ||
|
||
# MEMORY_BACKEND - Memory backend type (Default: local) | ||
MEMORY_BACKEND=local | ||
|
||
### PINECONE | ||
# PINECONE_API_KEY - Pinecone API Key (Example: my-pinecone-api-key) | ||
# PINECONE_ENV - Pinecone environment (region) (Example: us-west-2) | ||
PINECONE_API_KEY=your-pinecone-api-key | ||
PINECONE_ENV=your-pinecone-region | ||
|
||
### REDIS | ||
# REDIS_HOST - Redis host (Default: localhost) | ||
# REDIS_PORT - Redis port (Default: 6379) | ||
# REDIS_PASSWORD - Redis password (Default: "") | ||
# WIPE_REDIS_ON_START - Wipes data / index on start (Default: False) | ||
# MEMORY_INDEX - Name of index created in Redis database (Default: auto-gpt) | ||
REDIS_HOST=localhost | ||
REDIS_PORT=6379 | ||
REDIS_PASSWORD= | ||
WIPE_REDIS_ON_START=False | ||
MEMORY_INDEX=auto-gpt | ||
|
||
### MILVUS | ||
# MILVUS_ADDR - Milvus remote address (e.g. localhost:19530) | ||
# MILVUS_COLLECTION - Milvus collection, | ||
# change it if you want to start a new memory and retain the old memory. | ||
MILVUS_ADDR=your-milvus-cluster-host-port | ||
MILVUS_COLLECTION=autogpt | ||
|
||
################################################################################ | ||
### IMAGE GENERATION PROVIDER | ||
################################################################################ | ||
|
||
### OPEN AI | ||
# IMAGE_PROVIDER - Image provider (Example: dalle) | ||
IMAGE_PROVIDER=dalle | ||
|
||
### HUGGINGFACE | ||
# STABLE DIFFUSION | ||
# (Default URL: https://api-inference.huggingface.co/models/CompVis/stable-diffusion-v1-4) | ||
# Set in image_gen.py) | ||
# HUGGINGFACE_API_TOKEN - HuggingFace API token (Example: my-huggingface-api-token) | ||
HUGGINGFACE_API_TOKEN=your-huggingface-api-token | ||
|
||
################################################################################ | ||
### GIT Provider for repository actions | ||
################################################################################ | ||
|
||
### GITHUB | ||
# GITHUB_API_KEY - Github API key / PAT (Example: github_pat_123) | ||
# GITHUB_USERNAME - Github username | ||
GITHUB_API_KEY=github_pat_123 | ||
GITHUB_USERNAME=your-github-username | ||
|
||
################################################################################ | ||
### SEARCH PROVIDER | ||
################################################################################ | ||
|
||
# GOOGLE_API_KEY - Google API key (Example: my-google-api-key) | ||
# CUSTOM_SEARCH_ENGINE_ID - Custom search engine ID (Example: my-custom-search-engine-id) | ||
GOOGLE_API_KEY=your-google-api-key | ||
CUSTOM_SEARCH_ENGINE_ID=your-custom-search-engine-id | ||
|
||
################################################################################ | ||
### TTS PROVIDER | ||
################################################################################ | ||
|
||
### MAC OS | ||
# USE_MAC_OS_TTS - Use Mac OS TTS or not (Default: False) | ||
USE_MAC_OS_TTS=False | ||
|
||
### STREAMELEMENTS | ||
# USE_BRIAN_TTS - Use Brian TTS or not (Default: False) | ||
USE_BRIAN_TTS=False | ||
|
||
### ELEVENLABS | ||
# ELEVENLABS_API_KEY - Eleven Labs API key (Example: my-elevenlabs-api-key) | ||
# ELEVENLABS_VOICE_1_ID - Eleven Labs voice 1 ID (Example: my-voice-id-1) | ||
# ELEVENLABS_VOICE_2_ID - Eleven Labs voice 2 ID (Example: my-voice-id-2) | ||
ELEVENLABS_API_KEY=your-elevenlabs-api-key | ||
SMART_LLM_MODEL="gpt-4" | ||
FAST_LLM_MODEL="gpt-3.5-turbo" | ||
ELEVENLABS_VOICE_1_ID=your-voice-id-1 | ||
ELEVENLABS_VOICE_2_ID=your-voice-id-2 |
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,12 @@ | ||
[flake8] | ||
max-line-length = 88 | ||
extend-ignore = E203 | ||
exclude = | ||
.tox, | ||
__pycache__, | ||
*.pyc, | ||
.env | ||
venv/* | ||
.venv/* | ||
reports/* | ||
dist/* |
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,51 @@ | ||
name: Bug report 🐛 | ||
description: Create a bug report for Auto-GPT. | ||
labels: ['status: needs triage'] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please provide a searchable summary of the issue in the title above ⬆️. | ||
⚠️ SUPER-busy repo, please help the volunteer maintainers. | ||
The less time we spend here, the more time we spend building AutoGPT. | ||
Please help us help you: | ||
- Does it work on `stable` branch (https://github.com/Torantulino/Auto-GPT/tree/stable)? | ||
- Does it work on current `master` (https://github.com/Torantulino/Auto-GPT/tree/master)? | ||
- Search for existing issues, "add comment" is tidier than "new issue" | ||
- Ask on our Discord (https://discord.gg/autogpt) | ||
- Provide relevant info: | ||
- Provide commit-hash (`git rev-parse HEAD` gets it) | ||
- If it's a pip/packages issue, provide pip version, python version | ||
- If it's a crash, provide traceback. | ||
- type: checkboxes | ||
attributes: | ||
label: Duplicates | ||
description: Please [search the history](https://github.com/Torantulino/Auto-GPT/issues) to see if an issue already exists for the same problem. | ||
options: | ||
- label: I have searched the existing issues | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Steps to reproduce 🕹 | ||
description: | | ||
**⚠️ Issues that we can't reproduce will be closed.** | ||
- type: textarea | ||
attributes: | ||
label: Current behavior 😯 | ||
description: Describe what happens instead of the expected behavior. | ||
- type: textarea | ||
attributes: | ||
label: Expected behavior 🤔 | ||
description: Describe what should happen. | ||
- type: textarea | ||
attributes: | ||
label: Your prompt 📝 | ||
description: | | ||
If applicable please provide the prompt you are using. You can find your last-used prompt in last_run_ai_settings.yaml. | ||
value: | | ||
```yaml | ||
# Paste your prompt here | ||
``` |
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,29 @@ | ||
name: Feature request 🚀 | ||
description: Suggest a new idea for Auto-GPT. | ||
labels: ['status: needs triage'] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
Please provide a searchable summary of the issue in the title above ⬆️. | ||
Thanks for contributing by creating an issue! ❤️ | ||
- type: checkboxes | ||
attributes: | ||
label: Duplicates | ||
description: Please [search the history](https://github.com/Torantulino/Auto-GPT/issues) to see if an issue already exists for the same problem. | ||
options: | ||
- label: I have searched the existing issues | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Summary 💡 | ||
description: Describe how it should work. | ||
- type: textarea | ||
attributes: | ||
label: Examples 🌈 | ||
description: Provide a link to other implementations, or screenshots of the expected behavior. | ||
- type: textarea | ||
attributes: | ||
label: Motivation 🔦 | ||
description: What are you trying to accomplish? How has the lack of this feature affected you? Providing context helps us come up with a solution that is more useful in the real world. |
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,33 @@ | ||
<!-- 📢 Announcement | ||
We've recently noticed an increase in pull requests focusing on combining multiple changes. While the intentions behind these PRs are appreciated, it's essential to maintain a clean and manageable git history. To ensure the quality of our repository, we kindly ask you to adhere to the following guidelines when submitting PRs: | ||
Focus on a single, specific change. | ||
Do not include any unrelated or "extra" modifications. | ||
Provide clear documentation and explanations of the changes made. | ||
Ensure diffs are limited to the intended lines — no applying preferred formatting styles or line endings (unless that's what the PR is about). | ||
For guidance on committing only the specific lines you have changed, refer to this helpful video: https://youtu.be/8-hSNHHbiZg | ||
By following these guidelines, your PRs are more likely to be merged quickly after testing, as long as they align with the project's overall direction. --> | ||
|
||
### Background | ||
<!-- Provide a concise overview of the rationale behind this change. Include relevant context, prior discussions, or links to related issues. Ensure that the change aligns with the project's overall direction. --> | ||
|
||
### Changes | ||
<!-- Describe the specific, focused change made in this pull request. Detail the modifications clearly and avoid any unrelated or "extra" changes. --> | ||
|
||
### Documentation | ||
<!-- Explain how your changes are documented, such as in-code comments or external documentation. Ensure that the documentation is clear, concise, and easy to understand. --> | ||
|
||
### Test Plan | ||
<!-- Describe how you tested this functionality. Include steps to reproduce, relevant test cases, and any other pertinent information. --> | ||
|
||
### PR Quality Checklist | ||
- [ ] My pull request is atomic and focuses on a single change. | ||
- [ ] I have thoroughly tested my changes with multiple different prompts. | ||
- [ ] I have considered potential risks and mitigations for my changes. | ||
- [ ] I have documented my changes clearly and comprehensively. | ||
- [ ] I have not snuck in any "extra" small tweaks changes <!-- Submit these as separate Pull Requests, they are the easiest to merge! --> | ||
|
||
<!-- If you haven't added tests, please explain why. If you have, check the appropriate box. If you've ensured your PR is atomic and well-documented, check the corresponding boxes. --> | ||
|
||
<!-- By submitting this, I agree that my pull request should be closed if I do not fill this out or follow the guide lines. --> |
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,44 @@ | ||
name: Python CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
python-version: [3.8] | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v2 | ||
|
||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements.txt | ||
- name: Lint with flake8 | ||
continue-on-error: false | ||
run: flake8 autogpt/ tests/ --select E303,W293,W291,W292,E305,E231,E302 | ||
|
||
- name: Run unittest tests with coverage | ||
run: | | ||
coverage run --source=autogpt -m unittest discover tests | ||
- name: Generate coverage report | ||
run: | | ||
coverage report | ||
coverage xml |
Oops, something went wrong.