正在加载视频...

视频加载失败

推荐一个可以远程调试任意 Web 网页的工具包,page-spy-web, Chrome Devtools 一样,查看一个远程网页的控制台输出、网络请求、缓存信息以及页面内容,也可以直接下发 JS 指令,对网页进行控制。 它的使用场景还是比较丰富的,例如用户页面白屏,更换无数姿势都无法复现的时候,例如线下门店安装前端应用,需要跑到人家店里去的时候,都可以考虑使用这个工具,它能够实时查看用户侧的网页异常,了解端侧详细信息,也可以远程控制或调试前端应用。当然,这些操作都需要考虑到隐私问题,获得用户授权。 这个项目的部署十分简单,一句命令就可以搞定,部署之后,所有放置了 SDK 的网页都会使用 Websocket 与 Server 维持长链接,调试过程涉及到的通讯协议在这个仓库:

104,631 次观看 • 2 年前 •via X (Twitter)

0 条评论

暂无评论

原始帖子的评论将显示在这里

相关视频

《用ChatGPT API构建系统》课程简介 吴恩达:欢迎参加关于使用ChatGPT API构建系统的课程。 之前,Isa和我介绍了如何提示(Prompt)ChatGPT的课程。 但是一个系统需要的远不止一个提示(Prompt)或一个对LLM(大型语言模型)的调用。 在这个短期课程中,我们想和您分享使用LLM构建复杂应用程序的最佳实践。 Isa:我们将以构建一个端到端的客户服务辅助系统为例,该系统将多个调用链接到语言模型, 根据前一个调用的输出使用不同的指令,有时甚至从外部来源查找信息。 例如,对于用户输入的“告诉我有哪些电视出售”,我们将使用以下步骤来处理。 首先,您可以评估输入以确保其不包含任何有问题的内容,例如仇恨言论。 接下来,系统将处理输入。它将确定这是哪种类型的查询。 这是一个投诉还是产品信息请求等? 一旦确定这是一个产品查询,它将检索有关电视的相关信息,并使用语言模型编写一个有帮助的回答。 最后,你需要检查输出内容,确保没有问题,比如不准确或不适当的答案。 吴恩达:在这门课程中,你会发现一个主题,那就是一个应用程序通常需要多个对最终用户不可见的内部步骤。 你通常希望按顺序处理用户输入,经过多个步骤才能得到最终显示给用户的输出。 当你使用LLM构建复杂系统时,从长远来看,你通常还希望不断改进系统。 因此,我还将与您分享开发基于LLM的应用程序的过程感受以及评估和改进系统的最佳实践。 我们感谢许多为这门短期课程做出贡献的人。 在OpenAI方面,我们感谢Andrew Kondrich、Joe Palermo、Boris Power和Ted Sanders。 来自 Ladwig、Eddy Shyu和Tommy Nelson。 Isa:通过这门短期课程,我们希望你能够对自己建立一个复杂的多步应用程序的能力充满信心, 并且能够维护和不断改进它。 让我们开始吧。

宝玉

35,542 次观看 • 3 年前

当浏览器自带 AI 会是怎样? 终于有人做出来了,官方介绍非常棒: “有挂”是一个浏览器插件,使用自然语言对话,你可以对互联网上的所有网页进行编程。从此你可以掌控任何在你电脑上查看的网页。 在现有网页上编程可以吗?可以,开发者应该很熟悉,F12后往里头写脚本就好,一些简单的小代码甚至懒得打开vscode来写。那没有代码基础,直接说需求然后修改任何网页可能吗?当然也可以,这就是「有挂」要做的事情。 千人千面,在浏览网页的时候,每个人都有不同的偏好和需求。让我们看一些例子(摘录自用户原声): - 我想直接将知乎热榜的话题直接做一个导出功能,导出为 Excel - 足球资讯里头不想看X国足球的信息,帮我屏蔽 - 能针对文档里的这些接口,在下面补充几个使用样例代码吗 - 都什么年代了网页上还有12px的字呐?我要我浏览的网页上最小的字号是14px - 我是强迫症,看到中文、英文和数字时间没有空格身上就仿佛有一万只蚂蚁在爬 - 我经常不知道复制成功没有,我希望每次我复制成功的时候,网页右上角都会弹出一个提示。而不是等我切换到要粘贴的时候才发现没复制上,真的很烦 - 很多网页没有回到顶部的按钮。我要求所有网页都具备这个按钮 - 谷歌是我的启动页,我想把谷歌的背景换成黑客帝国风格 ... 这些需求,要么太简单,开发者懒得开发,要么太小众,开发出来也没多少人用,开发者没什么动力去做,甚至有些需求,可能只有你想要。而这个产品,就是要让你的需求哪怕再小、再古怪,也能被满足、以你想要的方式被满足。你只需要输入一句“我要xxx”,便可轻松随心定制网页的内容和行为。 “这就像是开挂了一样!”就像很多年前,我们在侠盗列车GTA中敲入一串特定字符(又称为作弊码)后,游戏内容会作出相应的修改,比如引爆载具,召唤从天而降的坦克等。

Orange AI

49,514 次观看 • 2 年前

发现一个讲的很细的大语言模型微调教程,详细介绍了整个流程,包括数据准备、参数设置、资源监控等关键步骤。 基本没有技术能力也可以完成微调。想要了解 LLM 原理的可以按这个实践一下。 时间轴: 0:00 概念概览 3:02 自定义数据的准备 8:17 微调操作演示(T4 版本) 16:52 微调操作演示(A100 版本) 19:13 在 Hugging Face 上的保存与使用方法 文字版整理: ✲ 如何使用自己的数据对大语言模型进行微调(fine-tuning): 对大语言模型进行微调并不一定非常困难和昂贵。通过使用自己的数据集对预训练模型进行微调,可以让模型更好地适应特定的任务需求。微调过程能够在保留原模型语言理解能力的基础上,进一步提升其在特定领域或任务上的表现。 ✲ 使用Hugging Face模型库和Unslaw工具进行模型微调: Hugging Face提供了丰富的预训练语言模型资源,用户可以根据任务需求选择合适的模型作为基础进行微调。而Unslaw工具则提供了一套简单高效的微调流程,其优点包括出色的内存使用效率以及对扩展上下文窗口的支持。通过Unslaw,用户能够以较低的资源开销完成模型微调。 ✲ 在Google Colab上使用免费/付费GPU资源进行微调: Google Colab提供了免费和付费的GPU资源,用户可以根据任务的复杂程度选择使用T4或A100。对于大多数微调任务而言,免费的T4资源已经足够。但如果数据集较大或模型较为复杂,升级到A100可以获得更充裕的算力支持。Colab为用户提供了一个易于上手的模型微调环境。 ✲ 准备自定义的微调数据集: 准备微调数据的过程并不复杂。用户可以直接使用纯文本文件作为数据来源,而无需进行额外的预处理。为了获得理想的微调效果,建议至少准备100-200个样本。在示例中,为了快速演示,仅使用了几个样本。通过一个简单的Python脚本,可以方便地将原始文本数据转换为微调所需的JSON格式。 ✲ 修改Colab笔记本中的参数设置: 在Colab笔记本中,需要根据实际情况调整一些参数。例如,可以根据数据集的token数量来设置max_sequence_length参数,借助rope scaling技术,模型能够支持任意长度的上下文。此外,还可以选择使用Instruct系列模型作为base model,直接在其基础上进行指令微调。为了节省资源,可以启用4-bit量化。同时,参考Q-Lora论文的建议,调整R值和alpha值,以在资源占用和模型质量之间取得平衡。 ✲ 训练过程中的资源使用监控: 在模型训练过程中,用户可以通过Colab的资源监控选项卡实时观察GPU、内存和硬盘的使用情况。如果发现资源不足,可以考虑从T4升级到A100。通过监控资源占用,用户能够及时调整配置,确保微调任务稳定高效地进行。 ✲ 模型训练的loss变化和最佳checkpoint的选择: 通过记录不同训练步数下的loss值,可以判断模型的收敛情况。理想的做法是选择loss下降曲线趋于平缓的点作为最佳checkpoint,这样既能充分训练模型,又能避免过拟合。为了事后方便筛选,可以设置每隔一定步数保存一次checkpoint。 ✲ 模型微调完成后的保存与使用: 微调完成后,可以选择只保存adapter layers以加快保存速度。但更推荐的做法是保存完整模型,并使用float16精度,这样可以得到一个更通用和标准的模型格式,方便后续的部署和使用。 ✲ 在Hugging Face上公开或私有发布微调后的模型: 用户可以选择在Hugging Face的模型库中公开或私有地发布自己微调后的模型。发布之前,需要在Hugging Face账号中创建一个访问令牌,并在发布时提供相应的用户名和令牌信息。通过在Hugging Face上发布模型,用户可以方便地与他人分享自己的微调成果。 ✲ 使用微调后的模型进行推理(inference): 在使用微调后的模型进行推理时,首先需要加载保存的模型。接着,使用tokenizer对输入的文本进行处理,并将其传入模型。进行推理时,max_length参数需要与训练时保持一致,以确保生成的结果不会被截断。完成以上步骤后,就可以利用微调后的模型进行各种实际应用了。

歸藏(guizang.ai)

62,210 次观看 • 2 年前