Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josh-may/journal-gpt
A chatbot for your Obsidian journal - like a digital librarian for your notes. Built with langchain, typescript/javascript and pinecone.
https://github.com/josh-may/journal-gpt
Last synced: 3 months ago
JSON representation
A chatbot for your Obsidian journal - like a digital librarian for your notes. Built with langchain, typescript/javascript and pinecone.
- Host: GitHub
- URL: https://github.com/josh-may/journal-gpt
- Owner: josh-may
- Created: 2023-04-02T15:09:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-04-02T15:50:54.000Z (over 1 year ago)
- Last Synced: 2024-05-23T00:39:54.828Z (6 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.11 MB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- project-awesome - josh-may/journal-gpt - A chatbot for your Obsidian journal - like a digital librarian for your notes. Built with langchain, typescript/javascript and pinecone. (TypeScript)
README
## Demo
https://user-images.githubusercontent.com/72312238/229364024-038462e7-9a6a-4912-a2ed-86399fb43da4.mov
## 🚨 DISCLAIMER
This project is inspired by [Notion Chat Langchain](https://github.com/mayooear/notion-chat-langchain) [Mayo](https://twitter.com/mayowaoshin).
## 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
```3. 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](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.
4. 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.
```bash
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](https://vercel.com) ([Documentation](https://nextjs.org/docs/deployment)).
## Credit
This repo is inspired by [Notion Chat Langchain](https://github.com/mayooear/notion-chat-langchain) and [notion-qa](https://github.com/hwchase17/notion-qa).