PHASEO_API_KEY,然后发送第一个请求。概览列出了每个包的注册表和已发布版本。
1
安装包
- TypeScript
- Python
- Go
- C#
- PHP
- Ruby
- Java
- Rust
npm install @phaseo/sdk
pnpm add @phaseo/sdk
yarn add @phaseo/sdk
pip install phaseo
uv add phaseo
pip install "phaseo[realtime]"。go get github.com/phaseoteam/Phaseo/packages/sdk/sdk-go/v3@latest
v3 模块路径:import phaseo "github.com/phaseoteam/Phaseo/packages/sdk/sdk-go/v3"
dotnet add package Phaseo.Sdk
PhaseoSdk 命名空间中。composer require phaseo/sdk
Phaseo\Sdk\Phaseo。gem install phaseo_sdk
gem "phaseo_sdk"
require 'phaseo_sdk' 加载它;客户端为 PhaseoSdk::Phaseo。Maven Central 上的 Maven 会把
3.0.0 构件是旧版 API,不包含当前的重试、响应元数据和参数检查 API。要使用当前的 SDK,请构建固定版本的源码。你需要 Java 17 或更高版本、Maven 3.8 或更高版本以及 Git。git clone https://github.com/phaseoteam/Phaseo.git
cd Phaseo
git checkout 1ff1119f41ceb3ac2c85ed605f6e1c4beca6e011
mvn -f packages/sdk/sdk-java/pom.xml -DskipTests install
app.phaseo:phaseo-sdk:3.0.0 连同它的 Jackson 依赖安装到你的本地仓库。然后添加依赖:<dependency>
<groupId>app.phaseo</groupId>
<artifactId>phaseo-sdk</artifactId>
<version>3.0.0</version>
</dependency>
[dependencies]
phaseo = "0.2"
serde_json = "1"
cargo add phaseo@0.2 serde_json
1.0,其 API 在次版本之间仍可能变化,因此在生产环境中请固定一个兼容的次版本。2
设置 API 密钥
在 Phaseo CLI 中运行 请把密钥保存在你的服务器上。不要把它编译进桌面、移动端、浏览器或其他分发出去的客户端。
phaseo keys create,或在 API 密钥页面创建密钥,然后导出它:export PHASEO_API_KEY="phaseo_v1_sk_<kid>_<secret>"
$env:PHASEO_API_KEY = "phaseo_v1_sk_<kid>_<secret>"
3
发送请求
import Phaseo from "@phaseo/sdk";
const client = new Phaseo({
apiKey: process.env.PHASEO_API_KEY!,
});
const response = await client.generateText({
model: "openai/gpt-6-astra",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);
from phaseo import Phaseo
import os
client = Phaseo(api_key=os.environ["PHASEO_API_KEY"])
response = client.generate_text(
{
"model": "openai/gpt-6-astra",
"messages": [{"role": "user", "content": "Hello!"}],
}
)
print(response["choices"][0]["message"]["content"])
client, err := phaseo.NewFromEnv() // 读取 PHASEO_API_KEY
if err != nil {
panic(err)
}
chat, err := client.GenerateText(context.Background(), phaseo.ChatCompletionsRequest{
Model: "openai/gpt-6-astra",
Messages: []map[string]interface{}{{"role": "user", "content": "Hello!"}},
})
if err != nil {
panic(err)
}
fmt.Println(chat["choices"])
using PhaseoSdk;
var client = new Phaseo(); // 读取 PHASEO_API_KEY
var chat = await client.GenerateText(new Dictionary<string, object>
{
["model"] = "openai/gpt-6-astra",
["messages"] = new[]
{
new Dictionary<string, object> { ["role"] = "user", ["content"] = "Hello!" },
},
});
<?php
require 'vendor/autoload.php';
use Phaseo\Sdk\Phaseo;
$client = new Phaseo(); // 读取 PHASEO_API_KEY
$chat = $client->generateText([
'model' => 'openai/gpt-6-astra',
'messages' => [['role' => 'user', 'content' => 'Hello!']],
]);
echo $chat['choices'][0]['message']['content'];
require 'phaseo_sdk'
client = PhaseoSdk::Phaseo.new # 读取 PHASEO_API_KEY
chat = client.generate_text(
model: 'openai/gpt-6-astra',
messages: [{ role: 'user', content: 'Hello!' }]
)
import app.phaseo.sdk.Phaseo;
import java.util.List;
import java.util.Map;
Phaseo client = new Phaseo(System.getenv("PHASEO_API_KEY"));
var chat = client.createChatCompletion(Map.of(
"model", "openai/gpt-6-astra",
"messages", List.of(Map.of("role", "user", "content", "Hello!"))
));
System.out.println(chat.path("choices").path(0).path("message").path("content").asText());
use phaseo::Phaseo;
use serde_json::json;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Phaseo::from_env()?;
let response = client.chat_completions(&json!({
"model": "openai/gpt-6-astra",
"messages": [{ "role": "user", "content": "Hello!" }]
}))?;
println!("{}", response.body);
Ok(())
}
PHASEO_API_KEY。把客户端指向其他基础 URL
import Phaseo from "@phaseo/sdk";
const client = new Phaseo({
apiKey: "your-api-key",
baseUrl: "https://api.phaseo.app/v1",
timeoutMs: 30_000,
});
from phaseo import Phaseo
client = Phaseo(
api_key="your-api-key",
base_url="https://api.phaseo.app/v1",
timeout=30.0,
)
client := phaseo.New(os.Getenv("PHASEO_API_KEY"), "https://api.phaseo.app/v1")
let client = Phaseo::from_env()?.with_base_url("http://localhost:8787/v1")?;
timeoutMs),在 Python 中以秒为单位(timeout)。在 Rust 中,你也可以设置 PHASEO_BASE_URL(例如 http://localhost:8787/v1),由 Phaseo::from_env() 读取。只有当主机恰好是 localhost 或回环 IP 地址时,Rust 才接受普通 HTTP;远程端点必须使用 HTTPS。
概览按语言列出了每个选项。接下来,请参阅用法了解每个端点的示例,或查看 API 参考了解每个字段。