Code Monkey home page Code Monkey logo

OpenBuddy - Open Multilingual Chatbot for Everyone

中文 | English

微信公众号、微信群:

搜索“开源智友”,关注公众号并发送“加群”即可获得微信群邀请、参与新模型内测等活动

欢迎关注我们的 ModelScope 社区,体验精选模型的高速下载和一键部署:

https://modelscope.cn/organization/OpenBuddy

Website: https://openbuddy.ai

GitHub: https://github.com/OpenBuddy/OpenBuddy

Huggingface: https://huggingface.co/OpenBuddy

Demo

OpenBuddy is a powerful open multilingual chatbot model aimed at global users, emphasizing conversational AI and seamless multilingual support for English, Chinese, and other languages.

Built upon Tii's Falcon model and Facebook's LLaMA model, OpenBuddy is fine-tuned to include an extended vocabulary, additional common characters, and enhanced token embeddings. By leveraging these improvements and multi-turn dialogue datasets, OpenBuddy offers a robust model capable of answering questions and performing translation tasks across various languages.

Our mission with OpenBuddy is to provide a free, open, and offline-capable AI model that operates on users' devices, irrespective of their language or cultural background. We strive to empower individuals worldwide to access and benefit from AI technology.

Online Demo

Currently, the OpenBuddy-70B demo is available on our Discord server. Please join our Discord server to try it out!

Discord: Discord

Key Features

  • Multilingual conversational AI, Chinese, English, Japanese, Korean, French, Germany and more!
  • Enhanced vocabulary and support for common CJK characters
  • Fine-tuned with multi-turn dialogue datasets for improved performance
  • Various model sizes to suit your needs: 3B, 7B, 13B, 30B, 40B, 65B, 70B and more!
  • 3/4/5-bit quantization for CPU deployment via llama.cpp (with slightly reduced output quality)
  • Active development plans for future features and improvements

Future Plans

  • Enhancing multilingual performance
  • Optimizing model quality post-quantization
  • Developing a mechanism to assess content quality, safety, and inference capabilities
  • Investigating Reinforcement Learning with Human Feedback (RLHF)
  • Exploring the addition of multimodal capabilities for dialogues with image context

Model Download

OpenBuddy currently offers model downloads on HuggingFace and ModelScope.

More information about downloading the models can be found in the Models page.

Prompt Format

Model input should be formatted as follows:

You are a helpful, respectful and honest INTP-T AI Assistant named Buddy. You are talking to a human User.
Always answer as helpfully and logically as possible, while being safe. Your answers should not include any harmful, political, religious, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
You can speak fluently in many languages, for example: English, Chinese.
You cannot access the internet, but you have vast knowledge, cutoff: 2021-09.
You are trained by OpenBuddy team, (https://openbuddy.ai, https://github.com/OpenBuddy/OpenBuddy), you are based on LLaMA and Falcon transformers model, not related to GPT or OpenAI.

User: {History input}
Assistant: {History output}
User: {Input}
Assistant:

Please note there should not be any spaces or line breaks after the last "Assistant:" line.

Usage with llama.cpp on CPU/GPU (Recommended)

Models have been converted to ggml format, making it compatible with llama.cpp. llama.cpp is a pure C++ inference engine for LLaMA models, originally designed for CPU deployment.

After recent updates, llama.cpp now supports cuBLAS and OpenCL acceleration, which means you can utilize your AMD/NVIDIA GPU to accelerate inference.

The model is available at: Models, GGML format is the variant you should download.

After installing the model and llama.cpp, you can run the chat-llamacpp.bat or chat-llamacpp.sh script to interact with OpenBuddy through the interactive console.

For now, only OpenBuddy-LLaMA series models are supported by llama.cpp, the developers of llama.cpp are working on adding support for Falcon models.

Usage with Transformers

To use OpenBuddy with huggingface's Transformers library on a GPU, follow the hello.py example. For a more comprehensive understanding of text generation, please refer to the Transformers documentation.

Please note that a 7B model may require up to 24GB of GPU memory.

Usage with Inference Infrastructure

We are actively working on developing our own inference infrastructure, GrandSage. GrandSage is a scalable, high-performance, distributed inference engine for OpenBuddy models. It aims to support both CPU and GPU inference, and is capable of serving multiple models simultaneously.

LLM inference frameworks including Langport and FastChat, have also been adapted to support OpenBuddy. Please refer to the respective repositories for more information.

Disclaimer

All OpenBuddy models have inherent limitations and may potentially produce outputs that are erroneous, harmful, offensive, or otherwise undesirable. Users should not use these models in critical or high-stakes situations that may lead to personal injury, property damage, or significant losses. Examples of such scenarios include, but are not limited to, the medical field, controlling software and hardware systems that may cause harm, and making important financial or legal decisions.

OpenBuddy is provided "as-is" without any warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors, contributors, or copyright holders be liable for any claim, damages, or other liabilities, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.

By using OpenBuddy, you agree to these terms and conditions, and acknowledge that you understand the potential risks associated with its use. You also agree to indemnify and hold harmless the authors, contributors, and copyright holders from any claims, damages, or liabilities arising from your use of OpenBuddy.

License Restrictions

OpenBuddy-LLaMA series models are subject to Meta's licensing agreement. These models are intended for use only by individuals who have obtained approval from Meta and are eligible to download LLaMA. If you have not obtained approval from Meta, you must visit the https://ai.meta.com/llama/ page, read and agree to the model's licensing agreement, submit an application, and wait for approval from Meta before downloading the model from the model page.

For the OpenBuddy-Falcon-7B/40B, OpenBuddy-Mistral, OpenBuddy-Zephyr and OpenBuddy-OpenLLaMA series models, they are released under the Apache 2.0 License. Please refer to the Apache 2.0 License for applicable scope and restrictions.

For other models, they are usually released under the same license as the base model. Please refer to the Model Card for more information.

Regarding the source code related to the OpenBuddy open-source project (including, but not limited to, example code), they are released under the Apache 2.0 License.

Acknowledgements

We extend our deepest gratitude to the open-source community for their selfless assistance and contributions to the OpenBuddy project.

Firstly, we would like to specifically thank WeiKe Software for their robust support and help in the aspect of model training. We also want to thank AIOS.club for their invaluable support.

We owe our thanks to Mr. Su Jianlin for providing invaluable advice during the model training process. Not only did he provide professional advice, but he also introduced the NBCE method, which enables open-source models like OpenBuddy to support inference with a super-long context of 10K. This has had a profound impact on our work.

Our appreciation goes to flysnow and jstzwj. They provided valuable advice during the early stages of model development and extended substantial support and assistance in model inference.

At the same time, we also wish to express our gratitude to camera and other enthusiasts of open language models. Their suggestions played a pivotal role in improving the model.

Once again, we thank everyone who has contributed to the OpenBuddy project. Our success is inseparable from your support and encouragement. Moreover, we acknowledge Tii and Facebook for introducing the Falcon model and the LLaMA model, respectively, which have laid a solid foundation for our project.

openbuddy's Projects

alpaca_eval icon alpaca_eval

An automatic evaluator for instruction-following language models. Human-validated, high-quality, cheap, and fast.

exllama icon exllama

A more memory-efficient rewrite of the HF transformers implementation of Llama for use with quantized weights.

firefly icon firefly

Firefly(流萤): 中文对话式大语言模型(全量微调+QLoRA),支持微调Baichuan2、CodeLlama、Llma2、Llama、Qwen、Baichuan、ChatGLM2、InternLM、Ziya、Bloom等大模型

vllm icon vllm

A high-throughput and memory-efficient inference and serving engine for LLMs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.