使用 AI SDK 构建游乐场
Lybic沙盒与LLM集成的教程
构建聊天机器人
你可以参考 Typescript Core SDK 示例来了解如何构建一个聊天机器人,当然你可以通过直接调用各种 LLM 的 API 来完成这项工作,这里不再赘述。
创建一个新的沙盒
您应该在服务器端创建一个新的沙箱,并获取沙箱 ID。
use lybic_sdk_rs::{Client, types::CreateSandboxDto};
const ORG_ID: &str = "lybic-sdk-rust-example";
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
// Create a client
let client = Client::new("https://api.lybic.cn");
// Create a sandbox
let sandbox = client
.create_sandbox(
ORG_ID,
&CreateSandboxDto {
max_life_seconds: Some(3600.0),
name: ORG_ID.to_string(),
project_id: None,
shape: "<your-sandbox-shape>".to_string(),
},
)
.await?
.into_inner();
println!("Sandbox created: {:?}", sandbox);
Ok(())
}沙盒屏幕的实时预览
开始使用 Lybic UI SDK
查看 Lybic UI SDK,了解更多关于如何将预览湖面连接倒沙盒的信息。
截取沙盒的屏幕截图
let result = client.preview_sandbox(ORG_ID, &sandbox.id).await?.into_inner();
if let Some(screen) = result.screen_shot {
// 处理屏幕截图
}您可能还需要下载屏幕截图并将其转换为 Base64 数据 URL,因为某些大模型 API 可能不支持 HTTPS URL。
解析LLM响应并执行操作
LLM 可能会响应一些动作,比如移动或者点击鼠标,键盘输入等,你可以解析 LLM 的输出,并转换为 Lybic 的动作空间来让沙盒执行这些操作:
let result = client.execute_computer_use_action(ORG_ID, &sandbox.id, &ComputerUseActionDto {
action: ComputerUseActionDtoAction {
// 你想执行的操作
},
include_cursor_position: true,
include_screen_shot: true,
}).await?.into_inner();
if let Some(screen) = result.screen_shot {
// 包含执行动作之后的屏幕截图
}结论
Lybic SDK 主要是封装了沙盒的一些常用操作,你可以通过这些 API 来操作一台电脑,模拟用户操作,并通过接入 LLM 来为 AI 提供操作沙盒的能力。