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 は、依存する Jackson も含めて
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 をローカルリポジトリにインストールします。その後、依存関係を追加します。<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() // reads 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(); // reads 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(); // reads 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 # reads 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() に読み込ませることもできます。Rust で平文の HTTP が使えるのは、ホストが正確に localhost かループバック IP アドレスの場合だけです。リモートのエンドポイントは HTTPS でなければなりません。
言語ごとのすべてのオプションは概要にあります。次は、エンドポイントごとの例を使い方で、すべてのフィールドを API リファレンスで確認してください。