Lybic Docs

使用 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 提供操作沙盒的能力。

本页内容