SDK リファレンス
OpenAI SDK互換性
BazaarLinkはOpenAI PythonおよびNode.js SDKと完全互換です。必要な変更は2つだけ:
変更前(OpenAI直接)
from openai import OpenAI
client = OpenAI(
api_key="sk-..."
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[...]
)
変更後(BazaarLink)
from openai import OpenAI
client = OpenAI(
base_url="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[...]
)
これだけです!
ストリーミング、ツールコール、構造化出力、非同期など、他のすべての機能はまったく同じように動作します。変更が必要なのはbase_url、api_key、そしてモデルIDへのプロバイダープレフィックスの追加だけです。
Python
インストール
同期
from openai import OpenAI
client = OpenAI(
base_url="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY",
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
非同期
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
base_url="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY",
)
async def main():
response = await client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "Hello async world!"}],
)
print(response.choices[0].message.content)
asyncio.run(main())
非同期ストリーミング
async def stream_chat():
stream = await client.chat.completions.create(
model="deepseek/deepseek-chat",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True,
)
async for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
asyncio.run(stream_chat())
TypeScript / Node.js
インストール
基本的な使い方
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.bazaarlink.ai/v1",
apiKey: process.env.BAZAARLINK_API_KEY,
});
async function chat(message: string): Promise<string> {
const response = await client.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: message }],
});
return response.choices[0].message.content ?? "";
}
ストリーミング
const stream = await client.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: "Tell me a story" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
LangChain
OpenAI互換のベースURLを設定してBazaarLinkをLangChainで使用。
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
base_url="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY",
model="anthropic/claude-sonnet-4.6",
)
response = llm.invoke("Explain BazaarLink in one sentence.")
print(response.content)
LlamaIndex
LlamaIndex RAGパイプラインでBazaarLinkを使用。LlamaIndexは任意のOpenAI互換エンドポイントをサポート — パラメータを2つ変更するだけ。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from llama_index.llms.openai import OpenAI
from llama_index.core import Settings
Settings.llm = OpenAI(
model="openai/gpt-4o",
api_base="https://api.bazaarlink.ai/v1",
api_key="sk-bl-YOUR_API_KEY",
)
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("What is this documentation about?")
print(response)
Vercel AI SDK
Next.jsアプリでVercel AI SDKをBazaarLinkと統合。ストリーミング、ツールコール、構造化出力をサポート。
インストール
npm install ai @ai-sdk/openai
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";
const bazaarlink = createOpenAI({
baseURL: "https://api.bazaarlink.ai/v1",
apiKey: "sk-bl-YOUR_API_KEY",
});
const { text } = await generateText({
model: bazaarlink("openai/gpt-4o"),
prompt: "Write a haiku about programming",
});
console.log(text);