百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pdftochat

> 编程语言
开源

使用 AI 与您的 PDF 进行聊天

1.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

使用 AI 与您的 PDF 进行聊天

PDFToChat

Chat with your PDFs in seconds. Powered by Together AI and Chroma.

Tech Stack · Deploy Your Own · Common Errors · Credits · Future Tasks


## Tech Stack - Next.js [App Router](https://nextjs.org/docs/app) for the framework - Mixtral through [Together AI](https://togetherai.link/?utm_source=pdftochat&utm_medium=referral&utm_campaign=example-app) inference for the LLM - [Chroma Cloud](https://www.trychroma.com/) for vector search (hybrid dense + sparse via Qwen & SPLADE) - [LangChain.js](https://js.langchain.com/docs/get_started/introduction/) for the RAG code - [Bytescale](https://www.bytescale.com/) for the PDF storage - [Vercel](https://vercel.com/) for hosting and for the postgres DB - [Clerk](https://clerk.dev/) for user authentication - [Tailwind CSS](https://tailwindcss.com/) for styling ## Deploy Your Own You can deploy this template to Vercel or any other host. Note that you'll need to: - Set up [Together.ai](https://togetherai.link/?utm_source=pdftochat&utm_medium=referral&utm_campaign=example-app) for the LLM - Set up [Chroma Cloud](https://www.trychroma.com/) for vector search - Set up [Bytescale](https://www.bytescale.com/) for PDF storage - Set up [Clerk](https://clerk.dev/) for auth - Set up [Vercel](https://vercel.com/) for hosting + Postgres (or use [Neon](https://neon.tech/)) - (Optional) Set up [LangSmith](https://smith.langchain.com/) for tracing See `.env.example` for a list of all the required environment variables. You will also need to prepare your database schema by running `npx prisma db push`. ### Chroma Cloud This project uses [Chroma Cloud](https://www.trychroma.com/) for hybrid vector search. Embeddings are generated automatically by Chroma Cloud using **Qwen** (dense) and **SPLADE** (sparse), combined via Reciprocal Rank Fusion (RRF) at query time. No local embedding model is needed. 1. Sign up at [trychroma.com](https://www.trychroma.com/) and create a database. 2. Copy your credentials and set the following environment variables: ```ini NEXT_PUBLIC_VECTORSTORE=chroma CHROMA_API_KEY= # Your Chroma Cloud API key CHROMA_TENANT= # Your tenant ID CHROMA_DATABASE= # Your database name ``` Collections are created automatically per document — no manual index setup is required. ## Common errors - Check that you've created an `.env` file that contains your valid (and working) API keys. - Check that `NEXT_PUBLIC_VECTORSTORE` is set to `chroma` and your Chroma credentials are correct. - Check that you've run `npx prisma db push` to create the `Document` table in Postgres. - Check that you've added a credit card on Together AI if you're hitting rate limiting issues due to the free tier. ## Credits - [Youssef](https://twitter.com/YoussefUiUx) for the design of the app - [Mayo](https://twitter.com/mayowaoshin) for the original RAG repo and inspiration - [Jacob](https://twitter.com/Hacubu) for the LangChain help - Together AI, Bytescale, Chroma, and Clerk for sponsoring ## Future tasks These are some future tasks that I have planned. Contributions are welcome! - [ ] Add a trash icon for folks to delete PDFs from the dashboard and implement delete functionality - [ ] Try different embedding models like UAE-large-v1 to see if it improves accuracy - [ ] Explore best practices for auto scrolling based on other chat apps like chatGPT - [ ] Do some prompt engineering for Mixtral to make replies as good as possible - [ ] Protect API routes by making sure users are signed in before executing chats - [ ] Run an initial benchmark on how accurate chunking / retrieval are - [ ] Research best practices for chunking and retrieval and play around with them – ideally run benchmarks - [ ] Try out Langsmith for more observability into how the RAG app runs - [ ] Add demo video to the homepage to demonstrate functionality more easily - [ ] Upgrade to Next.js 14 and fix any issues with that - [ ] Implement sources like perplexity to be clickable with more info - [ ] Add analytics to track the number of chats & errors - [ ] Make some changes to the default tailwind `prose` to decrease padding - [ ] Add an initial message with sample questions or just add them as bubbles on the page - [ ] Add an option to get answers as markdown or in regular paragraphs - [ ] Implement something like SWR to automatically revalidate data - [ ] Save chats for each user to get back to later in the postgres DB - [ ] Bring up a message to direct folks to compress PDFs if they're beyond 10MB - [ ] Use a self-designed custom uploader - [ ] Use a session tracking tool to better understand how folks are using the site - [ ] Add better error handling overall with appropriate toasts when actions fail - [ ] Add support for images in PDFs with something like [Nougat](https://replicate.com/meta/nougat)

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •Next.js App Router for the framework
  • •Mixtral through Together AI inference for the LLM
  • •Chroma Cloud for vector search (hybrid dense + sparse via Qwen & SPLADE)
  • •LangChain.js for the RAG code
  • •Bytescale for the PDF storage
  • •Vercel for hosting and for the postgres DB
  • •Clerk for user authentication
  • •Tailwind CSS for styling
  • •Set up Together.ai for the LLM
  • •Set up Chroma Cloud for vector search

> 标签

TypeScript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言