Python SDK#
客户端#
LlamaDeploy Python客户端。
客户端提供了对异步和非异步API的访问。要使用同步API,只需调用client.sync
的方法。
使用示例:
from llama_deploy.client import Client
# 使用相同的客户端实例
c = Client()
async def an_async_function():
status = await client.apiserver.status()
def normal_function():
status = client.sync.apiserver.status()
Source code in llama_deploy/client/client.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
API服务器功能#
会话集合 #
基类: Collection
表示给定部署的会话集合的模型。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
deployment_id
|
str
|
|
required |
Source code in llama_deploy/client/models/apiserver.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
|
删除
async
#
delete(session_id: str) -> None
删除具有提供的session_id
的会话。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
session_id
|
str
|
将被移除的会话ID |
required |
抛出异常:
类型 | 描述 |
---|---|
HTTPException
|
如果无法通过提供的ID找到会话。 |
Source code in llama_deploy/client/models/apiserver.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
创建
async
#
create() -> SessionDefinition
Source code in llama_deploy/client/models/apiserver.py
44 45 46 47 48 49 50 51 52 53 54 55 |
|
列表
async
#
list() -> list[SessionDefinition]
返回给定部署中的所有会话集合。
Source code in llama_deploy/client/models/apiserver.py
57 58 59 60 61 62 63 64 65 66 67 68 69 |
|
任务 #
基类: Model
表示属于给定部署中特定会话的任务的模型。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
deployment_id
|
str
|
|
required |
session_id
|
str
|
|
required |
Source code in llama_deploy/client/models/apiserver.py
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
结果
async
#
results() -> TaskResult
返回给定任务的结果。
Source code in llama_deploy/client/models/apiserver.py
78 79 80 81 82 83 84 85 86 87 88 89 |
|
send_event
async
#
send_event(ev: Event, service_name: str) -> EventDefinition
发送一个人工响应事件。
Source code in llama_deploy/client/models/apiserver.py
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
|
事件
async
#
events() -> AsyncGenerator[dict[str, Any], None]
返回一个生成器对象,用于消费从服务流式传输的事件。
Source code in llama_deploy/client/models/apiserver.py
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
任务集合 #
基类: Collection
表示给定部署中任务集合的模型。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
deployment_id
|
str
|
|
required |
Source code in llama_deploy/client/models/apiserver.py
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
|
运行
async
#
run(task: TaskDefinition) -> Any
运行任务并在完成后返回结果。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
task
|
TaskDefinition
|
我们想要运行的任务的定义。 |
required |
Source code in llama_deploy/client/models/apiserver.py
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
|
创建
async
#
create(task: TaskDefinition) -> Task
运行任务后立即返回,无需等待结果。
Source code in llama_deploy/client/models/apiserver.py
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
|
列表
async
#
返回此集合中的任务列表。
Source code in llama_deploy/client/models/apiserver.py
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
|
部署 #
基类: Model
表示部署的模型。
Source code in llama_deploy/client/models/apiserver.py
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
|
部署集合 #
基类: Collection
表示当前活跃部署集合的模型。
Source code in llama_deploy/client/models/apiserver.py
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
|
创建
async
#
create(config: TextIO, reload: bool = False) -> Deployment
从部署文件创建一个新的部署。
如果 reload
为 true,将重新加载现有的部署,否则会引发错误。
Example
with open("deployment.yml") as f:
await client.apiserver.deployments.create(f)
Source code in llama_deploy/client/models/apiserver.py
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 |
|
get
async
#
get(id: str) -> Deployment
通过ID获取部署。
Source code in llama_deploy/client/models/apiserver.py
256 257 258 259 260 261 262 263 264 265 266 267 |
|
ApiServer #
基类: Model
一个代表API服务器实例的模型。
Source code in llama_deploy/client/models/apiserver.py
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 |
|
状态
async
#
status() -> Status
返回API服务器的状态。
Source code in llama_deploy/client/models/apiserver.py
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 |
|
控制平面功能#
会话 #
基类: Model
Source code in llama_deploy/client/models/core.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
运行
async
#
run(service_name: str, **run_kwargs: Any) -> str
为会话实现基于工作流的运行API。
Source code in llama_deploy/client/models/core.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
run_nowait
async
#
run_nowait(service_name: str, **run_kwargs: Any) -> str
实现了基于工作流的会话运行API,但不会等待任务完成。
Source code in llama_deploy/client/models/core.py
38 39 40 41 42 43 44 45 |
|
create_task
async
#
create_task(task_def: TaskDefinition) -> str
在此会话中创建一个新任务。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
task_def
|
Union[str, TaskDefinition]
|
任务定义或输入字符串。 |
required |
返回:
名称 | 类型 | 描述 |
---|---|---|
str |
str
|
创建任务的ID。 |
Source code in llama_deploy/client/models/core.py
47 48 49 50 51 52 53 54 55 56 |
|
get_task_result
async
#
get_task_result(task_id: str) -> TaskResult | None
获取此会话中任务的结果(如果有的话)。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
task_id
|
str
|
获取结果的任务ID。 |
required |
返回:
类型 | 描述 |
---|---|
TaskResult | None
|
Optional[TaskResult]: 如果任务有结果则返回该结果,否则返回None。 |
Source code in llama_deploy/client/models/core.py
65 66 67 68 69 70 71 72 73 74 |
|
get_tasks
async
#
get_tasks() -> list[TaskDefinition]
获取此会话中的所有任务。
返回:
类型 | 描述 |
---|---|
list[TaskDefinition]
|
list[TaskDefinition]: 会话中的任务定义列表。 |
Source code in llama_deploy/client/models/core.py
85 86 87 88 89 90 91 92 93 |
|
send_event
async
#
send_event(service_name: str, task_id: str, ev: Event) -> None
将事件发送至工作流服务。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
event
|
Event
|
要提交给工作流的事件。 |
required |
返回:
类型 | 描述 |
---|---|
None
|
无 |
Source code in llama_deploy/client/models/core.py
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
|
send_event_def
async
#
send_event_def(task_id: str, ev_def: EventDefinition) -> None
向工作流服务发送事件。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
event
|
Event
|
要提交给工作流的事件。 |
required |
返回:
类型 | 描述 |
---|---|
None
|
无 |
Source code in llama_deploy/client/models/core.py
112 113 114 115 116 117 118 119 120 121 122 |
|
get_task_result_stream
async
#
get_task_result_stream(task_id: str) -> AsyncGenerator[dict[str, Any], None]
获取此会话中任务的结果(如果有的话)。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
task_id
|
str
|
获取结果的任务ID。 |
required |
返回:
类型 | 描述 |
---|---|
AsyncGenerator[dict[str, Any], None]
|
AsyncGenerator[str, None, None]: 一个生成器,用于产生任务的结果。 |
Source code in llama_deploy/client/models/core.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
会话集合 #
基类: Collection
Source code in llama_deploy/client/models/core.py
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
|
列表
async
#
返回集合中所有会话的列表。
Source code in llama_deploy/client/models/core.py
161 162 163 164 165 166 167 168 169 |
|
创建
async
#
create() -> Session
创建一个新会话并返回一个会话对象。
返回:
名称 | 类型 | 描述 |
---|---|---|
Session |
Session
|
表示新创建会话的Session对象。 |
Source code in llama_deploy/client/models/core.py
171 172 173 174 175 176 177 |
|
get
async
#
get(id: str) -> Session
通过ID获取会话。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
session_id
|
要获取的会话ID。 |
required |
返回:
名称 | 类型 | 描述 |
---|---|---|
Session |
Session
|
表示指定会话的Session对象。 |
抛出异常:
类型 | 描述 |
---|---|
ValueError
|
如果会话不存在。 |
Source code in llama_deploy/client/models/core.py
187 188 189 190 191 192 193 194 195 196 197 198 199 |
|
获取或创建
async
#
get_or_create(id: str) -> Session
根据ID获取会话,如果不存在则创建一个新会话。
返回:
名称 | 类型 | 描述 |
---|---|---|
Session |
Session
|
表示指定会话的Session对象。 |
Source code in llama_deploy/client/models/core.py
209 210 211 212 213 214 215 216 217 218 219 220 |
|
删除
async
#
delete(session_id: str) -> None
根据ID删除会话。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
session_id
|
str
|
要删除的会话ID。 |
required |
Source code in llama_deploy/client/models/core.py
222 223 224 225 226 227 228 229 |
|
服务 #
基类: Model
Source code in llama_deploy/client/models/core.py
232 233 |
|
ServiceCollection #
基类: Collection
Source code in llama_deploy/client/models/core.py
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
|
列表
async
#
返回一个包含所有在控制平面注册的服务的列表。
返回:
类型 | 描述 |
---|---|
list[Service]
|
list[Service]: 在控制平面注册的服务列表。 |
Source code in llama_deploy/client/models/core.py
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 |
|
注册
async
#
register(service: ServiceDefinition) -> Service
向控制平面注册一个服务。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
service
|
ServiceDefinition
|
要注册的服务的定义。 |
required |
Source code in llama_deploy/client/models/core.py
253 254 255 256 257 258 259 260 261 262 263 264 |
|
注销
async
#
deregister(service_name: str) -> None
从控制平面注销一个服务。
参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
service_name
|
str
|
要注销的服务的名称。 |
required |
Source code in llama_deploy/client/models/core.py
266 267 268 269 270 271 272 273 274 275 276 277 |
|
核心 #
基类: Model
Source code in llama_deploy/client/models/core.py
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
|
服务
property
#
services: ServiceCollection
会话
property
#
sessions: SessionCollection