# ai& SDK

Source: https://aiand-docs-staging.pages.dev/ja/sdks/aiand/

ai& 公式 SDK は公開 OpenAPI スペックから生成され、完全な型定義を同梱しています。プラットフォーム全体と同じ OpenAI 互換のエンドポイントをカバーします。

<Aside type="tip">
  すでに `openai` SDK を利用中ですか？ ai& でもそのまま動作します（[OpenAI SDK](/ja/sdks/openai/) を参照）。以下の公式 SDK はエンドツーエンドで型付けされ、スペックに正確に追従します。
</Aside>

## セットアップ

<Tabs>
<TabItem label="Python">

```bash
pip install aiand
```

```python
import aiand

configuration = aiand.Configuration(access_token="sk-your-aiand-api-key")
client = aiand.OpenaiApi(aiand.ApiClient(configuration))

models = client.list_models()
print(models.data[0].id)
```

</TabItem>
<TabItem label="TypeScript">

```bash
npm install @aiand/sdk
```

```ts
import { Configuration, OpenaiApi } from "@aiand/sdk";

const client = new OpenaiApi(
  new Configuration({ accessToken: "sk-your-aiand-api-key" }),
);

const models = await client.listModels();
console.log(models.data[0].id);
```

</TabItem>
</Tabs>

## Chat completion

<Tabs>
<TabItem label="Python">

```python
response = client.create_chat_completion(
    aiand.CreateChatCompletionRequest.from_dict({
        "model": "google/gemma-4-31b-it",
        "messages": [{"role": "user", "content": "Hello"}],
    })
)
print(response.choices[0].message.content)
```

</TabItem>
<TabItem label="TypeScript">

```ts
const response = await client.createChatCompletion({
  createChatCompletionRequest: {
    model: "google/gemma-4-31b-it",
    messages: [{ role: "user", content: "Hello" }],
  },
});
console.log(response.choices[0].message.content);
```

</TabItem>
</Tabs>

## Responses

<Tabs>
<TabItem label="Python">

```python
response = client.create_response(
    aiand.CreateResponseRequest(
        model="google/gemma-4-31b-it",
        input=aiand.ResponseInput("Hello"),
    )
)
# output[0] は reasoning アイテムであることが多い
message = next((item for item in response.to_dict()["output"] if item["type"] == "message"), None)
if message:
    print(message["content"][0]["text"])
else:
    print(f"No message in the output (status: {response.status})")
```

</TabItem>
<TabItem label="TypeScript">

```ts
const response = await client.createResponse({
  createResponseRequest: {
    model: "google/gemma-4-31b-it",
    input: "Hello",
  },
});
console.log(response.output);
```

</TabItem>
</Tabs>

## その他のエンドポイント

- `list_models()` / `listModels()` — [Models](/ja/api/models/)
- ファイルやアップロードなども同じクライアントで利用できます（[Files](/ja/api/files/) を参照）

<Aside type="note">
  両 SDK は独立してバージョン管理されています: [PyPI の `aiand`](https://pypi.org/project/aiand/) と [npm の `@aiand/sdk`](https://www.npmjs.com/package/@aiand/sdk)。それぞれ Python ≥3.10、Node ≥18 が必要です。
</Aside>
