前言

咱们根据gpt开发的时分,其实调试prompt的时间占比的很大的,90%的时间花在prompt调试也不过火。今天给咱们介绍一个最近在运用上来比较好的Prompt工具,开发起来简略,功用非常实用。

它便是:promptlayer.com/

集调试、共享、成本控制的Prompt工具-PromptLayer

官网介绍

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

集调试、共享、成本控制的Prompt工具-PromptLayer

总结时间

本文介绍了一个根据GPT的Prompt调试工具PromptLayer,它能够帮忙开发者跟踪、管理和同享GPT的提示,而且供给了API恳求日志记载、元数据跟踪、易于集成、专为生产而规划和协作等功用。开发者能够经过装置promptlayer包并从头赋值openai = promptlayer.openai来运用PromptLayer,同时将其作为附加组件添加到现有的LLM应用程序中。此外,本文还介绍了如何结合LangChain和RESTAPI运用PromptLayer。

本文正在参加 人工智能创作者扶持方案