{"id":17973848,"url":"https://github.com/lailak918/tthcm","last_synced_at":"2025-08-16T18:32:57.308Z","repository":{"id":260090406,"uuid":"868333668","full_name":"LaiLaK918/tthcm","owner":"LaiLaK918","description":"Tư Tưởng Hồ Chí Minh Chatbot","archived":false,"fork":false,"pushed_at":"2024-11-13T23:38:47.000Z","size":74,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-17T01:44:53.875Z","etag":null,"topics":["astradb","chainlit","genai-chatbot","langchain","vectorsearch"],"latest_commit_sha":null,"homepage":"https://tthcm.enkai.id.vn/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LaiLaK918.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-06T05:22:12.000Z","updated_at":"2024-10-29T10:38:25.000Z","dependencies_parsed_at":"2024-10-29T13:51:12.885Z","dependency_job_id":null,"html_url":"https://github.com/LaiLaK918/tthcm","commit_stats":null,"previous_names":["lailak918/tthcm"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiLaK918%2Ftthcm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiLaK918%2Ftthcm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiLaK918%2Ftthcm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiLaK918%2Ftthcm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LaiLaK918","download_url":"https://codeload.github.com/LaiLaK918/tthcm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230050121,"owners_count":18165010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astradb","chainlit","genai-chatbot","langchain","vectorsearch"],"created_at":"2024-10-29T17:03:50.911Z","updated_at":"2024-12-17T01:44:58.173Z","avatar_url":"https://github.com/LaiLaK918.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tư Tưởng Hồ Chí Minh Chatbot\n\nThis repository contains a chatbot project designed to assist users in learning about **Tư tưởng Hồ Chí Minh** (Ho Chi Minh's ideology). The chatbot provides interactive features for both **learning** and **quiz-based assessments** to test users' knowledge on the subject.\n\n## Features\n\n- **Learn**: Users can explore key concepts and philosophies related to Hồ Chí Minh's ideology.\n- **Quiz**: Test your knowledge with interactive multiple-choice quizzes based on the content.\n\n## Prerequisites\n\nMake sure the following software is installed on your system:\n- Docker\n- Docker Compose\n\n## Getting Started\n\n### 1. Prepare environment variables\n\nThe project requires specific environment variables for services such as database connection, authentication, and external APIs. First, create a `.env` file in the `app/` directory:\n\n```bash\ncd app/\ntouch .env\n```\n\nAdd the following content to the `.env` file, replacing the placeholders with your actual values:\n\n```\nASTRADB_APPLICATION_TOKEN=AstraCS:\u003cyour-astradb-token\u003e\nASTRADB_API_URL=https://\u003cyour-endpoint\u003e.apps.astra.datastax.com\nEMBEDDINGS_TOKENS=\u003cyour-embedding-tokens\u003e\nPOSTGRES_DATABASE_URL=\u003cyour-postgres-url\u003e\nCHAINLIT_AUTH_SECRET=\u003cyour-chainlit-auth-secret\u003e\nOPENAI_API_KEY=sk-proj-\u003cyour-openai-api-key\u003e\nCHAINLIT_CUSTOM_AUTH=true\nLANGCHAIN_TRACING_V2=true\nLANGCHAIN_ENDPOINT=\"https://api.smith.langchain.com\"\nLANGCHAIN_API_KEY=\u003cyour-langchain-api-key\u003e\nLANGCHAIN_PROJECT=\"TTHCM\"\nOAUTH_GOOGLE_CLIENT_ID=\u003cyour-google-client-id\u003e\nOAUTH_GOOGLE_CLIENT_SECRET=\u003cyour-google-client-secret\u003e\nCHAINLIT_URL=\u003cyour-domain-name\u003e\n```\n\n### 2. Build and run the project\n\nOnce the `.env` file is ready, use Docker Compose to build and run the chatbot:\n\n```bash\ndocker compose up -d --build\n```\n\nThis command will build and run the required services in the background.\n\n### 3. Access the chatbot\n\nAfter the services have started, you can access the chatbot via the URL specified in the `CHAINLIT_URL` environment variable.\n\n## Environment Variables\n\n- `ASTRADB_APPLICATION_TOKEN`: Token for connecting to AstraDB.\n- `ASTRADB_API_URL`: AstraDB API endpoint URL.\n- `EMBEDDINGS_TOKENS`: Tokens for embeddings services.\n- `POSTGRES_DATABASE_URL`: PostgreSQL database URL.\n- `CHAINLIT_AUTH_SECRET`: Secret for Chainlit authentication.\n- `OPENAI_API_KEY`: API key for OpenAI services.\n- `CHAINLIT_CUSTOM_AUTH`: Set to `true` for custom Chainlit authentication.\n- `LANGCHAIN_TRACING_V2`: Enable LangChain tracing.\n- `LANGCHAIN_ENDPOINT`: LangChain API URL.\n- `LANGCHAIN_API_KEY`: API key for LangChain.\n- `LANGCHAIN_PROJECT`: LangChain project name, e.g., \"TTHCM\".\n- `OAUTH_GOOGLE_CLIENT_ID`: Google OAuth client ID for user authentication.\n- `OAUTH_GOOGLE_CLIENT_SECRET`: Google OAuth client secret.\n- `CHAINLIT_URL`: The URL where the chatbot will be accessible.\n\n## Notes\n\n- Ensure the environment variables are set correctly for the chatbot to function.\n- To stop the services, run:\n\n```bash\ndocker compose down\n```\n\n## License\n\nThis project is licensed under the [GNU Affero General Public License v3.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flailak918%2Ftthcm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flailak918%2Ftthcm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flailak918%2Ftthcm/lists"}