跳到主要内容

提示工程快速入门 (SDK)

本快速入门将指导您如何使用 SDK 创建、测试和迭代提示。在本教程中,我们将使用 OpenAI,但您可以使用任何您想要的 LLM。

快速入门

本教程使用 SDK 进行提示工程,如果您对使用 UI 感兴趣,请阅读 本指南

1. 设置

首先,安装所需的包

pip install -qU langsmith openai langchain_core

接下来,请确保您已注册 LangSmith 账户,然后 创建 并设置您的 API 密钥。您还需要注册一个 OpenAI API 密钥,以便运行本教程中的代码。

LANGSMITH_API_KEY = '<your_api_key>'
OPENAI_API_KEY = '<your_api_key>'

2. 创建提示

要在 LangSmith 中创建提示,请定义您希望提示中包含的消息列表,然后使用 ChatPromptTemplate 函数(Python)或 TypeScript 函数将其封装。然后您只需调用 push_prompt(Python)或 pushPrompt(TypeScript)即可将您的提示发送到 LangSmith!

from langsmith import Client
from langchain_core.prompts import ChatPromptTemplate

# Connect to the LangSmith client

client = Client()

# Define the prompt

prompt = ChatPromptTemplate([
("system", "You are a helpful chatbot."),
("user", "{question}"),
])

# Push the prompt

client.push_prompt("my-prompt", object=prompt)

3. 测试提示

要测试提示,您需要拉取提示,使用您想要测试的输入值调用它,然后使用 LLM 或应用程序期望的这些输入值调用模型。

from langsmith import Client
from openai import OpenAI
from langchain_core.messages import convert_to_openai_messages

# Connect to LangSmith and OpenAI

client = Client()
oai_client = OpenAI()

# Pull the prompt to use

# You can also specify a specific commit by passing the commit hash "my-prompt:<commit-hash>"

prompt = client.pull_prompt("my-prompt")

# Since our prompt only has one variable we could also pass in the value directly

# The code below is equivalent to formatted_prompt = prompt.invoke("What is the color of the sky?")

formatted_prompt = prompt.invoke({"question": "What is the color of the sky?"})

# Test the prompt

response = oai_client.chat.completions.create(
model="gpt-4o",
messages=convert_to_openai_messages(formatted_prompt.messages),
)

4. 迭代提示

LangSmith 使您的整个团队可以轻松地迭代提示。您的工作区成员可以选择一个提示进行迭代,一旦他们对更改满意,就可以将其保存为新的提交。

改进您的提示

要向提示添加新的提交,您可以使用与首次创建提示时相同的 push_prompt(Python)或 pushPrompt(TypeScript)方法。

from langsmith import Client
from langchain_core.prompts import ChatPromptTemplate

# Connect to the LangSmith client

client = Client()

# Define the prompt to update

new_prompt = ChatPromptTemplate([
("system", "You are a helpful chatbot. Respond in Spanish."),
("user", "{question}"),
])

# Push the updated prompt making sure to use the correct prompt name

# Tags can help you remember specific versions in your commit history

client.push_prompt("my-prompt", object=new_prompt, tags=["Spanish"])

5. 后续步骤

  • 这些操作指南 中了解更多关于如何使用提示中心(Prompt Hub)存储和管理提示的信息
  • 这些操作指南 中了解更多关于如何在 Playground 中进行提示工程的信息

此页面有帮助吗?


您可以留下详细反馈 在 GitHub 上.