Edit. Rephrased the question.<p>I'm looking for the best way to train from my business knowledge base for openAI, Llama, or Claude on my own private business knowledge base.<p>That data will then be used in a chatbot(maybe whatsapp) on my website that will either create an appointment for call, send follow up email with more information, or directly connect to an real agent.<p>I will use it to update my CRM information too.<p>Knowledge comes in all kinds of formats, PDF, Excel, Power Point Slides, Videos.<p>Looking for some advice on how to do this on a budget. I am a programmer so I do not mind getting my hands dirty or even running my own server that can do most of the work.<p>But if there is a 3rd party service or open source tool that does most of this, I'm happy to give it a shot too.<p>Thanks.
I’m consulting multiple teams on shipping LLM-driven business automation. So far I have seen only one case where fine-tuning a model really paid off (and didn’t just blow up the RLHF calibration and caused wild hallucinations).<p>I would suggest to avoid training and look into RAG systems, prompt engineering and using OpenAI API for a start.<p>You can do a small PoC quickly using something like LangChain or LlamaIndex. Their pipelines can ingest unstructured data in all file formats, which is good for getting a quick feel.<p>Afterwards, if you encounter hallucinations in your tasks - throw out vector DB and embeddings into the trashcan (they are pulling junk information into the context and causing hallucinations). Replace embeddings with a RAG based on full text search and query expansion based on the nuances of your business.<p>If there are any specific types of questions or requests that you need special handling for - add a lightweight router (request classifier) that will direct user request to a dedicated prompt with dedicated data.<p>By that time you would’ve probably lost all of RAG, replacing it with a couple of prompt templates, a file based knowledge base in markdown and CSV and a few helpers to pull relevant information into the context.<p>That’s how most of working LLM-driven workflows end up (in my bubble). Maybe just with PostgreSQL and ES instead of file-based knowledge base. But that’s an implementation detail.<p>Update: if you really want to try fine-tuning your own LLM - this article links to a Google Collab Notebook for the latest Llama 3.1 8B: <a href="https://unsloth.ai/blog/llama3-1" rel="nofollow">https://unsloth.ai/blog/llama3-1</a><p>It will not learn new things from your data, though. Might just pick up the style.
Not sure if this will help, but a while ago I was thoroughly confused about all the AI options (and advice from other people) so spent a while experimenting, now make systems for commercial sometimes, but for a basic-yet-functional knowledge base, that you can expand with whatever tooling you want:<p>- Don't use llamaindex/llangchain etc. - fine to get started quick but you'll quickly get frustrated when you try to do something different<p>- Suck in all your files using public libraries. convert to text. Remove obvious crap like line breaks etc. Don't worry about it too much.<p>- Use postgres as vectorDB - cheap.<p>- OpenAI is fine, and the docs are great - gpt 3.5 gives fine results; cheapest embedding model fine.<p>- Spend some time optimising the prompts - that's the most important thing.<p>I wrote up basics for my specific niche here, has cost/time breakdowns and costs about $4 per month for hosting (and only then because I couldn't face setting up postgres on my other server) and < $1 per 50GB of text/xlsx/etc embedded: <a href="https://superstarsoftware.co.uk/ai-for-drilling-engineers/" rel="nofollow">https://superstarsoftware.co.uk/ai-for-drilling-engineers/</a><p>(as in: dirt cheap).<p>I basically made it as a showcase for potential customers, was half thinking of open sourcing it so people can get up and running quickly including with decent frontend, but not sure if there's much appetite since it's basic.
If you’re on a budget you don’t want to “Train” the model. I.e fine tune.<p>Since you have multi format data you likely want a pipeline to convert it all to text using various tools, make sure it’s structured and then shove it in a RAG system for the LLM chatbot to work with.<p>You can get started with lang chain and openAI’s API<p>Experiment with gpt4o mini for a while to keep costs down and then test if cranking up to gpt4o proper is worth it.<p>That’s the LLM part solved. You’ll need to control the logic after that depending on controls in your chatbot pop-up window to be able to arrange the calls/send emails etc.
If you want to try our software (includes search, RAG, file handling, and a bunch of integrations, and can be deployed on prem or cloud), happy to give you a license in exchange for some feedback! Just shout me an email at rafael (at) curiosity.ai