{"data":{"slug":"guangzhengli-chatfiles","name":"ChatFiles","tagline":"Document Chatbot powered by GPT and Embedding","github_url":"https://github.com/guangzhengli/ChatFiles","owner":"guangzhengli","repo":"ChatFiles","owner_avatar_url":"https://avatars.githubusercontent.com/u/39078991?v=4","primary_language":"TypeScript","stars":3337,"forks":461,"topics":["chatbot","chatfile","chatgpt","chatgpt-api","chatpdf"],"archived":false,"github_pushed_at":"2024-12-17T10:26:50+00:00","maintenance_label":"Dormant","stars_delta_30d":-4,"url":"https://www.graphcanon.com/tools/guangzhengli-chatfiles","markdown_url":"https://www.graphcanon.com/tools/guangzhengli-chatfiles.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/guangzhengli-chatfiles","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=guangzhengli-chatfiles","description":"Document Chatbot — multiple files. Powered by GPT / Embedding.","homepage_url":null,"license":"MIT","open_issues":18,"watchers":21,"ai_summary":"A document chatbot that allows users to have conversations with uploaded files using technologies like LangchainJS and Supabase vector database.","readme_excerpt":"<a href=\"https://www.buymeacoffee.com/iguangzhengli\" target=\"_blank\"><img src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" >\n\n# ChatFiles\n\n## Deploy with Vercel\n\n<p align=\"center\">\n<a href=\"https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fguangzhengli%2FChatFiles&env=NEXT_PUBLIC_CHAT_FILES_UPLOAD_PATH,SUPABASE_SERVICE_ROLE_KEY,SUPABASE_URL&envDescription=Have%20a%20conversation%20with%20files&envLink=https%3A%2F%2Fgithub.com%2Fguangzhengli%2FChatFiles%2Fblob%2Fmain%2Fdoc%2Fenv-vars.md&demo-title=ChatFiles&demo-description=Have%20a%20conversation%20with%20files&demo-url=https%3A%2F%2Fchat-file.vercel.app%2F\"><img src=\"https://vercel.com/button\" alt=\"Deploy with Vercel\"/></a>\n</p>\n\n> this repository use [LangchainJS](https://github.com/hwchase17/langchainjs), based on [Chatbot-ui](https://github.com/mckaywrigley/chatbot-ui)\n\nTechnical architecture\n\n\n\nProduct screenshot.\n\n\n\n**Upload your file and have a conversation with it.**\n\n\n## How to use it\n\n### Init Vector DB\n[Crate a vector db on Supabase](doc/vectordb/supabase.md)\n\n### How to run locally without limited\n1. clone this repository.\n2. create a .env file on root path.\n3. set environment variables in .env file follow [doc/env-vars.md](doc/env-vars.md).\n\nopen browser with http://localhost:3000\n\n## How to run locally\n### chatfiles-ui\n\n```shell\nnpm install\nnpm run dev\n```\n\n### How to deploy on vercel\n1. Click the Deploy Button.\n2. Set environment variables follow [doc/env-vars.md](doc/env-vars.md).\n3. Pay attention to the NEXT_PUBLIC_CHAT_FILES_UPLOAD_PATH value must be /tmp.\n\n## Feature\n\n- [x] Chat with GPT-3.5\n- [x] Chat with file by langchainjs and supabase vector db.\n\n\n## Star History\n\n\n\n## Sponsors\n\n\n\nMore Sponsor methods:\n\nhttps://guangzhengli.com/sponsors\n\n### Who is sponsoring this project?\n\nSponsored by [The best china travel guide website](https://chinagotrip.com)\n\n<p>\n\n<a href=\"https://github.com/johnliu33\"><img src=\"https://github.com/johnliu33.png\" width=\"50px\" alt=\"johnliu33\" /></a>&nbsp;&nbsp;\n<a href=\"https://github.com/noxonsu\"><img src=\"https://github.com/noxonsu.png\" width=\"50px\" alt=\"noxonsu\" /></a>&nbsp;&nbsp;\n<a href=\"https://github.com/magedhelmy1\"><img src=\"https://github.com/magedhelmy1.png\" width=\"50px\" alt=\"magedhelmy1\" /></a>&nbsp;&nbsp;\nZhang Andy&nbsp;&nbsp;\n<a href=\"https://github.com/Huayu-Qin\"><img src=\"https://github.com/Huayu-Qin.png\" width=\"50px\" alt=\"Huayu-Qin\" /></a>&nbsp;&nbsp;\n\n</p>","github_created_at":"2023-03-28T11:20:09+00:00","created_at":"2026-07-11T10:48:54.729452+00:00","updated_at":"2026-09-20T05:25:07.79606+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"chatbot","name":"chatbot"},{"slug":"embedding","name":"embedding"},{"slug":"gpt-api","name":"gpt-api"},{"slug":"supabase","name":"supabase"},{"slug":"typescript","name":"typescript"}],"trust":{"provenance":{"is_fork":false,"github_id":620275636,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:25:05.729Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":641,"last_release_at":"2023-06-28T14:02:11Z","stars_delta_30d":-4,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:48:56.195Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-09-20T05:25:06.783Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:25:06.783Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-20T05:25:06.783Z","managed_saas":false},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-09-20T05:25:06.783Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-09-20T05:25:06.783Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-20T05:25:06.783Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T05:25:06.783Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"freemium","summary":"Available under the MIT license, it is free to use. However, users might incur costs for hosting with Vercel and database usage on Supabase."},"requirements":{"notes":["Local setup requires setting environment variables as outlined in the documentation."],"min_ram_gb":null,"requires_docker":false},"constraints":{"min_ram_gb":null,"pricing_model":"freemium","requires_docker":false},"when_to_use":["You need to integrate file-based conversations into your web apps using TypeScript.","Your project benefits from deploying on Vercel, as supported by ChatFiles documentation.","You require a chatbot that leverages both GPT-3.5 and supabase for vector database storage."],"when_not_to_use":["If you aim to use languages other than TypeScript for your document chatbot functionality.","Your deployment preferences prioritize platforms other than Vercel, which is highlighted in ChatFiles' documentation.","The project does not require or benefit from the specific combination of LangchainJS and Supabase as provided by this tool."],"source":"enrich:decision_facts","observed_at":"2026-07-14T21:29:50.989Z"},"constraint_facets":{"min_ram_gb":null,"pricing_model":"freemium","requires_docker":false},"decision_summary":[{"label":"Pricing","value":"freemium - Available under the MIT license, it is free to use. However, users might incur costs for hosting with Vercel and database usage on Supabase."},{"label":"Requirements","value":"Local setup requires setting environment variables as outlined in the documentation."},{"label":"Adopt for","value":"ChatFiles uses GPT and embedding technologies with LangchainJS for document interaction via a Supabase vector database."}]}}