🚀 Infactory TypeScript SDK 使用文檔
本 SDK 為開發者提供了便捷的方式來使用 Infactory 的相關服務,涵蓋項目創建、數據文件上傳、查詢執行等功能,同時支持錯誤處理和流響應處理。
🚀 快速開始
以下是使用 Infactory TypeScript SDK
的基本流程示例:
import { InfactoryClient } from 'infactory-ts';
const client = new InfactoryClient({
apiKey: 'your-api-key-here'
});
async function main() {
const project = await client.projects.create();
console.log('項目 ID:', project.id);
const uploadedFile = await client.files.upload('path/to/your/data.csv');
console.log('文件上傳成功,ID:', uploadedFile.id);
const queryResult = await client.queries.execute({
id: '123',
parameters: {
key: 'value'
}
});
console.log('查詢結果:', queryResult.data);
}
📦 安裝指南
通過 npm 安裝
npm install infactory-ts
💻 使用示例
基礎用法
上述快速開始部分的代碼展示了 SDK 的基礎使用方法,包括創建項目、上傳文件和執行查詢。
錯誤處理
響應錯誤示例
try {
} catch (error) {
if (error instanceof InfactoryError) {
switch (error.code) {
case 401:
console.error('身份驗證失敗,請檢查 API 密鑰是否有效。');
break;
case 403:
console.error('沒有權限訪問該資源。');
break;
case 404:
console.error('請求的資源未找到。');
break;
default:
console.error(`發生錯誤,狀態碼: ${error.status}`);
}
} else {
console.error('未知錯誤:', error.message);
}
}
流響應處理
基本流處理
import { InfactoryClient, isReadableStream, processStreamToApiResponse } from 'infactory-ts';
async function handleBasicStreamingResponse() {
const client = new InfactoryClient({ apiKey: 'your-api-key-here' });
const result = await client.queries.execute({
id: '123',
stream: true
});
if (isReadableStream(result)) {
const apiResponse = await processStreamToApiResponse(result);
return apiResponse.data;
} else {
return result.data;
}
}
即時事件處理
import {
InfactoryClient,
isReadableStream,
streamEvents
} from 'infactory-ts';
async function handleEventStreamingResponse() {
const client = new InfactoryClient({ apiKey: 'your-api-key-here' });
const result = await client.queries.execute({
id: '123',
stream: true
});
if (isReadableStream(result)) {
for await (const event of streamEvents(result)) {
switch (event.type) {
case 'data':
console.log('接收數據:', event.data);
break;
case 'thinking':
console.log('AI 正在思考:', event.content);
break;
case 'completion':
console.log('完成接收:', event.content);
break;
case 'error':
console.error('流處理錯誤:', event.error);
break;
}
}
} else {
return result.data;
}
}
完整示例
基本示例
查看 example.ts
文件,包含 SDK 的基本使用示例。
端到端測試
查看 infactory-e2e-test.ts
文件,瞭解從項目創建、數據上傳到查詢執行的完整流程。
🛠️ 開發與測試
本地開發
git clone https://github.com/your-repo/infactory-ts.git
cd infactory-ts
npm install
運行測試
npm test
📚 文檔參考
如需更多幫助,請聯繫支持團隊或查閱社區論壇。