# LLMOps

LLMOps（大语言模型操作）是一套全面的实践和流程，涵盖大型语言模型（如GPT系列）的开发、部署、维护和优化。LLMOps旨在确保这些强大AI模型的高效、可扩展和安全使用，以构建和运行现实世界的应用程序。它涉及模型训练、部署、监控、更新、安全.

下表展示了在使用 DIN 的服务层之前和之后，AI 应用开发各个阶段的差异：

| Steps                                          | Before                                                                                                   | After                                                                    | Save time |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------- |
| Developing Frontend & Backend for Applications | Integrating and encapsulating LLM capabilities requires a lot of time to develop front-end applications. | Directly use  backend services to develop based on a WebApp scaffold.    | -80%      |
| Prompt Engineering                             | Can only be done by calling APIs or Playground.                                                          | Debug based on the user's input data.                                    | -25%      |
| Data Preparation and Embedding                 | Writing code to implement long text data processing and embedding.                                       | Upload text or bind data sources to the platform.                        | -80%      |
| Application Logging and Analysis               | Writing code to record logs and accessing databases to view them.                                        | The platform provides real-time logging and analysis.                    | -70%      |
| Data Analysis and Fine-Tuning                  | Technical personnel manage data and create fine-tuning queues.                                           | Non-technical personnel can collaborate and adjust the model visually.   | -60%      |
| AI Plugin Development and Integration          | Writing code to create and integrate AI plugins.                                                         | The platform provides visual tools for creating and integrating plugins. | -50%      |

在使用 LLMOps 平台之前，基于 LLM 开发应用程序可能会繁琐且耗时。开发者需要独立处理每个阶段的任务，这导致了效率低下、扩展困难和安全问题。以下是在使用 LLMOps 平台之前的开发过程：

* **数据准备**：手动收集和预处理数据，可能涉及复杂的数据清理和标注工作，需要大量代码。
* **提示工程**：开发者只能通过 API 调用或 Playground 编写和调试提示，缺乏实时反馈和可视化调试。
* **嵌入和上下文管理**：手动处理长上下文的嵌入和存储，优化和扩展可能很具挑战性，需要相当多的编程工作，并熟悉模型嵌入和向量数据库。
* **应用监控与维护**：手动收集和分析性能数据，可能无法实时检测和解决问题，甚至可能缺乏日志记录。
* **模型微调**：独立管理微调数据的准备和训练过程，这可能导致效率低下，并需要更多的代码。
* **系统与操作**：开发管理后台需要技术人员参与或成本，增加开发和维护成本，且缺乏对协作和非技术用户的支持。

随着 LLMOps 平台的引入，基于 LLM 开发应用程序变得更加高效、可扩展和安全。以下是开发 LLM 应用的优势：

* **数据准备**：平台提供数据收集和预处理工具，简化数据清理和标注任务，最小化或消除编码工作。
* **提示工程**：所见即所得的提示编辑和调试，允许根据用户输入数据进行实时优化和调整。
* **嵌入和上下文管理**：自动处理长上下文的嵌入、存储和管理，提高效率和可扩展性，无需大量编码。
* **应用监控与维护**：实时监控性能数据，快速识别和解决问题，确保应用程序的稳定运行，并提供完整的日志记录。
* **模型微调**：平台提供基于之前标注的真实使用数据的一键微调功能，提高模型性能，减少编码工作。
* **系统与操作**：用户友好的界面可供非技术用户使用，支持多个团队成员之间的协作，降低开发和维护成本。与传统开发方法相比，服务层提供了更透明、易于监控的应用管理，使团队成员能够更好地理解应用的运行情况。
