Project Icon

cursive

简洁且跨平台的LLM交互框架,支持多种JavaScript环境

Cursive是一个兼容性强且用户体验友好的框架,专注于与大型语言模型(LLM)的互动。适用于各种JavaScript运行环境,包括浏览器、Node.js和Cloudflare Workers,并通过WindowAI安全引入用户凭证和模型。框架高扩展性,支持记录、缓存、修改结果和描述函数,兼容GPT-4、GPT-3.5等多种模型。内置令牌使用和成本计算,具备自动重试和模型扩展功能,保障可靠性和灵活性。

Cursive 项目介绍

Cursive 是一个通用且直观的框架,用于与大语言模型(LLMs)交互。它适用于任何 JavaScript 运行环境,并致力于提供良好的扩展性和开发者体验。

项目亮点

  • 兼容性:Cursive 可以在多种运行环境中工作,包括浏览器、Node.js、Deno、Bun 以及 Cloudflare Workers。用户可以通过 WindowAI 安全地使用自己的凭证、服务提供商和模型来进行补全。

  • 可扩展性:在补全生命周期的任何阶段都可以轻松接入,无论是记录、缓存还是修改结果。

  • 功能支持:能够简单地描述 LLM 可用的函数定义,目前支持的模型包括 GPT-4、GPT-3.5、Claude 2 和 Claude Instant。

  • 通用性:Cursive 的目标是连接尽可能多的不同模型的功能,使用户可以通过单一接口自由选择模型。

  • 信息透明:内置的令牌使用量和成本计算功能尽可能地准确。

  • 高可靠性:Cursive 提供自动重试功能,并在超过上下文长度时自动扩展模型,这些选项可以根据需求进行配置。

快速入门

  1. 安装 Cursive:

    npm i cursive
    
  2. 使用实例:

    import { useCursive } from 'cursive'
    
    const cursive = useCursive({
        openAI: {
            apiKey: 'sk-xxxx'
        }
    })
    
    const { answer } = await cursive.ask({
        prompt: 'What is the meaning of life?',
    })
    

常规用法

对话

使用 cursive 进行对话非常简单,用户可以传递各种熟悉的选项。

const resA = await cursive.ask({
    prompt: 'Give me a good name for a gecko.',
    model: 'gpt-4',
    maxTokens: 16,
})

console.log(resA.answer) // Zephyr

const resB = await resA.conversation.ask({
    prompt: 'How would you say it in Portuguese?'
})

console.log(resB.answer) // Zéfiro

流式处理

支持流式处理,同时帮用户跟踪令牌使用情况。

const result = await cursive.ask({
    prompt: 'Count to 10',
    stream: true,
    onToken(partial) {
        console.log(partial.content)
    }
})

console.log(result.usage.totalTokens) // 40

函数功能

用户可以使用 Type 定义并描述函数,还配有其执行代码。这部分由 typebox 库支持。

import { Type, createFunction, useCursive } from 'cursive'

const cursive = useCursive({
    openAI: {
        apiKey: 'sk-xxxx'
    }
})

const sum = createFunction({
    name: 'sum',
    description: 'Sums two numbers',
    parameters: {
        a: Type.Number({ description: 'Number A' }),
        b: Type.Number({ description: 'Number B' }),
    },
    async execute({ a, b }) {
        return a + b
    },
})

const { answer } = await cursive.ask({
    prompt: 'What is the sum of 232 and 243?',
    functions: [sum],
})

console.log(answer) // The sum of 232 and 243 is 475.

函数的结果会自动输入对话中,并进行下一次补全。如果想停止这种行为,可以在函数定义中添加 pause

钩子

用户可以在补全生命周期的任何部分挂接钩子。

cursive.on('completion:after', (result) => {
    console.log(result.cost.total)
    console.log(result.usage.total_tokens)
})

cursive.on('completion:error', (error) => {
    console.log(error)
})

嵌入功能

可以轻松创建嵌入。

const embedding = await cursive.embed('This should be a document.')

这种方法很快将支持多种类型的文档和集成。

可靠性

Cursive 提供自动重试功能,并在补全失败时进行模型扩展。可通过传递 retryexpand 选项进行配置。

const cursive = useCursive({
    maxRetries: 5,
    expand: {
        enable: true,
        defaultsTo: 'gpt-3.5-turbo-16k',
        modelMapping: {
            'gpt-3.5-turbo': 'gpt-3.5-turbo-16k',
            'gpt-4': 'claude-2',
        },
    },
    allowWindowAI: true,
    countUsage: false,
})

示例项目

  • Nuxt 简单应用示例
  • Cloudflare Workers 边缘 API 示例

未来路线图

  • 已支持供应商:Anthropic
  • 计划支持:Cohere、Azure OpenAI 模型、Huggingface、Replicate (均通过 WindowAI 在浏览器中支持)

致谢

感谢 @disjukrcursive npm 包名转让给我们!

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号