{"id":36860554,"url":"https://github.com/jybaek/llm-with-slack","last_synced_at":"2026-01-12T14:49:40.139Z","repository":{"id":158536870,"uuid":"613459756","full_name":"jybaek/llm-with-slack","owner":"jybaek","description":"Connect ChatGPT to Slackbot. Works via FastAPI","archived":false,"fork":false,"pushed_at":"2024-04-14T13:18:28.000Z","size":74,"stargazers_count":11,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-14T13:18:44.915Z","etag":null,"topics":["chatgpt","fastapi","python","slack"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jybaek.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}},"created_at":"2023-03-13T15:57:46.000Z","updated_at":"2024-04-18T14:47:18.563Z","dependencies_parsed_at":null,"dependency_job_id":"7908fafa-469c-4773-bead-ee53e429e6c7","html_url":"https://github.com/jybaek/llm-with-slack","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jybaek/llm-with-slack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jybaek%2Fllm-with-slack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jybaek%2Fllm-with-slack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jybaek%2Fllm-with-slack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jybaek%2Fllm-with-slack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jybaek","download_url":"https://codeload.github.com/jybaek/llm-with-slack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jybaek%2Fllm-with-slack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["chatgpt","fastapi","python","slack"],"created_at":"2026-01-12T14:49:40.026Z","updated_at":"2026-01-12T14:49:40.105Z","avatar_url":"https://github.com/jybaek.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Python 3.x](https://img.shields.io/badge/python-3.10-green.svg)](https://www.python.org/downloads/release/python-360/)\n\n![image](https://github.com/jybaek/llm-with-slack/assets/10207709/d92980a9-7f30-470c-850a-2a530a32dc80)\n\n\u003e This is an image created with DALL-E 2. Use it for your Slatbot profile image.\n\n# LLM API with FastAPI\nThis repository connects the LLM API to Slack. \nIt currently supports implementations using OpenAI's ChatGPT and Google's Gemini model. \nThe basic structure is straightforward. \nWhen a message arrives through Slack, we generate a response using the LLM's API.\nIt has multimodal capabilities, enabling us to process and analyze images.\n\nAll settings are set via environment variables.\nSee [here](./app/config/constants.py).\n\n\n| envrionment                | description                                 | default                    |\n|----------------------------|---------------------------------------------|----------------------------|\n| slack_token                | A Slack token that begins with `XOXB`       | required                   |\n| openai_token               | An OpenAI token that begins with `sk`       | required                   |\n| number_of_messages_to_keep | Set how many conversation histories to keep | 5                          |\n| max_token                  | The maximum number of tokens                | 2048                       |\n| system_content             | Enter the system content for ChatGPT        | N/A                        |\n| gpt_model                  | GPT Model                                   | gpt-3.5-turbo              |\n| gemini_model               | Gemini Model                                | gemini-1.5-pro-001         |\n| claude_model               | Claude Model                                | claude-3-5-sonnet@20240620 |\n\n## Supported LLMs\n\n- OpenAI GPT\n- Google Gemini\n- Anthropic Claude\n\n## Prerequisite\n- Docker\n\nBefore running the application, make sure that Docker is installed and running on your system.\n\nimportant: Set and use all the environment variables in [app/config/constants.py](app/config/constants.py).\n\n## Local Execution Guide\n1. First, to run this application in your local environment, please execute the following command to install the required libraries.\n```bash\npip install -r requirements.txt\n```\n\n2. Once the necessary libraries have been installed, execute the following command to run the application.\n```bash\nuvicorn app.main:app --reload\n```\nThis command will run the application based on the app object in the main module of the app package. \nYou can use the `--reload` option to automatically reload the application when file changes are detected.\n\n![image](https://github.com/jybaek/llm-with-slack/assets/10207709/fb235e7e-c99b-412d-8d54-765f74950794)\n\n## Installation\n1. Clone the repository:\n```bash\nhttps://github.com/jybaek/llm-with-slack.git\ncd llm-with-slack\n```\n\n2. Build the Docker image:\n```bash\ndocker build -t llm-api .\n```\n\n3. Run the Docker container:\n```bash\ndocker run --rm -it -p8000:8000 llm-api\n```\n\n4. Open your web browser and go to `http://localhost:8000/docs` to access the Swagger UI and test the API.\n\n## Sample\n|Gemini|GPT|\n|------|---|\n|![Gemini](https://github.com/jybaek/llm-with-slack/assets/10207709/e4144e6a-82e9-493b-b951-754424751bab)|![GPT](https://github.com/jybaek/llm-with-slack/assets/10207709/4c4dbe4b-3221-4263-b0e2-ca02bc37f9fa)|\n\n## API Documentation\nThe API documentation can be found at `http://localhost:8000/docs` once the Docker container is running.\n\n## License\nThis project is licensed under the terms of the Apache license. See [LICENSE](license) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjybaek%2Fllm-with-slack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjybaek%2Fllm-with-slack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjybaek%2Fllm-with-slack/lists"}