Spaces:
				
			
			
	
			
			
		Build error
		
	
	
	
			
			
	
	
	
	
		
		
		Build error
		
	| # Initial Setup | |
| ⚠️ **Create the .env file inside the `code/` directory.** | |
| ## Python Environment | |
| Python Version: 3.11 | |
| Create a virtual environment and install the required packages: | |
| ```bash | |
| conda create -n ai_tutor python=3.11 | |
| conda activate ai_tutor | |
| pip install -r requirements.txt | |
| ``` | |
| ## Code Formatting | |
| The codebase is formatted using [black](https://github.com/psf/black), and if making changes to the codebase, ensure that the code is formatted before submitting a pull request. More instructions can be found in `docs/contribute.md`. | |
| ## Google OAuth 2.0 Client ID and Secret | |
| To set up the Google OAuth 2.0 Client ID and Secret, follow these steps: | |
| 1. Go to the [Google Cloud Console](https://console.cloud.google.com/apis/credentials). | |
| 2. Create a new project or select an existing one. | |
| 3. Navigate to the "Credentials" page. | |
| 4. Click on "Create Credentials" and select "OAuth 2.0 Client ID". | |
| 5. Configure the OAuth consent screen if you haven't already. | |
| 6. Choose "Web application" as the application type. | |
| 7. Configure the redirect URIs as needed. | |
| 8. Copy the generated `Client ID` and `Client Secret`. | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| OAUTH_GOOGLE_CLIENT_ID=<your_client_id> | |
| OAUTH_GOOGLE_CLIENT_SECRET=<your_client_secret> | |
| ``` | |
| ## Literal AI API Key | |
| To obtain the Literal AI API key: | |
| 1. Sign up or log in to [Literal AI](https://cloud.getliteral.ai/). | |
| 2. Navigate to the API Keys section under your account settings. | |
| 3. Create a new API key if necessary and copy it. | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| LITERAL_API_KEY_LOGGING=<your_api_key> | |
| LITERAL_API_URL=https://cloud.getliteral.ai | |
| ``` | |
| ## LlamaCloud API Key | |
| To obtain the LlamaCloud API Key: | |
| 1. Go to [LlamaCloud](https://cloud.llamaindex.ai/). | |
| 2. Sign up or log in to your account. | |
| 3. Navigate to the API section and generate a new API key if necessary. | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| LLAMA_CLOUD_API_KEY=<your_api_key> | |
| ``` | |
| ## Hugging Face Access Token | |
| To obtain your Hugging Face access token: | |
| 1. Go to [Hugging Face settings](https://huggingface.co/settings/tokens). | |
| 2. Log in or create an account. | |
| 3. Generate a new token or use an existing one. | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| HUGGINGFACE_TOKEN=<your-huggingface-token> | |
| ``` | |
| ## Chainlit Authentication Secret | |
| You must provide a JWT secret in the environment to use authentication. Run `chainlit create-secret` to generate one. | |
| ```bash | |
| chainlit create-secret | |
| ``` | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| CHAINLIT_AUTH_SECRET=<your_jwt_secret> | |
| CHAINLIT_URL=<your_chainlit_url> # Example: CHAINLIT_URL=http://localhost:8000 | |
| ``` | |
| ## OpenAI API Key | |
| Set the following in the .env file (if running locally) or in secrets (if running on Hugging Face Spaces): | |
| ```bash | |
| OPENAI_API_KEY=<your_openai_api_key> | |
| ``` | |
| ## In a Nutshell | |
| Your .env file (secrets in HuggingFace) should look like this: | |
| ```bash | |
| CHAINLIT_AUTH_SECRET=<your_jwt_secret> | |
| OPENAI_API_KEY=<your_openai_api_key> | |
| HUGGINGFACE_TOKEN=<your-huggingface-token> | |
| LITERAL_API_KEY_LOGGING=<your_api_key> | |
| LITERAL_API_URL=<https://cloud.getliteral.ai> | |
| OAUTH_GOOGLE_CLIENT_ID=<your_client_id> | |
| OAUTH_GOOGLE_CLIENT_SECRET=<your_client_secret> | |
| LLAMA_CLOUD_API_KEY=<your_api_key> | |
| CHAINLIT_URL=<your_chainlit_url> | |
| ``` | |
| # Configuration | |
| The configuration file `code/modules/config.yaml` contains the parameters that control the behaviour of your app. | |
| The configuration file `code/modules/project_config.yaml` contains project-specific parameters. | 
