Live data from Hacker News

ChatPDF – Chat with Any PDF

chatpdf.com

81–90 of 141 posts

Re: ChatPDF – Chat with Any PDF

#81
post #23

4th submission in 3 weeks

HN automatically determines when posts are "dupes" and merges them, based on a number of criteria. Those previous submissions didn't get much traction, so the submissions weren't merged. In fact, sometimes HN automatically resubmits posts on your behalf. There's nothing unfair about a submission being posted by multiple people.

If you're worried about astroturfing, email the mods and they'll take a look.

Re: ChatPDF – Chat with Any PDF

#82
post #70

Earlier quoted context omitted.

Care to elaborate? I mean, looking at the source code it clearly does use LangChain for PDF ingestion https://github.com/mayooear/gpt4-pdf-chatbot-langchain/blob/...

He might mean the site chatpdf.com does not use langchain but uses the OpenAI API.

Yes, that's what I meant.

Re: ChatPDF – Chat with Any PDF

#83
Unfortunately, this is not ready for the sort of papers that I read. I mostly read papers with regression tables or papers with closed-form equations.

I have tried using Mathpix to convert the formal theory papers into latex and then fed it to GPT-4, but it was not able to take the whole text in a single prompt. When I broke it down in multiple prompts, it started responding hallucinated sections of the paper. I had given preemptive instructions stating that I was going to share the paper section by section and then ask it questions.

Once I finished uploading the whole paper after multiple prompts, it did not give satisfactory answers.

Re: ChatPDF – Chat with Any PDF

#85
post #55

Earlier quoted context omitted.

Consider adding a bit of overlap to the text chunks. Say, 300 tokens: text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=300) Otherwise, you'll likely end up with too many edge cases in which only part of a relevant context is retrieved :-)

This is actually pretty insightful - I have done something similar with splitting my obsidian data into chunks using paragraphs and headers as demarcation, but this solves a more interesting problem of nuance! I like it.

If you're interested in improved chunking, I mentioned a few strategies in my talk here (timestamp linked, https://youtu.be/elNrRU12xRc?t=536 that I used when building https://findsight.ai

Re: ChatPDF – Chat with Any PDF

#87
post #60

Other possibilities to fuel the ChatGPT hype train... ChatPNG - apply OCR to an image, extract text, feed it to GPT. ChatMP3 - apply speech-to-text to a recording, feed it to GPT. ChatGPS - hmm. not sure yet. something location-based obviously... If any VC's are interested, I'm selling 10% stake in these projects for only $20k right now. /s

After the success of ColorGPT (https://twitter.com/TheRundownAI/status/1640054184635449344) I don't think you need to bother with actually getting any AI into your app, just make sure the name ends with GPT.

Re: ChatPDF – Chat with Any PDF

#88
post #60

Other possibilities to fuel the ChatGPT hype train... ChatPNG - apply OCR to an image, extract text, feed it to GPT. ChatMP3 - apply speech-to-text to a recording, feed it to GPT. ChatGPS - hmm. not sure yet. something location-based obviously... If any VC's are interested, I'm selling 10% stake in these projects for only $20k right now. /s

Forget that I'm currently selling NFTs for these projects-- ChatTXT - extract text from plain text files and feed it to GPT for analysis. ChatPDF - extract text from a PDF document and feed it to GPT for analysis. ChatDOC - extract text from a Microsoft Word document and feed it to GPT for analysis. ChatDOCX - extract text from a Microsoft Word document and feed it to GPT for analysis. ChatPPT - extract text from a Microsoft PowerPoint document and feed it to GPT for analysis. ChatPPTX - extract text from a Microsoft PowerPoint document and feed it to GPT for analysis. ChatXLS - extract text from a Microsoft Excel document and feed it to GPT for analysis. ChatXLSX - extract text from a Microsoft Excel document and feed it to GPT for analysis. ChatCSV - extract text from a CSV file and feed it to GPT for analysis. ChatJSON - extract text from a JSON file and feed it to GPT for analysis. ChatXML - extract text from an XML file and feed it to GPT for analysis. ChatHTML - extract text from an HTML file or webpage and feed it to GPT for analysis. ChatMD - extract text from a Markdown file and feed it to GPT for analysis. ChatLOG - extract text from log files and feed it to GPT for analysis. ChatCFG - extract text from configuration files and feed it to GPT for analysis. ChatYAML - extract text from a YAML file and feed it to GPT for analysis. ChatINI - extract text from an INI file and feed it to GPT for analysis. ChatSQL - extract text from SQL files and feed it to GPT for analysis. ChatRTF - extract text from a Rich Text Format document and feed it to GPT for analysis. ChatMSG - extract text from a Microsoft Outlook email message and feed it to GPT for analysis. ChatEML - extract text from an email message file and feed it to GPT for analysis. ChatVCF - extract text from a vCard file and feed it to GPT for analysis. ChatWAV - transcribe audio from a WAV file and feed it to GPT for analysis. ChatMP3 - transcribe audio from an MP3 file and feed it to GPT for analysis. ChatM4A - transcribe audio from an M4A file and feed it to GPT for analysis. ChatAAC - transcribe audio from an AAC file and feed it to GPT for analysis. ChatOGG - transcribe audio from an OGG file and feed it to GPT for analysis. ChatFLAC - transcribe audio from a FLAC file and feed it to GPT for analysis. ChatAVI - transcribe speech from an AVI file and feed it to GPT for analysis. ChatMOV - transcribe speech from a MOV file and feed it to GPT for analysis. ChatMP4 - transcribe speech from an MP4 file and feed it to GPT for analysis. ChatMKV - transcribe speech from an MKV file and feed it to GPT for analysis. ChatWMV - transcribe speech from a WMV file and feed it to GPT for analysis. ChatGIF - extract text from a GIF file and feed it to GPT for analysis. ChatPNG - extract text from a PNG file and feed it to GPT for analysis. ChatJPEG - extract text from a JPEG file and feed it to GPT for analysis. ChatBMP - extract text from a BMP file and feed it to GPT for analysis. ChatTIFF - extract text from a TIFF file and feed it to GPT for analysis. ChatPSD - extract text from a Photoshop PSD file and feed it to GPT for analysis. ChatAI - extract text from an Adobe Illustrator file and feed it to GPT for analysis. ChatSVG - extract text from an SVG file and feed it to GPT for analysis. ChatCAD - extract text from CAD files and feed it to GPT for analysis. ChatSketch - extract text from Sketch files and feed it to GPT for analysis. ChatEPS - extract text from an EPS file and feed it to GPT for analysis. Chat3DS - extract text from 3DS files and feed it to GPT for analysis. ChatSTL - extract text from an STL file and feed it to GPT for analysis. ChatVRML - extract text from VRML files and feed it to GPT for analysis. ChatFBX - extract text from FBX files and feed it to GPT for analysis. ChatOBJ - extract text from OBJ files and feed it to GPT for analysis. ChatPLY - extract text from a PLY file and feed it to GPT for analysis. ChatGLTF - extract text from GLTF files and feed it to GPT for analysis. ChatMD2 - extract text from an MD2 file and feed it to GPT for analysis. ChatMD3 - extract text from an MD3 file and feed it to GPT for analysis. ChatMD5 - extract text from an MD5 file and feed it to GPT for analysis. ChatMDX - extract text from an MDX file and feed it to GPT for analysis. ChatNIF - extract text from a NIF file and feed it to GPT for analysis. ChatDAT - extract text from a DAT file and feed it to GPT for analysis. ChatZIP - extract text from ZIP files and feed it to GPT for analysis. ChatRAR - extract text from RAR files and feed it to GPT for analysis. ChatTAR - extract text from TAR files and feed it to GPT for analysis. ChatGZ - extract text from GZ files and feed it to GPT for analysis. Chat7Z - extract text from 7Z files and feed it to GPT for analysis. ChatCAB - extract text from CAB files and feed it to GPT for analysis. ChatISO - extract text from ISO files and feed it to GPT for analysis. ChatDMG - extract text from DMG files and feed it to GPT for analysis. ChatEXE - extract text from EXE files and feed it to GPT for analysis. ChatDLL - extract text from DLL files and feed it to GPT for analysis. ChatSYS - extract text from SYS files and feed it to GPT for analysis. ChatBAT - extract text from BAT files and feed it to GPT for analysis. ChatPS1 - extract text from PowerShell files and feed it to GPT for analysis. ChatPY - extract text from Python files and feed it to GPT for analysis. ChatJS - extract text from JavaScript files and feed it to GPT for analysis.

Re: ChatPDF – Chat with Any PDF

#89
post #20

How are you solving for PDFs that are too large to fit in the token context? I know of a few approaches for that: - Ignore the problem and let it hallucinate answers to anything that's not in the first 5-10 pages - Attempt to recursively summarize the PDF at the start - so summarize e.g. pages 1-3, then 4-6 etc, then if the resulting summaries are still too long for the context window run a summary of those summaries…

I can answer for my site (https://docalysis.com/) which does a semantic search to figure out which parts of the document are most relevant. Then you just use those parts.

Docalysis also shows you the PDF side-by-side, has page numbers, and overall responses are of better quality according to users that have emailed comparisons to ChatPDF.

Re: ChatPDF – Chat with Any PDF

#90
I added the pdf of free chapter of 'Trustworthy Online Experiments' and then had this strange exchange... way too agreeable.

Me: Bukowski said: "If you're going to try, go all the way". How would you do this with an AB test?

PDF: While Charles Bukowski's quote is not directly related to A/B testing, you can apply the spirit of his words to your approach to A/B testing. To "go all the way" with an A/B test, you should aim to test as many variables as possible in order to get the most accurate and comprehensive results. This means testing multiple variants, adjusting multiple parameters, and collecting data from a large sample size over a significant period of time. By doing so, you can ensure that your results are reliable and that you have a clear understanding of which variant performs better. (Page 21)

Me: But if you go all the way (in the way you described), wouldn't you be walking in a garden of forking paths?

PDF: You raise a valid concern. When conducting an A/B test with many variables and parameters, there is a risk of encountering the "garden of forking paths" problem. This refers to the issue of having many possible paths to take when analyzing the data, which can lead to false positives or overfitting. To avoid this problem, it's important to have a clear hypothesis and plan in place before conducting the test, and to limit the number of variables being tested at once. Additionally, you should use appropriate statistical methods to analyze the data and correct for multiple comparisons. By taking these precautions, you can minimize the risk of encountering the garden of forking paths problem and ensure that your results are reliable. (Page 21)

Me: So what's a better way to go all the way?

PDF: A better way to "go all the way" with an A/B test is to focus on testing a few key variables that are most likely to have a significant impact on your metrics. This approach is sometimes called "full factorial testing" or "multivariate testing". By testing a smaller number of variables, you can reduce the risk of encountering the garden of forking paths problem and increase the statistical power of your test. Additionally, you should use appropriate statistical methods to analyze the data and correct for multiple comparisons. By taking these precautions, you can ensure that your results are reliable and that you have a clear understanding of which variables have the biggest impact on your metrics. (Page 21)

Post reply on HN