Show HN: SiteGPT – Create ChatGPT-like chatbots trained on your website content (sitegpt.ai)
I am the founder of a blogging platform called Feather.so.
People can sign up and create their own blogs using Feather.
Now, with OpenAI releasing their API, they made using AI so accessible for someone like me. So I wanted to add a chatbot functionality to my customer blogs. Basically, I wanted to automatically create a chatbot for each of my customer blogs. That chatbot will be trained on the content on their blog.
When I set out to do this using Open AI, I thought I could do this for every website, not just for my customer blogs.
So I ended up creating an entirely new product called SiteGPT.ai so that it can be used on any website.
The workflow works like this. People login the platform, they enter their website url, and click on a button to start training. Then I start creating a chatbot and train the chatbot will all the content on the website that the user enters.
That chatbot now knows everything about that website. It can answer any questions related to that website.
I have also added a demo chatbot at the bottom right of the sitegpt.ai website. That chatbot is trained on the content of SiteGPT.ai. So it can answer any questions related to its own website.
Please try it out and let me know if you have any feedback. I am also happy to take any other technical questions you may have.
Thanks.
102 comments
[ 1.9 ms ] story [ 169 ms ] threadSurely there can be a test function within the website which allows me to see what a user would experience?
I will create one and post the link here. Just a single page url.
It also doesn’t inspire much confidence in your early users, there’s been a lot of these GPT API cashgrabs popping up all over so if you want to differentiate yourself you might need to actually incur some risk.
It has nothing to do about whether I personally can risk the $19, I'm not even in the target audience for this – the question is what percentage of the target audience is going to be ready to pay $19 for something they don't know is going to work for their site, and how much bigger would that pie be if the site owner spent a tiny amount on offering trials.
Just making people get their card out is going to make a huge percentage of leads drop off, especially when there's almost no content/demos or an actual working trial in the site (even the screenshot is just a static screenshot instead of a live demo).
If you want to know more, you can reach out via email and I'd be happy to help (though it might cost you a bit more than $19)
In exchange for the free trial the potential customer gives you permission to use it as a demo for others to try out and see how it performs.
what's to say you won't add specific optimizations by hand now that aren't included in the product out of the box?
edit: ah, just saw your other comment about being afraid free trial gets out of hand financially
a solution could be to only allow x number of free tokens for a given demo chatbot
Great job!
I will first do some pre-processing on the content and fetch the relevant pieces of content before giving it as a prompt to the API.
Amazing concept btw - would love to see more examples (like a chatbot for a more well-known site).
When the user asks, I try to get the relevant bits and answer the question based on that.
Better to question each document separately and then combine the answers into one last LLM round. Even so, there might be inter-document context that is lost - for example looking at one document that depends on details in another one. Large collections of documents should be loaded up in multiple passes, as the interpretation of a document can change when encountering information in another document. Adding one single piece of information to a collection of documents could slightly change the interpretation of everything, that's how humans incorporate new information.
One interesting application of document-collection based chat bots is finding inconsistencies and contradictions in the source text. If they can do that, they can correctly incorporate new information.
Would love more details though from the author!
This is an opportunity for the chatbot owner to add more relevant content to the website.
They don't have to think about what content to add. They can just see what questions the visitors have about their website and can add/edit their website content based on that.
After adding the improved content, retraining the chatbot with the new content will be as easy as clicking a button.
> This is an opportunity for the chatbot owner to add more relevant content to the website.
This is very interesting. It seems as though from the point of view of the site author, the chatbot's performance could be viewed as a "compiled/executable" version of the site's text. In the same way a software dev clicks Run to see the output, a writer could use the chat performance to look for gaps and bugs in the site copy.
It's already in the plans.
Some of the customers I got are non-technical people. So it was perfect for them.
They get a very good chatbot even if they don't know how to code.
My guess is the people on here poo pooing this idea are programmers who don't deal with customer support. Don't let their negative response deter you. Let them be fools.
Just sharing the details for those that are curious in how to make their own chatbot on their data.
That said, companies like Intercom, Zendesk and other customer service companies are already starting to do this.
> 1. For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.
> 2. It doesn't actually replace a USB drive. Most people I know e-mail files to themselves or host them somewhere online to be able to perform presentations, but they still carry a USB drive in case there are connectivity problems. This does not solve the connectivity issue.
> 3. It does not seem very "viral" or income-generating. I know this is premature at this point, but without charging users for the service, is it reasonable to expect to make money off of this?
https://news.ycombinator.com/item?id=8863#9224
This is priced at about 10-20 minutes of a developers time per month.
Because chatbots were so far utterly useless.
It doesn't seem crazy to think that given a good enough chatbot, users might prefer to ask their question directly rather than have to find the specific piece of information they need from a dense docs website.
> Because chatbots were so far utterly useless.
My guess is that you are correct. I have been thinking that rebranding site chatbots will be needed and inevitable. I wonder what that will look like.
Extending this to sites makes sense. Eventually this service will need to compete against Google or Bing chat based search with regular indexing and it’ll probably get put out of business unless it pivots into tailor made models or something else the big guys can’t offer en mass.
Although that can also lead to hallucinations, it’s still quite wonderful.
https://ask-your-stack.vercel.app/
(It uses official docs to provide answers with context)
At the end of the day with LangchainJS + LlamaIndex anything is possible
Everyone is going straight to embeddings, but it'd be easy enough to use old school NLP summarization from NLTK (https://www.nltk.org/)
Hook that up a web scraping library like https://scrapy.org/ and get a summary of each page.
Then embed a site map in your system prompt and use langchain (https://github.com/hwchase17/langchain) to allow GPT to query for a specific page's summary.
-
The point of this isn't to say that's how OP did it, but there might be people seeing stuff like this and wondering how on earth to get into it: This is something you could build in a weekend with pretty much no understanding of AI
What people want is something they can run on their own hardware without sending their queries to some third party service which is doing who knows what with them.
This is already possible if you want to mess around with green code that isn't in system repositories yet and buy expensive hardware to make it fast, but you can imagine why some people don't have the time or money for that.
I'm waiting for Intel or AMD to realize there would be a line out the door if they'd make a CPU with an iGPU that could use system memory and run these models at even a quarter of the speed of typical discrete GPUs.
Question answering can be tackled by smaller models that run on CPUs: https://huggingface.co/tasks/question-answering
And if it's strictly for personal use there's always the chat-tuned stuff being built on top of LLaMA like Alpaca
> waiting for Intel or AMD to realize
Intel and AMD just got their lunch eaten by Apple Silicon which did exactly that, so I'm sure they're working on it
Hence the demand for something else.
> Intel and AMD just got their lunch eaten by Apple Silicon which did exactly that, so I'm sure they're working on it
Apple's GPU doesn't benchmark much different than competing iGPUs for gaming. It may be that the only thing stopping anyone from running this stuff on existing iGPUs is software support.
Something else would not be ChatGPT tuned for your site. Like I said there are other models, but a lot of people want ChatGPT as they currently interact with it but with additional knowledge about their website. This is that.
> Apple's GPU doesn't benchmark much different than competing iGPUs for gaming.
GPGPU is not gaming. Unified memory means that Apple Silicon's "RAM" can be compared to VRAM for inference.
I suspect a lot of people would be satisfied with anything functionally equivalent regardless of whether it is ChatGPT(TM)-brand.
> GPGPU is not gaming. Unified memory means that Apple Silicon's "RAM" can be compared to VRAM for inference.
The M1 and M2 have a 128-bit memory bus, the same as ordinary dual-channel systems. Only the Pro and Max have more (by 2x and 4x), and it's not obvious that's even the bottleneck here, because the reason they have more is to have enough for the GPU and CPU at the same time, not because a GPU of that size needs that much memory bandwidth when the CPU is idle.
For example, the RTX 4070 Ti is about twice as fast at inference as the RTX 3070 Ti, even though it has slightly less memory bandwidth. And the 4070 Ti has only ~25% more memory bandwidth than the M2 Max GPU but is many times faster.
There is presumably a point at which inference becomes bottlenecked by memory bandwidth rather than compute hardware, but the garden variety x86_64 iGPU may not even be past it, and if it is it's not by much.
The interesting things are a) getting the code written to make existing hardware easy to use, and b) maybe introducing some hefty iGPUs into the server systems with 12 channels per socket and wouldn't run out of memory bandwidth even with significantly more compute hardware, and could then be supplied with hundreds of GB worth of RDIMMs.
Once there are enough of these it may not matter? Just like aws isn’t open source but we use it.
with
this https://github.com/realrasengan/gpt4all-wrapper-js
And do it locally on your computer with just a little mod.
(I have a 21 month old. You don't know "off" days until you've had a kid.)
Right now, there is no way to add your own API key. I will try to look into this option in the future.
https://platform.openai.com/docs/tutorials/web-qa-embeddings
IME doing this task the scraping isn't easy to generalize. the embed / chat part is honestly low hanging fruit on top of the openAI api. if you're capable of scraping the content you want to do this with I'd say whip it up yourself. its a 15m project.
> Please try it out...
No, thank you. Not for $100/mo without any sort of trial!
It would be marginally interesting to play with it on my ~8 year blog (https://www.sevarg.net), but I have ~300 posts and ~900k words written.
Dumb question, though... if I put all my content into a single page on a subdomain (easy enough to do, I use Jekyll to render my stuff), would the free plan barf on a 900k word document, or would it happily ingest it?
Also, what does "One chatbot" mean? Only one person can interact with it at a time?
Assume you have multiple products. You can't give the content of both these websites to a single chatbot, right? For example, if someone asks chatbot about "What's the pricing", should it give the pricing of first product or second product?
In cases like this, it makes sense to create multiple chatbots (one chatbot for each website) and keep the content separate.
> What is the difference between pricing plans in terms of chatbots? What does that mean, exactly?
> SiteGPT offers different pricing plans based on the number of chatbots and web pages/documents that can be created. The Essential plan allows for the creation of one chatbot and up to 25 web pages/documents, while the Growth plan allows for the creation of two chatbots and up to 100 web pages/documents. The Pro plan is the most popular and allows for the creation of five chatbots and up to 500 web pages/documents. The Elite plan is the best value and allows for the creation of unlimited chatbots and up to 5000 web pages/documents. The pricing plans are designed to accommodate websites of all sizes and needs.
Congratulations, it "read the Powerpoint slide again." I had some college professors who did that. Ask for clarification, they'd read the slide again, as if I'd not understood the slide the first time.
Meh. Good luck.
This is cool, thanks for putting it together — but I think we as a group of designers and engineers should get our language right. If we mean creating embeddings — we should say it, since "training a new model" is very different from using embeddings...
Pseudo:
You give OpenAI's chat API something like: Really powerful, really useful - but really simple to create.