首页 > 编程语言 >构建LLM应用程序时需要了解的5件事

构建LLM应用程序时需要了解的5件事

时间:2023-08-18 11:44:14浏览次数:42  
标签:提示 应用程序 问题 构建 LLM 幻觉

推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

1.幻觉

构建LLM应用程序时需要了解的5件事

使用LLM时应注意的主要方面之一是幻觉。在LLM的背景下,幻觉是指产生不真实的,不正确的,无意义的信息。LLM非常有创意,它们可以用于不同的领域,但仍然存在的一个非常关键的未解决问题是它们的幻觉。由于LLM不是搜索引擎或数据库,因此这些错误是不可避免的。

为了克服这个问题,您可以通过为输入提示提供足够的细节和约束来限制模型产生幻觉的自由度,从而使用受控生成。

2. 选择合适的上下文

如前所述,幻觉问题的解决方案之一是为输入提示提供适当的上下文,以限制LLM产生幻觉的自由。但是,另一方面,LLM对可以使用的单词数量有限制。此问题的一个可能的解决方案是使用索引,其中数据被转换为向量并存储在数据库中,并在运行时搜索适当的内容。索引通常有效,但实现起来很复杂。

3. 可靠性和一致性

如果您构建基于LLM的应用程序,您将面临的问题之一是可靠性和一致性。LLM 不可靠且不一致,无法确保模型输出每次都正确或符合预期。您可以构建应用程序的演示并多次运行它,当您午餐应用程序时,您会发现输出可能不一致,这将给您的用户和客户带来很多问题。

4. 提示工程不是未来

与计算机通信的最佳方式是通过编程或机器语言,而不是自然语言。我们需要一个明确的,以便计算机理解我们的要求。LLM的问题在于,如果你要求LLM用同样的提示做十次特定的事情,你可能会得到十个不同的输出。

5. 提示注入安全问题A

构建基于 LLM 的应用程序时将面临的另一个问题是提示注入。在这种情况下,用户将强制 LLM 提供预期的特定输出。例如,如果您创建了一个应用程序来生成 youtube 脚本视频(如果您提供标题)。用户可以指示忘记所有内容并写一个故事。

总结

构建LLMs应用程序很有趣,可以解决几个问题并自动执行许多任务。但是,它带来了一些问题,您在构建基于 LLM 的应用程序时需要注意。从幻觉开始,选择正确的提示上下文来克服幻觉,输出可靠性和一致性以及快速注射的安全问题。

原文链接:构建LLM应用程序时需要了解的5件事 (mvrlink.com)

标签:提示,应用程序,问题,构建,LLM,幻觉
From: https://www.cnblogs.com/mvrlink/p/17640058.html

相关文章

  • 企业信息安全架构建设规划
    参考ISO27001、以网络安全法及等级保护2.0要求为基准,并结合业界最佳安全实践,从安全管理体系、安全技术体系、和安全运营体系三个方面,来实现公司整体信息安全水平提升。参考ISMS模型安全保障建设分阶段实施。实施过程渐进性、逐步性,根据先后缓急设计,初步将安全实施计划分为以下四......
  • 使用.NET Framework进行Windows桌面应用程序开发
    当编写涉及使用.NETFramework进行Windows桌面应用程序开发的博客时,您可以涵盖从界面设计到用户交互和数据处理的各个方面。以下是一个简要的指南,您可以在博客中展开介绍,同时结合示例代码来说明。1.创建项目和界面设计项目创建:使用VisualStudio创建新的WindowsForms应用程序项......
  • Linuxy应用程序加载动态链接库的默认路径
    在Linux系统中,当应用程序执行时,系统会按照一定的规则去寻找动态链接库(也称为共享库或.so文件)。系统使用一组默认的搜索路径来查找这些库,以便在运行时正确加载所需的库。以下是Linux系统寻找动态链接库的一般规则:系统默认路径:Linux系统会在一组默认的路径中查找动态链接......
  • 使用 OpenTelemetry 构建可观测性 03 - 导出
    上一个博文中,我提到如何使用OpenTelemery的特定语言API来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步。你需要把遥测数据路由转发到其他地方,同时添加额外的元数据信息。这时就轮到SDK发挥作用了。链路追踪生产者(TracerProvider)链......
  • 使用 OpenTelemetry 构建可观测性 03 - 导出
    上一个博文中,我提到如何使用OpenTelemery的特定语言API来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步。你需要把遥测数据路由转发到其他地方,同时添加额外的元数据信息。这时就轮到SDK发挥作用了。链路追踪生产者(TracerProvider......
  • 【那些遇到的认知问题】如何同时运行 2 个 CUDA 应用程序?
    前言PC只有一个Nvidia显卡,程序A正在运行,训练分类,显卡内存占用不到50%,如果想同时运行另一个训练语义分割的程序B,是可行的嘛?结论理论上,如果对CUDA和GPU编程熟悉,可以对内核应用程序进行序列化,使得一个应用程序的内核正在运行时,GPU不会调度另一个应用程序的内核,类似于多进程。否则,......
  • 我的第一篇博客--深入了解.NET:构建强大的应用程序和平台
    导言:在现代软件开发领域中,微软.NET框架是一个备受推崇和广泛采用的平台。借助.NET,开发人员可以构建强大、高性能的应用程序和跨平台解决方案。本篇博客将带您深入了解.NET框架的独特功能和优点,并探索其在不同领域的应用。简介.NET框架解释.NET框架的基本概念和组件,包括公共语言运......
  • dotnet7下docker镜像构建之XML打包丢失问题
    注意暂时值适用.NETSDK7.0.100以上其他版本,可以参考举例中的配置host项目省流原因dotnetpublish发布命令对于引用项目的xml不会拷贝到发布目录举例host项目依赖api项目,api项目依赖utils包,utils包中的xml文件在host项目swagger需要使用xml文件一般包引用xml文件输出配......
  • 关于Node.js 构建中遇到node-gyp报错问题的解决方案记录
    项目今天进行版本更新,在走阿里云流水线的时候,出现了Node.js构建过程报错问题,抱歉详情截图如下: 经过反复排查,最终发现是因为阿里云的npm仓库的问题,于是果断更换npm仓库,执行命令如下:npmconfigsetregistryhttps://registry.npm.taobao.org然后重新 npmi--force 进行......
  • 构建跨平台的移动应用程序:Xamarin入门
    介绍:在移动应用开发领域,跨平台的解决方案变得越来越受欢迎。Xamarin是一种流行的跨平台移动应用开发框架,它允许开发者使用C#语言来构建同时运行在iOS和Android平台上的应用程序。本篇博客将带您入门Xamarin开发,展示如何构建跨平台的移动应用程序。步骤1:安装和设置环境在开始之前,......