与预训练大型语言模型交互涉及寻找LLM服务、使用网页界面以及进行基本的API调用。您将这些方法结合起来,执行一个直接的文本生成任务。本练习旨在让您亲自动手,向LLM发送指令并观察其响应。您的任务:生成一段简短描述我们的目标很明确:要求LLM写一段简短的段落,描述阳光明媚的海滩日。这项常见任务能让您专注于交互过程本身,而无需特定背景知识。选择您的方法您可以根据本章前面所学内容,使用网页界面或基础API调用来执行此任务。使用网页界面(推荐起点): 如果您偏好可视化方式,使用LLM服务的网页版操作台或聊天界面是个不错的开始。这样可以避免任何代码设置。使用API调用: 如果您对API章节中的原理感到自在,并且拥有API密钥和端点访问权限,您可以尝试直接发出请求。这让您感受到程序化交互的体验。选项1:使用网页界面访问界面: 打开您在“通过网页界面交互”章节中了解的LLM服务的网页界面。这可能是一个聊天窗口或更结构化的“操作台”环境。找到输入区: 找到您输入指令(即提示词)的文本框。编写提示词: 在文本框中输入以下指令: Write a short paragraph describing a sunny day at the beach. 请注意,此提示词是一个直接指令。它明确了所需内容(“阳光明媚的海滩日”)并暗示了长度(“简短段落”)。清晰的指令通常能带来更好的结果。提交: 将提示词发送给模型,通常是按回车键或点击“提交”、“发送”或“生成”按钮。观察输出: LLM将处理您的请求并生成文本。阅读它生成的段落。选项2:使用API调用如果您选择API方式,您将需要API端点URL和您的API密钥,正如“查找和选择LLM服务”和“LLM API使用入门”中所述。准备请求: 您将发送一个HTTP POST请求。从命令行执行此操作的常用方法是使用curl。结构示例如下(请记得替换占位符):# 将 YOUR_API_ENDPOINT 替换为服务提供的实际URL # 将 YOUR_API_KEY 替换为您的唯一密钥 curl YOUR_API_ENDPOINT \ -X POST \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Write a short paragraph describing a sunny day at the beach.", "max_tokens": 100 }' # 请查阅任何LLM提供商的文档以获取其具体的API规范。 # E.g. https://platform.openai.com/docs/api-reference/introduction理解组成部分:YOUR_API_ENDPOINT:LLM服务监听请求的网络地址。-X POST:指定这是一个POST请求,用于发送数据。-H "Authorization: Bearer YOUR_API_KEY":用于认证的请求头。您的API密钥告诉服务谁在发起请求。-H "Content-Type: application/json":此请求头告知服务器您发送的数据(-d)是JSON格式。-d '{...}':数据负载。它是一个JSON对象,包含:"prompt":您给LLM的指令。"max_tokens"(示例参数):许多API允许通过参数控制输出。max_tokens通常限制响应的长度。我们在此将其设置为100作为示例;具体的参数名称和功能可能因服务而异。执行请求: 在您的终端中运行此命令。解读响应: 服务器将返回一个JSON响应。正如您在“解读LLM响应”中所学,您需要查看此JSON结构内部以找到生成的文本。它可能嵌套在text、choices或generations之类的键下。JSON响应结构示例: json { "id": "cmpl-xxxxxxxxxxxx", "object": "text_completion", "created": 1678886400, "model": "some-model-name-v1", "choices": [ { "text": "\nThe sun beamed down, warming the soft golden sand underfoot. Gentle waves lapped at the shore, creating a soothing rhythm, while children's laughter echoed faintly in the distance. A light, salty breeze rustled through the nearby palm trees, offering a perfect escape.", "index": 0, "logprobs": null, "finish_reason": "length" } ] } 在此示例中,生成的段落位于choices[0].text内部。分析与尝试无论您使用哪种方法,请查看结果:LLM是否生成了描述阳光海滩的段落?文本是否连贯并与您的提示词相关?段落有多长?它是否“简短”?现在,请尝试:修改提示词: 更改主题。要求描述“森林中的暴风雨之夜”或“城市咖啡馆里繁忙的早晨”。添加细节: 更具体一些。要求它“写一段简短的段落,描述阳光明媚的海滩日,提及嬉戏的海豚和彩色的遮阳伞。”更改限制: 请求不同的格式或长度。尝试:“准确写三句话描述阳光明媚的海滩日。”或“列出在阳光海滩您可能听到的五件事。”再次运行: 再次提交完全相同的提示词。您得到了相同的响应吗?通常,由于这些模型的概率性特点,您会看到细微的差异。编写提示词、观察输出并根据结果改进提示词的这一过程是有效使用LLM的核心。您现在已成功使用预训练LLM完成了一个基础文本生成任务!这种动手实践的经验为处理更复杂的交互和应用提供了初步能力,这些将在后续学习中进一步讨论。