SuperAPI AI 工具集

llm-application-dev

智能体与模型

查看项目

更新于 10-15 15:04

技能介绍

用途

llm-application-dev 是一个面向 LLM 应用开发的技能,主要用于构建由大型语言模型驱动的应用,例如 AI 功能、聊天机器人或基于 LLM 的产品。它围绕提示工程、RAG(检索增强生成)模式以及 LLM 集成三部分展开。

主要能力

提示工程

  • 结构化提示:以系统提示与用户提示分离的方式定义规则和上下文,示例中要求模型只回答产品相关问题、不确定时回复“I don't know”、回答简洁(少于 100 词)且不得编造信息。
  • 少样本示例:通过在提示中给出输入与输出示例(如情感分类的 positive / negative / neutral),引导模型完成同类任务。
  • 思维链:通过“Solve this step by step”式的分步引导,让模型先识别关键信息、再确定方法、最后计算答案。

API 集成

  • OpenAI 模式:使用 openai 库,通过 chat.completions.create 调用 gpt-4,可设置 temperature、max_tokens 等参数,并返回消息内容。
  • Anthropic 模式:使用 @anthropic-ai/sdk,通过 messages.create 调用 claude-3-opus-20240229,设置 max_tokens 并传入用户消息,返回文本内容。
  • 流式响应:将 stream 设为 true,通过异步迭代逐块获取 delta 内容并 yield,以改善用户体验。

RAG(检索增强生成)

  • 基础 RAG 流程:先对问题做嵌入,再在向量数据库中检索相关文档(示例 limit 为 5),拼接上下文后交由 LLM 生成答案。
  • 文档分块:提供 chunkDocument 函数,按 chunkSize(默认 1000)与 overlap(默认 200)将长文本切分为块。
  • 嵌入存储:示例使用 Supabase 与 pgvector,将文档内容、元数据和嵌入写入文档表,并通过 rpc 调用 match_documents 进行相似度搜索。

错误处理

  • safeLLMCall 封装:支持 retries(默认 3)与 fallback,遇到 429 限流时采用指数退避(sleep(Math.pow(2, i) * 1000)),重试耗尽后可返回 fallback 或抛出错误。

使用方式

该技能以代码示例的形式给出集成模式:在项目中引入对应 SDK(如 openai、@anthropic-ai/sdk),配置 API Key(如 OPENAI_API_KEY、ANTHROPIC_API_KEY),然后按示例编写提示、调用接口、处理响应与错误。RAG 部分需要接入向量数据库(示例为 Supabase/pgvector)并实现嵌入与检索函数。

适用场景

适用于需要为产品加入 AI 能力的开发场景,包括聊天机器人、基于自有文档的问答(RAG)、文本分类、分步推理任务,以及需要流式输出以提升交互体验的应用。

限制

资料仅提供代码模式与最佳实践列表,未提供具体安装命令、依赖版本、完整项目结构或运行步骤;未说明收费、价格或平台支持范围;分类、适用模型与效果均以示例为准,未给出通用保证。部分函数(如 embedText、vectorDb、supabase、sleep、Message 类型)在示例中作为外部依赖或占位出现。