fal.ai的Python客户端
项目描述
fal.ai Python客户端
这是与部署在fal.ai上的ML模型交互的Python客户端库。
开始使用
要安装客户端,运行
pip install fal-client
要使用客户端,您需要一个API密钥。您可以在fal.ai注册以获取一个,一旦获得,将其设置为环境变量
export FAL_KEY=your-api-key
现在您可以使用客户端与您的模型进行交互。以下是如何使用它的示例
import fal_client
response = fal_client.run("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})
print(response["images"][0]["url"])
异步请求
客户端还支持开箱即用的异步请求。以下是一个示例
import asyncio
import fal_client
async def main():
response = await fal_client.run_async("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})
print(response["images"][0]["url"])
asyncio.run(main())
上传文件
如果模型需要文件作为输入,您可以直接将它们上传到fal.media(我们的CDN)并将URL传递给客户端。以下是一个示例
import fal_client
audio_url = fal_client.upload_file("path/to/audio.wav")
response = fal_client.run("fal-ai/whisper", arguments={"audio_url": audio_url})
print(response["text"])
将文件编码为内存中的数据URL
如果您不想将文件上传到我们的CDN服务(例如,出于延迟原因),可以将它编码为数据URL并直接传递给客户端。以下是一个示例
import fal_client
audio_data_url = fal_client.encode_file("path/to/audio.wav")
response = fal_client.run("fal-ai/whisper", arguments={"audio_url": audio_data_url})
print(response["text"])
排队请求
当您想发送请求并持续接收其状态更新时,可以使用submit
方法。以下是一个示例
import asyncio
import fal_client
async def main():
response = await fal_client.submit_async("fal-ai/fast-sdxl", arguments={"prompt": "a cute cat, realistic, orange"})
logs_index = 0
async for event in response.iter_events(with_logs=True):
if isinstance(event, fal_client.Queued):
print("Queued. Position:", event.position)
elif isinstance(event, (fal_client.InProgress, fal_client.Completed)):
new_logs = event.logs[logs_index:]
for log in new_logs:
print(log["message"])
logs_index = len(event.logs)
result = await response.get()
print(result["images"][0]["url"])
asyncio.run(main())
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
fal_client-0.4.2.tar.gz (10.3 kB 查看哈希值)
构建分布
fal_client-0.4.2-py3-none-any.whl (7.0 kB 查看哈希值)