我们非常欢迎您为 Instructor-js
做出贡献。
从 Python 迁移文档¶
Python 版本中有很多示例,包括这里的文档 Python 文档
如果你想贡献,请查看 问题
问题¶
如果你发现错误,请在 我们的 GitHub 问题跟踪器 上提交一个问题。
为了帮助我们重现错误,请提供一个最小的可重现示例,包括代码片段和完整的错误信息。
- 你正在使用的
response_model
。 - 你正在使用的
messages
。 - 你正在使用的
model
。
贡献指南¶
本项目使用 Bun 和 Typescript。
环境设置¶
先决条件¶
- 确保你已安装所有必需运行时/工具的正确版本。本项目在仓库根目录使用
.tool-versions
文件。如果你安装了 asdf(一个通用版本管理器),它应该会自动识别所需的版本。
安装¶
- 安装依赖:运行以下命令安装项目依赖
- 环境变量:将
.example.env
文件复制到.env
并填写 OpenAI 和 Anyscale 密钥的必要值。
代码质量工具¶
- 本项目使用 ESLint 和 Prettier 进行代码格式化和质量检查。
- Prettier 与 ESLint 集成,建议在你的 IDE 中使用 ESLint 插件。
- 对于 Visual Studio Code 或 Cursor 用户:已配置项目级设置以启用 ESLint 自动保存。
IDE 应该会提示你安装推荐的插件。
*注意:如果使用 Prettier 插件,请确保其已禁用以避免冲突。
运行测试¶
- 使用以下命令执行测试
拉取请求¶
我们欢迎拉取请求!有很多工作要做,我们很乐意讨论你想要做出的任何贡献。
如果不是一个小改动,请先提交一个问题。
如果你需要想法,可以查看 help wanted 或 good first issue 标签。
源代码更改¶
- 如果你的拉取请求包含对源代码的更改,请包含一个
changeset
。 - Changesets 有助于管理和自动化版本控制。
- 通过在项目根目录运行
bun changeset
并按照提示操作来创建一个 changeset。 - 在 changeset 中提供详细描述,因为它将包含在下一次发布的变更日志中。
- 根据更改类型,为你的 changeset 选择
patch
、minor
或major
。 - 提交 changeset 文件(一个自动生成的 Markdown 文件,描述更改)。合并后,这将触发 CI 操作,并将更改堆叠在任何现有更改之上,为下一次发布做准备。
有关 changesets 的更多信息,请访问:Changesets GitHub 仓库
社区与支持¶
- 加入我们的 Discord 社区:加入 Discord
- 在 Twitter 上联系我们:@dimitrikennedy @jxnlco
贡献者¶
其他资源¶
使用 mkdocs 在本地运行文档需要 Python。
为了增进你对文档的理解,这里有一些有用的参考资料
-
mkdocs serve:
mkdocs serve
命令用于在开发阶段在本地预览你的文档。当你在终端中运行此命令时,MkDocs 会启动一个开发服务器,让你可以在网页浏览器中查看和与你的文档交互。这对于在发布文档之前检查你的更改的外观很有帮助。在 mkdocs serve 文档 中了解更多。 -
代码块中的 hl_lines: 代码块中的
hl_lines
功能允许你高亮显示代码块中的特定行。这在解释示例或提供说明时,对于引起注意特定代码行很有用。你可以在代码块配置中使用hl_lines
选项指定要高亮的行。有关更多详细信息和示例,请参阅 hl_lines 文档。 -
提醒框(Admonitions): 提醒框是一种视觉上强调或引起注意文档中某些信息的方式。它们有各种样式,例如笔记、警告、提示等。提醒框提供了一种结构化且一致的方式来呈现重要内容。有关使用示例和如何将提醒框添加到你的文档中的详细信息,请参阅 admonitions 文档。
有关文档结构和功能的更多详细信息,请参阅 MkDocs Material 文档。
感谢你的贡献,祝你编程愉快!