michaelthwan / searchGPT

Grounded search engine (i.e. with source reference) based on LLM / ChatGPT / OpenAI API. It supports web search, file content search etc.
MIT License
640 stars 65 forks source link

Project enhancements for integration with other projects #87

Open 1M4nt0 opened 1 year ago

1M4nt0 commented 1 year ago

You should consider to split backend from frontend to give the project better integrability with other projects. The backend could be published in a pip package and be usable without cloning the frontend part too. For example I would like to integrate the backend part into my discord bot but at the time I have to clone the entire project.

To get the best at all, providing an interface with the backend with REST APIs could make the development of a frontend way faster and easier and above all i think it would have more interest by frontend developers which they can use the framework they want. Flask is a good framework but I think is not so used by developers, instead for example of React or Angular that are so much used.

michaelthwan commented 1 year ago

@1M4nt0 Your concern is valid. I treat the flask web UI as an advanced gradio for prettier demonstration of the capability, rather than a production UI. Therefore I didn't separate them into folders (e.g. will increase my deployment complexity, 2 app in one repo). Pushing the searchgpt-core components to pypi is also easier for people to use. I will consider packing it better later. Thanks.