集调试共享及成本控制Prompt工具PromptLayer使用指南

目录
  • 前言
  • 官网介绍
    • 怎么运行的
    • 特征
  • 使用教程
    • python中使用
    • 结合LangChain使用
    • RESTAPI使用
  • 更多
    • 分享prompt
  • 总结时刻

前言

我们基于gpt开发的时候,其实调试prompt的时间占比的很大的,90%的时间花在prompt调试也不过分。今天给大家介绍一个最近在使用上来比较好的Prompt工具,开发起来简单,功能非常实用。

它就是:promptlayer.com/

官网介绍

PromptLayer 是一个开发工具,可让您跟踪、管理和共享 GPT 提示工程。它充当您的代码和 OpenAI 的 python 库之间的中间件,记录您的所有 API 请求并保存相关元数据,以便在 PromptLayer 仪表板中轻松浏览和搜索。

怎么运行的

PromptLayer 通过包装您的 OpenAI API 请求并在发送后记录有关它们的数据来工作。这一切都在您的机器上完成,您的 API 密钥永远不会发送。这意味着它不会干扰您现有代码库的功能,也不需要对您的应用程序架构进行任何更改。您需要做的就是将 PromptLayer 作为附加组件添加到您现有的 LLM 应用程序中,然后像往常一样开始发出请求。

当您发出 OpenAI API 请求时,PromptLayer 会记录它们并保存相关元数据,例如使用的提示、返回的响应以及传递的任何其他参数。此数据由 PromptLayer 存储,可以通过 PromptLayer 仪表板轻松访问。

github.com/MagnivOrg/p…

特征

PromptLayer 的一些主要功能包括:

  • API 请求日志记录: PromptLayer 记录您所有的 OpenAI API 请求,允许您在 PromptLayer 仪表板中搜索和探索请求历史记录。
  • 元数据跟踪: 在后台,PromptLayer在请求发出后记录每个 OpenAI 请求,保存相关元数据,例如使用的提示、返回的响应以及传递的任何其他参数。
  • 易于集成: PromptLayer 是现有 LLM 应用程序的附加组件,无需更改应用程序的体系结构。
  • 专为生产而设计: PromptLayer 旨在帮助维护生产中的 LLM 并协助开发过程。它是产品就绪的,即使失败也不会干扰您的应用程序的功能。
  • 协作: PromptLayer 允许您与他人分享您的提示工程,从而轻松地与队友协作项目或与更广泛的社区分享您的工作。

使用教程

python中使用

安装

pip install promptlayer

导入,并重新赋值openai = promptlayer.openai ,官方文档上是说:所有 OpenAI 请求都是从您的机器本地发出的,PromptLayer 只是记录请求

import promptlayer
promptlayer.api_key = "<YOUR PromptLayer API KEY pl_xxxxxx>"
openai = promptlayer.openai

跟原生的openai调用一样,使用create创建,区别是pl_tags 是你在promptlayer创建的标签

openai.Completion.create(
					engine="text-ada-001",
					prompt="My name is",
					pl_tags=["name-guessing", "pipeline-2"]
)

完整代码如下:

import promptlayer
import os
promptlayer.api_key = os.environ.get("PROMPTLAYER_API_KEY")
openai=promptlayer.openai
openai.api_key = os.environ.get("OPENAI_API_KEY")
openai.Completion.create(
					engine="text-ada-001",
					prompt="My name is",
					pl_tags=["name-guessing", "pipeline-2"]
)

结合LangChain使用

导入

import os
from langchain.chat_models import PromptLayerChatOpenAI
from langchain.schema import HumanMessage

设置PROMPTLAYER_API_KEY

os.environ["PROMPTLAYER_API_KEY"] = "**********"

使用

chat = PromptLayerChatOpenAI(pl_tags=["langchain"])
chat([HumanMessage(content="I am a cat and I want")])

RESTAPI使用

import requests
request_response = requests.post(
    "https://api.promptlayer.com/rest/track-request",
    json={
        "function_name": "openai.Completion.create",
				// kwargs will need messages if using chat-based completion
        "kwargs": {"engine": "text-ada-001", "prompt": "My name is"},
        "tags": ["hello", "world"],
        "request_response": {"id": "cmpl-6TEeJCRVlqQSQqhD8CYKd1HdCcFxM", "object": "text_completion", "created": 1672425843, "model": "text-ada-001", "choices": [{"text": " advocacy"\n\nMy name is advocacy.", "index": 0, "logprobs": None, "finish_reason": "stop"}]},
        "request_start_time": 1673987077.463504,
        "request_end_time": 1673987077.463504,
				"prompt_id": "<PROMPT ID>",
				"prompt_input_variables": "<Dictionary of variables for prompt>"
        "api_key": "pl_<YOUR API KEY>",
    },
)

参数:

  • api_key
  • function_name— 函数的名称。它应该是以下之一openai.Completion.create,或者openai.ChatCompletion.create我们使用它来知道如何正确解析响应
  • kwargs — 传递给 OpenAI API 的关键字参数。通常它至少应该包括engineprompt如果您使用的是聊天完成或 GPT-4,它应该包含messages而不是prompt.
  • request_response— OpenAI 的回应(他们是如何把它还给你的)
  • request_start_time— 你开始向 OpenAI 发出请求的时间
  • request_end_time— 你结束对 OpenAI 的请求的时间
  • tags — 可选的字符串标签数组,用于在 PL 仪表板上标记此请求
  • prompt_id— 可选的您用于此请求的 PL 注册表中提示的 ID(请参阅get-prompt-template如何获取此 ID,或者您可以从仪表板中的 URL 获取它)
  • prompt_input_variables— 可选的用于模板的输入变量。这用于语法突出显示,更重要的是,用于在您想要迭代提示时进行回测。

更多

分享prompt

总结时刻

本文介绍了一个基于GPT的Prompt调试工具PromptLayer,它可以帮助开发者跟踪、管理和共享GPT的提示,并且提供了API请求日志记录、元数据跟踪、易于集成、专为生产而设计和协作等功能。开发者可以通过安装promptlayer包并重新赋值openai = promptlayer.openai来使用PromptLayer,同时将其作为附加组件添加到现有的LLM应用程序中。此外,本文还介绍了如何结合LangChain和RESTAPI使用PromptLayer。

以上就是集调试共享及成本控制Prompt工具PromptLayer使用指南的详细内容,更多关于Prompt工具PromptLayer的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python 命令行 prompt_toolkit 库详解

    目录 一. 使用 Bash 下常用快捷键 二. 实现查找历史命令 三. 根据历史输入自动提示 四. 实现输入的自动补全 Python 的第三方库 prompt_toolkit 用于打造交互式命令行,在交互式场景的使用中,prompt_toolkit 具有以下特点: 语法高亮 支持多行编辑 支持代码补全 支持自动提示 使用鼠标移动光标 支持查询历史 对 Unicode 支持良好 跨平台 支持 Emacs 与 Vi 风格的快捷键 prompt_toolkit 在使用前需要先进行安装: pip ins

  • ChatGPT如何写好Prompt编程示例详解

    目录 引言 好的 prompt 具有的设计原则 编写良好prompt的四种基础模式 编写一个合格的prompt的要点 让AI扮演角色 明确提供要执行的任务 给出完成任务的步骤 围绕任务提供上下文 陈述具体目标,给出具体要求 要求格式化输出 明确指定语言风格 让AI站在人物的角度,而非上帝视角 马上给出具体的样例 小结 引言 现在已经产生了一种新职业:Prompt Engineer(提示指令工程师),可见 Prompt 是多么重要,且编写不易. ChatGPT的产出,一半决定于它的实力,一半决定于

  • Langchain集成管理prompt功能详解

    目录 LangChain是什么 如何使用 一.需要大语言模型 二.LangChain的模块 1. LLM:从语言模型中输出预测结果 2. Prompt Templates: 管理LLMs的Prompts 3. Chains:将LLMs和prompts结合起来 4. Agents:基于用户输入动态地调用chains 5. Memory 遇到的错误 LangChain是什么 如何使用 经过了chatGPT,大家都知道了prompt-based learning,也明白了prompt在生成式模型的重要

  • SqlServer开发神器'SQLPrompt'插件的使用详解

    目录 一:可以用缩写来代替命令语句. 二:可以忽略大小写以及会自动补全,当表名或存储过程名字忘记时,只需要写几个关键字母就可以看到提示. 三:任何表,视图,存储过程以及函数,作业等都可以快速预览其creat语句 四:当输入完“insert into table”时,按下‘Enter’回车键,将会列出该表的所有字段. SQLPrompt是Sql Server 开发智能提示插件,方便查询表结果,避免了开发人员一个个敲查询语句.执行语句等,下面带大家仔细了解一下. 打开Sql Server,该插件会自

  • Sql Prompt 10下载与安装破解图文教程(最新推荐)

    目录 1.下载安装 2.破解 2.1破解的时候,先要断网,然后再操作,按如图打开界面,点击Manage License 2.2点击Activate 2.3打开SQL.Prompt.Keygen.exe,将生成的注册码拷贝到输入框内,然后点击Activate 2.4 继续点击Activate manually 2.5 按如下步骤操作 2.6最后点击Activate,破解成功 sql prompt 10是一款拥有智能提示功能的SQL Server和VS插件,该软件不仅为用户提供了语法和编写代码片段的

  • 集调试共享及成本控制Prompt工具PromptLayer使用指南

    目录 前言 官网介绍 怎么运行的 特征 使用教程 python中使用 结合LangChain使用 RESTAPI使用 更多 分享prompt 总结时刻 前言 我们基于gpt开发的时候,其实调试prompt的时间占比的很大的,90%的时间花在prompt调试也不过分.今天给大家介绍一个最近在使用上来比较好的Prompt工具,开发起来简单,功能非常实用. 它就是:promptlayer.com/ 官网介绍 PromptLayer 是一个开发工具,可让您跟踪.管理和共享 GPT 提示工程.它充当您的代

  • SpringSession+Redis实现集群会话共享的方法

    WEB应用开发完成后部署到Tomcat或其他容器中供用户访问. 小型应用在一台服务器上安装Tomcat并部署WEB应用. 随着访问量增大, Tomcat的压力会越来越大, 直至崩溃. 为了保证WEB应用的承载能力, 需要对WEB应用进行集群处理. 技术发展到今天, 集群/负载均衡已经变的相对简单了. 下面用通俗的语言给刚入门的同学介绍下这两个概念: 某KFC开业时只有一个点餐窗口(一台Tocmat服务器, 可以节约成本)对外提供点餐服务. 应对日常点餐没有问题, 当饭口或者周末时一个窗口就会排起

  • 轻轻松松学JS调试(不下载任何工具)

    但是,我对JS调试还是有一定经验的: 首先当我们写好一段JS 的时候: 1. 点击IE浏览器 -- 工具栏 -- 点击开发人员工具或按F12我们调试界面 点击最左侧可以和 VS2005 一样设置断点了 点击调试: 就可以回到页面 运行 或 刷新 进行调试了 其实都 是微软的产品 难免和 VS 一样 ,所以学起来都很轻松 既然和VS也一样 自然 VS也能调试 JS 火狐也是差不多 选择错误控制台(CTRL+SHIFT+J) 可以直接输入JS测试 比较好用的就是 firefox+firebug结合查

  • 调试Node.JS的辅助工具(NodeWatcher)

    貌似在Windows平台下不支持 fs.watchfile .我又不想使用IIS NODE,所以我花了点时间写了个帮助调试的小工具. 这个工具可以做到: 监视主js文件下所有子目录相关文件的更改.有更改后重启Node进程 可以将日志输出到此工具,便于在浏览器里检视. 用法: NodeWatcher.exe main.js 所有参数: 复制代码 代码如下: NodeWatcher.exe 主JS程序 [其它可选参数] 主JS程序必须指定.相当于 node 主js程序 -r :[true | fal

  • SpringBoot开发案例 分布式集群共享Session详解

    前言 在分布式系统中,为了提升系统性能,通常会对单体项目进行拆分,分解成多个基于功能的微服务,如果有条件,可能还会对单个微服务进行水平扩展,保证服务高可用. 那么问题来了,如果使用传统管理 Session 的方式,我们会遇到什么样的问题? 案例 这里拿下单举例,用户小明在天猫上相中了一个的娃娃,觉得不错,果断购买,选尺寸,挑身高,然后确认选择,赶紧提交订单,然后就跳转到了登录页面!小明表示很郁闷,大写的问号??? 小明进入娃娃页面,此时请求通过代理服务发送到业务系统一. 小明选尺寸,挑身高,此操

  • JavaScript 开发工具webstrom使用指南

    看到网上一篇介绍webstrom的文章,觉得功能确实强大,也知道为什么阿里巴巴的前端传到github上的文件为啥都有一个 .idea 文件,(传说淘宝内部推荐写js用webstrom) 我们可以理解 IDE 就是集成了很多你想要的功能,或者你不想要的功能.换句话说就是装了很多插件的 editor ,所以到目前为止,我还觉得没必要给它装什么插件. 那么接下来开始介绍webstrom的特色功能: WebStorm 是 JetBrains 推出的一款商业的 JavaScript 开发工具 任何一个编辑

  • 基于Python 的进程管理工具supervisor使用指南

    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k. 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序. 除此之

  • 源代码快速定位工具-qwandry使用指南

    GitHub地址:https://github.com/adamsanderson/qwandry qwandry 能快速定位到我们需要找到 库文件, 项目 的工具. Ruby中实现快速定位的方法有好多种,我知道的有三个: cd `bundle show active_record` 通过tag方法(tag 定位更精确,可以定位到方法级别) 或者通过 qwandry 安装 gem install qwandry 使用 qw matrix # opens ruby's matrix class i

  • python代理工具mitmproxy使用指南

    前言 mitmproxy 是 man-in-the-middle proxy 的简称,译为中间人代理工具,可以用来拦截.修改.保存 HTTP/HTTPS 请求.以命令行终端形式呈现,操作上类似于Vim,同时提供了 mitmweb 插件,是类似于 Chrome 浏览器开发者模式的可视化工具. 它是基于Python开发的开源工具,最重要的是它提供了Python API,你完全可以通过Python代码来控制请求和响应,这是其它工具所不能做到的,这点也是我喜欢这个工具的原因之一. 安装 sudo pip

  • PostgreSQL管理工具phpPgAdmin入门指南

    一.安装phpPgAdmin将下载的压缩包解压 对于 tar.gz 执行如下命令: 复制代码 代码如下: gunzip phpPgAdmin-*.tar.gztar -xvf phpPgAdmin-*.tar 对于 tar.bz2 执行如下命令: 复制代码 代码如下: bunzip2 phpPgAdmin-*.tar.bz2tar -xvf phpPgAdmin-*.tar 对于 .zip 执行如下命令: 复制代码 代码如下: unzip phpPgAdmin-*.zip 二. 配置 phpPg

随机推荐