acedatacloud är Ace Data Clouds officiella Python SDK, som kapslar in alla tjänster på api.acedata.cloud i typade metoder som client.openai.chat.completions.create(...), client.images.generate(...), client.search.google(...) osv., och erbjuder både synkrona och asynkrona klienter.
Den är baserad på httpx, stödjer SSE-strömning, automatisk omförsök, typade undantag och pydantic-typvalidering.
Källkod och paketadress:
- SDK-förråd: https://github.com/AceDataCloud/SDK
- PyPI: https://pypi.org/project/acedatacloud/
Installation
- Paketversionen är
2026.4.26.1(CalVer, revidering den 26 april 2026). AceDataCloudär den synkrona klienten,AsyncAceDataCloudär asyncio-asynkron klient.- Denna SDK är inte beroende av
pydantic, svarskroppen returnerar enhetligtdict. Detta skiljer sig frånopenai-python, så var uppmärksam vid migrering.
Förbered API-token
Referera till SDK-översikt - Ansök om API-token för att få token, och exportera den i shell:api_token, kommer SDK automatiskt att läsa ACEDATACLOUD_API_TOKEN miljövariabeln. Om din miljö redan har ACEDATACLOUD_API_KEY (projektförrådets överenskommelse), vänligen ange det uttryckligen: AceDataCloud(api_token=os.environ["ACEDATACLOUD_API_KEY"]).
Exempel 1: chat.completions (synkron)
idär svar-ID, som kan hittas i användningshistorik.content ADC_PY_SDK_OKär den fasta identifieringen som modellen faktiskt returnerade.res["usage"]returnerardict, inte pydantic-modell; en anrop förbrukar cirka 24 token.
Exempel 2: chat.completions (SSE-strömning)
Närstream=True returnerar create en vanlig generator som varje gång yieldar en parserad chunk dict.
- Första ramen fördröjning 2104 ms, de efterföljande 11 ramarna tog bara 7 ms för att komma fram - så snart tjänsten börjar strömma kan den konsumeras smidigt lokalt.
- chunk är en vanlig dict, värden kan hämtas säkert enligt OpenAI SSE-formatet med
.get(). - I praktisk produktion rekommenderas det att strömma SSE till frontend medan man yieldar, den totala första fördröjningen ligger nära 2 sekunder.
Exempel 3: AsyncAceDataCloud (asynkron)
API:et förAsyncAceDataCloud är helt symmetriskt med den synkrona versionen, men alla IO-metoder returnerar coroutine. Lämplig för FastAPI / aiohttp / asyncio-tjänster.
- Den asynkrona versionen och den synkrona versionen går via samma HTTP-väg, men implementeringen av anslutningspoolen är olika (
httpx.AsyncClient). - Vid avslutning, se till att
await client.close()stänger anslutningspoolen; i tjänster med lång livslängd behöver den bara stängas en gång innan processen avslutas. - Enstaka fördröjning är ungefär densamma som den synkrona, men i samtidiga scenarier visar den asynkrona versionen sin fördel - en event loop kan köra dussintals eller hundratals pågående förfrågningar samtidigt.
Exempel 4: images.generate (NanoBanana)
NanoBanana API är en synkron tjänst för att generera bilder, skicka intewait - SDK-anropet kommer att vänta tills tjänsten returnerar 200.
image_urlär en stabil adress på CDN, som kan laddas ner eller bäddas in på en webbsida.- 18,9 sekunder var nästan helt modellens inferens; lokala SDK-kostnader var bara några millisekunder.
- För verkligt asynkrona uppgifter som Midjourney, Sora, Veo, Suno, behöver du använda
wait=Trueeller manuelltTaskHandle.wait()för att pollera, se SDK-uppgiftspolling och strömmande svar.
Exempel 5: Typfelhantering
AuthenticationError (401), TokenMismatchError (token matchar inte tjänsten), InsufficientBalanceError (otillräcklig balans), ResourceDisabledError (tjänsten är inaktiverad), ValidationError (400), RateLimitError (429), ModerationError (403 innehållsgranskning), APIError (fallback), TimeoutError (timeout), TransportError (nätverkslager).
Konfigurationsalternativ
Python SDK:stimeoutoch TaskHandle:spoll_interval/max_waithar enhet i sekunder, TypeScript SDK använder millisekunder, var särskilt uppmärksam vid överföring mellan språk. Se SDK-uppgiftspolling och strömmande svar.
SDK läser som standard miljövariabelnACEDATACLOUD_API_TOKEN; för att enhetliggöra med Claude Code VS Code-tutorial och andra tutorials, används i exempletACEDATACLOUD_API_KEY, vilket kräverapi_token=os.environ["ACEDATACLOUD_API_KEY"]för att injicera explicit.

