Introduction to ChatLuna
ChatLuna is an innovative chatbot plugin designed to offer versatile services using large language models across multiple platforms. Known for its extensibility and adaptability, it provides various output formats to enable rich and interactive conversations. This article gives an overview of the ChatLuna project, detailing its features, deployment, and supported platforms.
Features
ChatLuna boasts a wide array of features that enhance its functionality and user experience:
- Highly Extensible: Built on LangChain and Koishi API, ChatLuna is easily customizable and capable of integrating new models and platforms.
- Custom Conversational Presets: Users can define and personalize conversation presets to better align with specific needs or usages.
- Rate Limiting and Blacklist Systems: Ensures the performance and safety of conversations by managing traffic and restricting malicious entities.
- Multiple Output Formats: Offers text, voice, image, and hybrid outputs to meet diverse communication needs.
- Context Awareness and Long-term Memory: Understands conversational context, maintaining coherence across exchanges.
- Three Modes: Chat, Browse, and Plugin modes to cater to different interaction types.
- Content Moderation: Integrated via Koishi's review service, ensuring conversations respect community standards.
Deployment
ChatLuna can be seamlessly integrated into Koishi for basic functionality without additional configuration. Users looking to explore advanced features or customization can consult the comprehensive guide, available on the ChatLuna website.
Supported Models and Platforms
ChatLuna supports various models and platforms, providing users with flexibility in integrating their preferred technologies:
- OpenAI: Customizable personality settings, requires a paid API.
- Azure OpenAI: Similar customization and chat modes as OpenAI, with associated API costs.
- Google Gemini: Rapid performance, surpasses GPT-3.5, requires account access.
- Claude API: Large context handling, chargeable with API Key.
- Domestic Models (Tongyi Qianwen, Zhipu, iFlytek Spark, Wenxin Yiyan, Hunyuan): Mostly free for registered users, varying efficacy, especially among domestic Chinese models.
- Open-source and DIY Models (Ollama, GPT Free, ChatGLM, RWKV): Deployment flexibility, generally cost-effective, requiring setup of backend API with the necessary system configuration.
Additionally, models can benefit from internet search capabilities using APIs such as Google, Bing, DuckDuckGo, and Tavily.
Preset System
Since version 1.0.0-alpha.10, ChatLuna employs customizable presets using YAML configuration files. This enhances personalization of chatbots, allowing users to easily add or modify presets.
Development and Contributing
Developers are encouraged to clone and contribute to the ChatLuna project. Instructions are provided for setting up and running the project, fostering an open-source collaborative environment. Contribution to documentation, UI, and server improvements is particularly welcomed.
Legal and Usage Information
The ChatLuna project is developed by ChatLunaLab and complies with open-source protocols. It emphasizes the responsible use of technologies to ensure safety and compliance with regional laws. The project does not inherently provide artificial intelligence services but facilitates access to third-party algorithms.
Acknowledgments
ChatLuna stands on the shoulders of open-source giants, including koishi-plugin-openai and node-chatgpt-api, among others. The project also benefits from JetBrains' support, providing a suite of IDEs for open-source development.
In summary, ChatLuna is a flexible and rich chatbot framework that serves a diverse community reliant on large language models, fostering innovation and collaboration in AI-driven communications.