From f23347de7e9cc65705b5c2576aa84b557ceec9e4 Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Wed, 14 Feb 2024 05:02:09 -0800 Subject: [PATCH] Refer to CoolAGI --- README.md | 103 ++++++++++++++++++++--------------------- docs/customizations.md | 76 ++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+), 52 deletions(-) create mode 100644 docs/customizations.md diff --git a/README.md b/README.md index c9b9c384f..81b60e0d5 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,6 @@ Or fork & run on Vercel ## 👉 [roadmap](https://github.com/users/enricoros/projects/4/views/2) -big-AGI is an open book; our **[public roadmap](https://github.com/users/enricoros/projects/4/views/2)** -shows the current developments and future ideas. - -- Got a suggestion? [_Add your roadmap ideas_](https://github.com/enricoros/big-agi/issues/new?&template=roadmap-request.md) -- Want to contribute? [_Pick up a task!_](https://github.com/users/enricoros/projects/4/views/4) - _easy_ to _pro_ - ### What's New in 1.13.0 · Feb 8, 2024 · Multi + Mind https://github.com/enricoros/big-AGI/assets/32999/01732528-730e-41dc-adc7-511385686b13 @@ -46,49 +40,63 @@ https://github.com/enricoros/big-AGI/assets/32999/95ceb03c-945d-4fdd-9a9f-3317be - Paste tables from Excel [#286](https://github.com/enricoros/big-AGI/issues/286) - Ollama model updates and context window detection fixes [#309](https://github.com/enricoros/big-AGI/issues/309) -### What's New in 1.11.0 · Jan 16, 2024 · Singularity - -https://github.com/enricoros/big-AGI/assets/1590910/a6b8e172-0726-4b03-a5e5-10cfcb110c68 - -- **Find chats**: search in titles and content, with frequency ranking. [#329](https://github.com/enricoros/big-AGI/issues/329) -- **Commands**: command auto-completion (type '/'). [#327](https://github.com/enricoros/big-AGI/issues/327) -- **[Together AI](https://www.together.ai/products#inference)** inference platform support (good speed and newer models). [#346](https://github.com/enricoros/big-AGI/issues/346) -- Persona Creator history, deletion, custom creation, fix llm API timeouts -- Enable adding up to five custom OpenAI-compatible endpoints -- Developer enhancements: new 'Actiles' framework - For full details and former releases, check out the [changelog](docs/changelog.md). ## ✨ Key Features 👊 ![big-AGI screenshot](docs/pixels/big-AGI-compo-20240201_small.png) -- **AI Personas**: Tailor your AI interactions with customizable personas -- **Sleek UI/UX**: A smooth, intuitive, and mobile-responsive interface -- **Efficient Interaction**: Voice commands, OCR, and drag-and-drop file uploads -- **Multiple AI Models**: Choose from a variety of leading AI providers -- **Privacy First**: Self-host and use your own API keys for full control -- **Advanced Tools**: Execute code, import PDFs, and summarize documents -- **Seamless Integrations**: Enhance functionality with various third-party services -- **Open Roadmap**: Contribute to the progress of big-AGI +| ![Advanced AI](https://img.shields.io/badge/Advanced%20AI-007ACC?style=for-the-badge&logo=ai&logoColor=white) | ![100+ AI Models](https://img.shields.io/badge/100%2B%20AI%20Models-007ACC?style=for-the-badge&logo=ai&logoColor=white) | ![Flow-state UX](https://img.shields.io/badge/Flow--state%20UX-007ACC?style=for-the-badge&logo=flow&logoColor=white) | ![Privacy First](https://img.shields.io/badge/Privacy%20First-007ACC?style=for-the-badge&logo=privacy&logoColor=white) | ![Advanced Tools](https://img.shields.io/badge/Fun%20To%20Use-007ACC?style=for-the-badge&logo=tools&logoColor=white) | +|---------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------| +| **Chat**
**Call** AGI
**Draw** images
**Agents**, ... | Local & Cloud
Open & Closed
Cheap & Heavy
Google, Mistral, ... | Attachments
Diagrams
Multi-Chat
Mobile-first UI | Stored Locally
Easy self-Host
Local actions
Data = Gold | AI Personas
Voice Mode
Screen capture
OCR + more | -## 💖 Support +#### The following are the supported AI models and integrations: + +| **AI models** | _supported vendors_ | | **More** | _integrations_ | +|:--------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-|:-------------|:---------------------------------------------------------------------------------------------------------------| +| Opensource Servers | [LocalAI](https://localai.com) (multimodal) · [Ollama](https://ollama.com/) · [Oobabooga](https://github.com/oobabooga/text-generation-webui) | | Web Browse | [Browserless](https://www.browserless.io/) · [Puppeteer](https://pptr.dev/)-based | +| Local Servers | [LM Studio](https://lmstudio.ai/) | | Web Search | [Google CSE](https://programmablesearchengine.google.com/) | +| Multimodal services | [Azure](https://azure.microsoft.com/en-us/products/ai-services/openai-service) · [Google Gemini](https://ai.google.dev/) · [OpenAI](https://platform.openai.com/docs/overview) | | Code Editors | [CodePen](https://codepen.io/pen/) · [StackBlitz](https://stackblitz.com/) · [JSFiddle](https://jsfiddle.net/) | +| Language services | [Anthropic](https://anthropic.com) · [Mistral](https://mistral.ai/) · [OpenRouter](https://openrouter.ai/) · [Together AI](https://www.together.ai/) | | Sharing | [Paste.gg](https://paste.gg/) (Paste chats) | +| Image services | [Prodia](https://prodia.com/) (SDXL) | | Tracking | [Helicone](https://www.helicone.ai) (LLM Observability) | +| Speech services | [ElevenLabs](https://elevenlabs.io) (Voice synthesis / cloning) | | | | + +[//]: # (- [x] **Flow-state UX** for uncompromised productivity) + +[//]: # (- [x] **AI Personas**: Tailor your AI interactions with customizable personas) + +[//]: # (- [x] **Sleek UI/UX**: A smooth, intuitive, and mobile-responsive interface) + +[//]: # (- [x] **Efficient Interaction**: Voice commands, OCR, and drag-and-drop file uploads) + +[//]: # (- [x] **Privacy First**: Self-host and use your own API keys for full control) + +[//]: # (- [x] **Advanced Tools**: Execute code, import PDFs, and summarize documents) + +[//]: # (- [x] **Seamless Integrations**: Enhance functionality with various third-party services) + +[//]: # (- [x] **Open Roadmap**: Contribute to the progress of big-AGI) + +# 🌟 Get Involved! [//]: # ([![Official Discord](https://img.shields.io/discord/1098796266906980422?label=discord&logo=discord&logoColor=%23fff&style=for-the-badge)](https://discord.gg/MkH4qj2Jp9)) [![Official Discord](https://discordapp.com/api/guilds/1098796266906980422/widget.png?style=banner2)](https://discord.gg/MkH4qj2Jp9) -* Enjoy the hosted open-source app on [big-AGI.com](https://big-agi.com) -* [Chat with us](https://discord.gg/MkH4qj2Jp9) -* Deploy your [fork](https://github.com/enricoros/big-agi/fork) for your friends and family -* send PRs! ... - 🎭[Editing Personas](https://github.com/enricoros/big-agi/issues/35), - 🧩[Reasoning Systems](https://github.com/enricoros/big-agi/issues/36), - 🌐[Community Templates](https://github.com/enricoros/big-agi/issues/35), - and [your big-IDEAs](https://github.com/enricoros/big-agi/issues/new?labels=RFC&body=Describe+the+idea) +- [ ] 📢️ [**Chat with us** on Discord](https://discord.gg/MkH4qj2Jp9) +- [ ] ⭐ **Give us a star** on GitHub 👆 +- [ ] 🧠 big-AGI is an open book; see the **[ready-to-ship and future ideas](https://github.com/users/enricoros/projects/4/views/2)** + - [ ] 🚀 **Do you like code**? You'll love this gem of a project! [_Pick up a task!_](https://github.com/users/enricoros/projects/4/views/4) - _easy_ to _pro_ + - [ ] 💡 Got a feature suggestion? [_Add your roadmap ideas_](https://github.com/enricoros/big-agi/issues/new?&template=roadmap-request.md) +- [ ] Check out some of the big-AGI [**community projects**](docs/customizations.md) -
+ | Project | Features | GitHub | + |---------|----------------------------------------------------|-------------------------------------------------------------------------------------| + | CoolAGI | Code Interpreter, Vision, Mind maps, and much more | [nextgen-user/CoolAGI](https://github.com/nextgen-user/CoolAGI) | + | HL-GPT | Fully remodeled UI | [harlanlewis/nextjs-chatgpt-app](https://github.com/harlanlewis/nextjs-chatgpt-app) | -## 🧩 Develop +- [ ] ✨ Deploy your [fork](https://github.com/enricoros/big-agi/fork) for your friends and family, or [at work](docs/customizations.md) + +# 🧩 Develop ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=&logo=typescript&logoColor=white) ![React](https://img.shields.io/badge/React-61DAFB?style=&logo=react&logoColor=black) @@ -107,7 +115,7 @@ npm run dev The development app will be running on `http://localhost:3000`. Development builds have the advantage of not requiring a build step, but can be slower than production builds. Also, development builds won't have timeout on edge functions. -## 🌐 Deploy manually +## 🛠️ Deploy from source The _production_ build of the application is optimized for performance and is performed by the `npm run build` command, after installing the required dependencies. @@ -148,24 +156,15 @@ Create your GitHub fork, create a Vercel project over that fork, and deploy it. [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI&env=OPENAI_API_KEY&envDescription=Backend%20API%20keys%2C%20optional%20and%20may%20be%20overridden%20by%20the%20UI.&envLink=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI%2Fblob%2Fmain%2Fdocs%2Fenvironment-variables.md&project-name=big-AGI) -## Integrations: -* Local models: Ollama, Oobabooga, LocalAi, etc. -* [ElevenLabs](https://elevenlabs.io/) Voice Synthesis (bring your own voice too) - Settings > Text To Speech -* [Helicone](https://www.helicone.ai/) LLM Observability Platform - Models > OpenAI > Advanced > API Host: 'oai.hconeai.com' -* [Paste.gg](https://paste.gg/) Paste Sharing - Chat Menu > Share via paste.gg -* [Prodia](https://prodia.com/) Image Generation - Settings > Image Generation > Api Key & Model -* External code execution: export to [CodePen](https://codepen.io/pen/), [StackBlitz](https://stackblitz.com/), [JSFiddle](https://jsfiddle.net/) +[//]: # ([![GitHub stars](https://img.shields.io/github/stars/enricoros/big-agi)](https://github.com/enricoros/big-agi/stargazers)) -
+[//]: # ([![GitHub forks](https://img.shields.io/github/forks/enricoros/big-agi)](https://github.com/enricoros/big-agi/network)) -This project is licensed under the MIT License. +[//]: # ([![GitHub pull requests](https://img.shields.io/github/issues-pr/enricoros/big-agi)](https://github.com/enricoros/big-agi/pulls)) -[![GitHub stars](https://img.shields.io/github/stars/enricoros/big-agi)](https://github.com/enricoros/big-agi/stargazers) -[![GitHub forks](https://img.shields.io/github/forks/enricoros/big-agi)](https://github.com/enricoros/big-agi/network) -[![GitHub pull requests](https://img.shields.io/github/issues-pr/enricoros/big-agi)](https://github.com/enricoros/big-agi/pulls) -[![License](https://img.shields.io/github/license/enricoros/big-agi)](https://github.com/enricoros/big-agi/LICENSE) +[//]: # ([![License](https://img.shields.io/github/license/enricoros/big-agi)](https://github.com/enricoros/big-agi/LICENSE)) -[//]: # ([![GitHub issues](https://img.shields.io/github/issues/enricoros/big-agi)](https://github.com/enricoros/big-agi/issues)) +--- -Made with 💙 +2023-2024 · Enrico Ros x [big-AGI](https://big-agi.com) · License: [MIT](LICENSE) · Made with 💙 diff --git a/docs/customizations.md b/docs/customizations.md new file mode 100644 index 000000000..a2e8b4793 --- /dev/null +++ b/docs/customizations.md @@ -0,0 +1,76 @@ +# Customizing and Creating Derivative Applications + +Creating a derivative application from big-AGI allows you to extend its capabilities, tailor the experience to your needs, or even target a completely new audience. This guide provides an overview of how to start this exciting journey. + +## Manual Customization + +Customizing the application happens through manual code alterations or at best through environment variables. +At the moment there is no "Wizard" or administation panel to customize the application. +You will need to manually edit the source code to make changes, and this includes modifying the personas, +adding new features, or integrating additional APIs. + +| Code Alteration Required | Not Required | +|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------| +| - Change personas
- Customize UI Theme
- Add or modify features | - Setting API keys in [environment variables](environment-variables.md)
- Toggle some dynamic features with environment variables | + +When changes are needed/used: + +- **Code alterations**: on the source, before building the application + - **Authentication**: requires a code alteration (renaming a file) before starting the build, see [deploy-authentication.md](deploy-authentication.md) +- **Environment variables**: after building the application on your local computers or deploying to the cloud, and before running it + +### Code Alterations + +Begin by forking the [big-AGI repository](https://github.com/enricoros/big-AGI). This will create a copy under your GitHub account, providing a personal workspace for your project. + +Understand the Architecture: big-AGI is built using Next.js, leveraging React for the frontend and Node.js for the backend. Familiarize yourself with the project structure and the technologies used. This understanding is crucial for making meaningful modifications. + +### Customize the Personas + +You can customize the personas by editing the `src/data.ts` file. This file contains the default personas used in the application. You can add new personas, remove existing ones, or modify the existing ones to fit your project's requirements. + +- [ ] edit `src/data.ts` to change the default personas + +## Customize the UI + +The UI can be customized to fit your project's theme, add new features, or remove existing ones that are not needed. + +- [ ] edit `src/common/app.theme.ts` to change the theme: colors, spacing, looks of buttons, animations, etc. +- [ ] edit `src/common/app.config.tsx` to change the name of the application +- [ ] edit `src/common/app.nav.tsx` to change the navigation bar + +## Other: Add or Modify Features + +- **Integrate New APIs**: You can integrate additional APIs by adding new endpoints in the `pages/api` directory. +- **Enhance Functionality**: Modify existing features or add new ones by editing the React components and the backend logic. + +## Testing & Deployment + +Ensure to thoroughly test your application, by means of local development (see the README.md for how to build locally, it's simple). +Deploy your application using your preferred hosting service. big-AGI can be deployed on Vercel, Docker, or any platform that supports Node.js +applications, and in particular platforms that support the "Edge Runtime" of NextJS. + +- see [deploy-cloudflare.md](deploy-cloudflare.md) for an example of deploying to Cloudflare Workers +- see [deploy-docker.md](deploy-docker.md) for instructions and examples with Docker + +## Share Your Project + +Once your variant is live, don't forget to share it with the community, and we will link to your project, for instance: + +| Project | Features | GitHub | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| 🚀 CoolAGI: Where AI meets Imagination
![CoolAGI Logo](https://private-user-images.githubusercontent.com/150797204/286567670-9b0e1232-4791-4d61-b949-16f9eb284c22.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDc5MTU3ODAsIm5iZiI6MTcwNzkxNTQ4MCwicGF0aCI6Ii8xNTA3OTcyMDQvMjg2NTY3NjcwLTliMGUxMjMyLTQ3OTEtNGQ2MS1iOTQ5LTE2ZjllYjI4NGMyMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMjE0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDIxNFQxMjU4MDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYWU0ODM5Y2EzMjA5ZjMyODg0NGEwZTNiOGM2ODAwMjAwZTk5ODkzZDY3NDBjYTBiZmRmMDdhNjE5MGZiZmEzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.t5F2OL3dQBV1LphRWVqiYCiSdN6j5wKhBy2JGLjh9E8) | Code Interpreter, Vision, Mind maps, Web Searches, Advanced Data Analytics, Large Data Handling and more! | [nextgen-user/CoolAGI](https://github.com/nextgen-user/CoolAGI) | +| HL-GPT | Fully remodeled UI | [harlanlewis/nextjs-chatgpt-app](https://github.com/harlanlewis/nextjs-chatgpt-app) | + +If your project is public, please highlight your updates in the README.md and open a pull request to add your project to the list. This will help others discover your project and learn from your experience. + +## Best Practices + +- **Stay Updated**: Regularly merge updates from the original big-AGI repository to benefit from bug fixes and new features +- **Keep It Open Source**: Consider keeping your derivative open source to encourage community contributions +- **Engage with the Community**: Use platforms like GitHub, Discord, or Reddit to gather feedback, find collaborators, and showcase your project + +--- + +Creating a derivative application is not just about adding new features; it's about reimagining what's possible with AI and sharing it with the world. +We can't wait to see what you build! \ No newline at end of file