Setting Up
激活 API Key
要使用 VTSTG233-API,您需要创建一个帐户并生成一个 API 密钥。请执行以下步骤:



配置自定义地址
根据您的环境和应用程序,您将以不同的方式设置自定义地址URL。下面是一个通用的自定义地址,您可以使用它来访问我们的 API接口。或者你可以先配置好环境和应用程序/APP后,再次返回这个API文档查看方式。
https://api2.vtstg233.ccVTSTG233-API支持自定义地址URL/管理令牌/模型分组等选项,从而为您的 API 请求提供灵活性。您可以使用以下任一格式来调用该接口/对应接口:
https://api2.vtstg233.cchttps://api2.vtstg233.cc/v1https://api2.vtstg233.cc/v1/chat/completions
使用对应自定义地址后缀 URL 有助于确保与 API 的未来更新和更改兼容。建议对长期项目使用对应的 URL 以保持稳定性。
进行首次 API 调用
根据您的环境,您将以不同的方式调用我们的 API。以下是使用两种流行的编程语言调用我们的 API 的两种常见方法:Python 和 NodeJS。
代码解释
这两个示例都是用不同的编程语言编写的,但尽管如此,它们看起来非常相似。让我们一步一步地分解代码,看看发生了什么。
在上面的示例中,我们使用的是 OpenAI SDK。OpenAI SDK 是一个很好的模块,它允许我们使用 VTSTG233-API,而无需处理用于处理 HTTP 请求的重复样板代码。在我们使用 OpenAI SDK 之前,需要先导入它。导入发生在以下位置:
const { OpenAI } = require("openai");from openai import OpenAI就这么简单。下一步是初始化我们的代码将使用的变量。两个主要的是:基本 URL 和 API 密钥。我们已经在文章开头讨论了它们。
const baseURL = "https://api2.vtstg233.cc/v1";
const apiKey = "我的令牌密钥sk-xxxxx";
const systemPrompt = "你是一名旅行编写者。要有描述性并且提供帮助。";
const userPrompt = "告诉我关于广东广州的旅行情况";base_url = "https://api2.vtstg233.cc/v1"
api_key = "我的令牌密钥sk-xxxxx"
system_prompt = "你是一名旅行编写者。要有描述性并且提供帮助。"
user_prompt = "告诉我关于广东广州的旅行情况"为了与 LLM交互,用户使用文本。这些文本通常称为 “提示”。在我们的代码中,我们具有两个角色的提示:系统(system)和用户(user)。系统提示(system)设计为生成 LLM 内容,而用户提示词设计为用户输入,即系统提示词的主题。尽管许多模型可以以不同的方式运行,但这种行为通常适用于聊天 LLM 模型,这是目前最有用和最常用的调用模型方式之一。
在代码中,提示在变量 systemPrompt, userPrompt (JS) 和 system_prompt, user_prompt (Python ) 中调用。
在使用 API 之前,我们需要创建一个 OpenAI SDK 类的实例。它允许我们使用他们的所有方法。该实例是使用我们导入的包创建的,这里我们转发两个主要参数:基本 URL 和 API 密钥。
const api = new OpenAI({
apiKey,
baseURL,
});api = OpenAI(api_key=api_key, base_url=base_url)由于表示法的原因,这两个参数在这些不同的语言中的调用略有不同,但它们的功能是相同的。
所有准备步骤均已完成。现在我们需要编写我们的功能并创建一些很好玩的玩意。在上面的示例中,我们制作了最简单的旅行编写者。让我们分解一下如何向模型发送请求的步骤。
最佳做法是将代码块拆分为具有自己的逻辑的完整部分,而不是将可执行代码放在全局模块代码中。这条规则适用于我们讨论的两种语言。所以我们用所有的逻辑创建一个 main 函数。在 JS 中,由于 Promise 和简单性,这个函数需要是异步的。在 Python 中,请求同步运行。
OpenAI SDK 为我们提供了与聊天模型通信的方法。它位于 chat.completions.create 函数中。此函数接受多个参数,但只需要两个参数: model 和 messages。
model 是一个字符串,即您要使用的模型的名称。为了获得最佳结果,请使用专为聊天设计的模型,或者如果模型未为此目的进行微调,则可能会获得不可预知的结果。可在此处找到支持的模型列表。
messages 是一个对象数组, content 内容的字段为prompt, role 字符串可以是 system, user, tool, assistant之一。 通过该角色,模型可以理解如何处理此提示:这是一条指令吗?这是用户消息吗?这是如何回答的例子吗?这是代码执行的结果吗?工具角色用于更复杂的行为,将在另一篇文章中讨论。
在我们的示例中,我们还使用 max_tokens 和 temperature. 这一个参数文章中讨论了如何使用这些参数。
了解这些知识后,我们现在可以发送如下所示的请求:
const completion = await api.chat.completions.create({
model: "gpt-4-turbo",
messages: [
{
role: "system",
content: systemPrompt,
},
{
role: "user",
content: userPrompt,
},
],
temperature: 0.7,
max_tokens: 256,
});completion = api.chat.completions.create(
model="gpt-4-turbo",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
],
temperature=0.7,
max_tokens=256,
)来自函数 chat.completions.create 的响应包含一个完成。补全是 LLM内容。每个 LLM 模型都是某种词由大量数据训练而完成的。聊天模型旨在使用提示和某些角色自动完成这一块消息,但其他模型可以有自己的自定义逻辑,甚至不需要角色。
在这个完成中,我们对这一代的文本感兴趣。我们可以通过从 completion 变量中获取结果来获取它:
const response = completion.choices[0].message.content;response = completion.choices[0].message.content在某些情况下,完成可能会有多个结果。这些结果称为选择项。每个选择都有一个信息,是一代的产物。字符串内容被放置在 content 变量中,我们将其放置在上面的 response 变量中。
在接下来的步骤中,我们终于可以看到结果。在这两个示例中,我们打印用户提示和响应,就像它是对话一样:
console.log("User:", userPrompt);
console.log("AI:", response);print("User:", user_prompt)
print("AI:", response)瞧!使用 VTSTG233-API 模型是进入机器学习和人工智能世界的最简单、最有效的方法。
未来步骤
最后更新于