Skip to main content

提示工程快速入门 (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 上留下详细的反馈。