{"id":15020498,"url":"https://github.com/mayooear/notion-chat-langchain","last_synced_at":"2025-04-07T07:12:39.915Z","repository":{"id":153337276,"uuid":"610769077","full_name":"mayooear/notion-chat-langchain","owner":"mayooear","description":"A notion chatbot for your knowledge base built with langchain, typescript/javascript and pinecone.","archived":false,"fork":false,"pushed_at":"2023-05-18T21:21:19.000Z","size":2666,"stargazers_count":312,"open_issues_count":6,"forks_count":78,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-31T05:07:53.391Z","etag":null,"topics":["langchain","langchain-typescript","notion","notion-database","openai","pinecone"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=prbloUGlvLE","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mayooear.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-07T12:54:26.000Z","updated_at":"2025-02-18T03:30:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"0868037e-28a8-406c-b66a-d686ab46abc8","html_url":"https://github.com/mayooear/notion-chat-langchain","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayooear%2Fnotion-chat-langchain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayooear%2Fnotion-chat-langchain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayooear%2Fnotion-chat-langchain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mayooear%2Fnotion-chat-langchain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mayooear","download_url":"https://codeload.github.com/mayooear/notion-chat-langchain/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608153,"owners_count":20965952,"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":["langchain","langchain-typescript","notion","notion-database","openai","pinecone"],"created_at":"2024-09-24T19:55:10.052Z","updated_at":"2025-04-07T07:12:39.882Z","avatar_url":"https://github.com/mayooear.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A ChatBot for Your Notion Knowledge Base\n\nCreate a simple chatbot for question-answering your Notion knowledge base/docs using Openai, Typescript, LangChain and Pinecone.\n\n[Tutorial video](https://www.youtube.com/watch?v=prbloUGlvLE)\n\n## 📊 Example Data\n\nThis repo uses a Notion template of the support docs from [cron](https://cronhq.notion.site/Cron-Calendar-5625be54feac4e13a75b10271b65ddb7) - a next-generation calendar for professionals and teams\n\n## Development\n\n1. Clone the repo\n2. Install packages\n\n```\npnpm install\n```\n\n3. Set up your `.env` file\n\n- Copy `.env.example` into `.env`\n  Your `.env` file should look like this:\n\n```\nOPENAI_API_KEY=\n\nPINECONE_API_KEY=\nPINECONE_ENVIRONMENT=\n\n```\n\n- Visit [openai](https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key) and [pinecone](https://www.pinecone.io/) to retrieve API keys and insert into your `.env` file.\n\n4. In the `config` folder, go into `pinecone-index.ts` and replace `PINECONE_INDEX_NAME` with the index name in your pinecone dashboard.\n\n## 🧑 Instructions for ingesting your own dataset\n\nExport your dataset from Notion. You can do this by clicking on the three dots in the upper right hand corner and then clicking `Export`.\n\nFollow these Notion instructions: [Exporting your content](https://www.notion.so/help/export-your-content)\n\nWhen exporting, make sure to select the `Markdown \u0026 CSV` format option.\n\nSelect `Everything`, `include subpages` and `Create folders for subpages.` Then click `Export`\n\nThis will produce a `.zip` file in your Downloads folder. Move the `.zip` file into the root of this repository.\n\nEither unzip the folder using 7-Zip (or WinZip) or run the following Unix/Linux command to unzip the zip file (replace the `Export...` with your own file name).\n\n```shell\nunzip Export-d3adfe0f-3131-4bf3-8987-a52017fc1bae.zip -d Notion_DB\n```\n\nYou should see a `Notion_DB` folder in your root folder that contains markdown files and folders of your knowledge base.\n\n## Ingest data\n\nNow we need to `ingest` your docs. In **very** simple terms, ingesting is the process of converting your docs into numbers (embedding) that can be easily stored and analyzed for similarity searches.\n\n```bash\nnpm run ingest\n\n```\n\n## Running the app\n\nRun your local dev environment `npm run dev`.\n\nUse the search bar to ask a question about your docs.\n\nSimple.\n\n## Deployment\n\nYou can deploy this app to the cloud with [Vercel](https://vercel.com) ([Documentation](https://nextjs.org/docs/deployment)).\n\n## Credit\n\nThis repo is inspired by [notion-qa](https://github.com/hwchase17/notion-qa)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayooear%2Fnotion-chat-langchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmayooear%2Fnotion-chat-langchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmayooear%2Fnotion-chat-langchain/lists"}