Skip to content

A chatbot for your Obsidian journal - like a digital librarian for your notes. Built with langchain, typescript/javascript and pinecone.

Notifications You must be signed in to change notification settings

josh-may/journal-gpt

Repository files navigation

Demo

Screen.Recording.2023-04-02.at.10.45.56.AM.mov

🚨 DISCLAIMER

This project is inspired by Notion Chat Langchain Mayo.

A ChatBot for Obsidian Notes

This repo uses vector embedding and turns your Obsidian notes into a chatbot.

Development

  1. Clone the repo
  2. Install packages
pnpm install
  1. Set up your .env file
  • Copy .env.example into .env Your .env file should look like this:
OPENAI_API_KEY=

PINECONE_API_KEY=
PINECONE_ENVIRONMENT=

  • Visit openai and pinecone to retrieve API keys and insert into your .env file.
  1. In the config folder, go into pinecone-index.ts and replace PINECONE_INDEX_NAME with the index name in your pinecone dashboard.

🧑 Instructions for ingesting your own dataset

Create an Obsidian_Notes folder in root project and copy and paste your .md Obsidian notes into it.

Ingest data

Now 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.

npm run ingest

Running the app

Run your local dev environment npm run dev.

Use the search bar to ask a question about your docs.

Simple.

Deployment

You can deploy this app to the cloud with Vercel (Documentation).

Credit

This repo is inspired by Notion Chat Langchain and notion-qa.

About

A chatbot for your Obsidian journal - like a digital librarian for your notes. Built with langchain, typescript/javascript and pinecone.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published