JSON 自动完成
从可能不完整的有缓存能力的JSON附件操作中逐步构建并完成JSON字符串的功能. 适合现代LLM应用,应该流出json输出. 完美地结合了OpenAI的聊天完成API.
目录
特征
- 递增建筑物: 递增添加 JSON 字符串的部分并获得尽可能有效的 JSON.
- 字符串处理:正确处理字符串,逃出字符,和嵌入结构.
- 检查出错: 检测出不平衡的括号和括号.
- 缓存能力:高效地管理内部状态以优化性能.
安装
您可以安装 JSON 自动完成 通过 无 或者说 雅伦数字 :
# Using npm
npm install @bonniernews/json-autocomplete
# Using Yarn
yarn add @bonniernews/json-autocomplete
使用量
基本示例
import { createJsonAutocomplete } from "@bonniernews/json-autocomplete";
// Create a new autocompleter instance
const autocompleter = createJsonAutocomplete();
// Append incomplete JSON fragments
const part1 = '{"name": "Alice", "age": 30';
const completed1 = autocompleter.append(part1);
console.log(completed1); // Outputs: {"name": "Alice", "age": 30}
const part2 = ', "address": {"street": "123 Main St';
const completed2 = autocompleter.append(part2);
console.log(completed2); // Outputs: {"name": "Alice", "age": 30, "address": {"street": "123 Main St"}}
const part3 = '", "city": "Wonderland"}}';
const completed3 = autocompleter.append(part3);
console.log(completed3); // Outputs: {"name": "Alice", "age": 30, "address": {"street": "123 Main St", "city": "Wonderland"}}
使用 jsonAutocomplete 帮助
为了更简单的使用,您可以使用 jsonAutocomplete 内部管理自动补全实例的助手函数.
import { jsonAutocomplete } from "@bonniernews/json-autocomplete";
const incompleteJson1 = '{"isActive": true, "roles": ["admin", "user"';
const completedJson1 = jsonAutocomplete(incompleteJson1);
console.log(completedJson1); // Outputs: {"isActive": true, "roles": ["admin", "user"]}
const incompleteJson2 = ', "permissions": {"read": true, "write": false';
const completedJson2 = jsonAutocomplete(incompleteJson2);
console.log(completedJson2); // Outputs: {"isActive": true, "roles": ["admin", "user"], "permissions": {"read": true, "write": false}}
API 参考
createJsonAutocomplete()
创建新的 JSON 自动完成实例 .
回返
具有下列方法的天体:
append(part: string): string: 附加 JSON 的一个片段,并返回所有附件片段所构建的最佳有效 JSON 字符串.
示例
import { createJsonAutocomplete } from "@bonniernews/json-autocomplete";
const autocompleter = createJsonAutocomplete();
const jsonPart1 = '{"product": "Laptop", "price": 1200';
const completedJson1 = autocompleter.append(jsonPart1);
console.log(completedJson1); // {"product": "Laptop", "price": 1200}
const jsonPart2 = ', "specs": {"cpu": "Intel i7", "ram": "16GB"';
const completedJson2 = autocompleter.append(jsonPart2);
console.log(completedJson2); // {"product": "Laptop", "price": 1200, "specs": {"cpu": "Intel i7", "ram": "16GB"}}
const jsonPart3 = "}}";
const completedJson3 = autocompleter.append(jsonPart3);
console.log(completedJson3); // {"product": "Laptop", "price": 1200, "specs": {"cpu": "Intel i7", "ram": "16GB"}}
jsonAutocomplete
一个用于渐进自动完成 JSON 字符串而无需手动管理自动完成实例的助手函数 .
参数
incompleteJsonString: string不完整的JSON字符串碎片.autocompleter?: ReturnType<typeof createJsonAutocomplete>: (可选) 已存在的自动补全实例 。 如果不提供,将创建一个新的系统.
回返
string: 从所有附件片段所构建的最佳有效 JSON 字符串 .
示例
import { jsonAutocomplete } from "@bonniernews/json-autocomplete";
let completedJson = jsonAutocomplete('{"title": "Book"');
console.log(completedJson); // {"title": "Book"}
completedJson = jsonAutocomplete(', "author": "Jane Doe"');
console.log(completedJson); // {"title": "Book", "author": "Jane Doe"}
completedJson = jsonAutocomplete("}");
console.log(completedJson); // {"title": "Book", "author": "Jane Doe"}
捐款
欢迎捐款! 请遵循这些步骤:
-
叉子存储器: 单击 叉头 按钮.
-
砍断你的叉子数字 :
git clone https://github.com/your-username/json-autocomplete.git cd json-autocomplete -
安装依赖关系数字 :
npm install -
创建新分支数字 :
git checkout -b feature/YourFeature -
做你的改变: 执行您的特性或错误修正 .
-
林特和类型检查数字 :
npm run lint npm run typecheck -
运行测试数字 :
npm test -
提交更改数字 :
git commit -m "Add your message here" -
推到叉子边数字 :
git push origin feature/YourFeature -
创建拉动请求:去原寄存器并提交拉取请求.
行为守则
请遵守 邦尼尔新闻行为守则 在您与项目的所有互动中.
许可证
本项目根据以下规定获得许可证: MIT 许可证。您可以根据许可证条款自由使用、修改和分发.
支助
如果遇到任何问题或有问题,请打开 问题 (原始内容存档于2018-09-29). on GitHub.