创建对外部存储库的拉取请求
在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《创建对外部存储库的拉取请求》,聊聊,希望可以帮助到正在努力赚钱的你。

本周的重点是实验 2,其中涉及通过创建拉取请求 (pr) 为我不拥有的存储库做出贡献。我首先选择一个同学的存储库来进行工作。鉴于 javascript 是我的主要编程语言,我选择了基于 javascript 的存储库来简化我的工作流程。虽然我愿意探索其他语言,但我选择 js 项目节省了时间,让我可以更舒适地工作。事实证明,这个决定是有益的,因为我选择的存储库存在一些问题,无法在本地运行。这让我在理解代码库和应对挑战方面取得了先机。以下是该过程的详细分解:
同学的资料库
在审查了几个项目后,我决定为一个旨在将网页内容转换为 markdown 文件的存储库做出贡献。将存储库分叉并克隆到本地计算机后,我按照自述文件中概述的设置说明进行操作。然而,我的同学似乎使用的是 macos,它利用 ln 命令进行符号链接。由于我在 windows 上,我必须用 npm link 命令替换此步骤。
在调查设置时,我注意到 package.json 文件缺少 start 和 bin 属性,这是设置符号链接所必需的。我添加了这些条目,并建议我的同学在文档中包含针对 windows 用户的说明。更多详情
应用程序运行后,我遇到了其他问题。第一个问题涉及将用户输入的用于配置 groq 的 api 的 api 密钥保存在 .env 文件中。我编写了几行代码来处理 api 密钥存储。另一个问题是由于处理输出文件的代码范围不正确导致的,这导致应用程序无法按预期生成输出。
在实现本实验的主要功能(跟踪每个请求/响应的令牌使用情况)之前,我解决了这两个初始问题。对于每个问题,我创建了一个单独的分支并提交了三个不同的拉取请求。
for await (const chunk of chatcompletion) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
// process.stdout.write(chunk.choices[0]?.delta?.content || "");
response += chunk.choices[0]?.delta?.content || "";
console.log(chunk);
if (chunk.x_groq?.usage) {
prompttokens = chunk.x_groq?.usage?.prompt_tokens;
responsetokens = chunk.x_groq?.usage?.completion_tokens;
}
}
我的存储库
关于我自己的存储库,一位名叫 hyujin shin 的同学在 lab 1 期间为其做出了贡献。最初,我注意到他似乎正在开发我的代码库的过时版本,因为此后我重新组织了结构以提高清晰度和效率。他再次遇到了与设置符号链接相关的问题,我在问题 #7 中提供了指导,建议他在按照使用部分中的符号链接设置说明之前提取最新版本。
我的代码中的另一个问题与输出文件处理有关,该问题源于选项标志与其在代码中的调用之间的不匹配,从而阻止了正确的文件处理。我在第 8 期中通过视觉辅助工具提供了详细的回复。
对于本实验的主要功能——跟踪代币使用情况,hyujin 高效地实现了它,而无需对代码库进行重大更改。由于我已经正确初始化了 groq,他只需要从 chatcompletion 响应中提取使用数据即可:
javascript
Copy code
// Retrieve Token Usage from Response
const promptToken = chatCompletion.usage.prompt_tokens;
const completionToken = chatCompletion.usage.completion_tokens;
const totalToken = chatCompletion.usage.total_tokens;
const tokenInfo = { promptToken, completionToken, totalToken };
在审查了他添加的功能后,我合并了 pr 并进行了测试,确认一切都按预期工作。
结论
这个实验室提供了从 llm (groq) 中提取令牌使用情况的宝贵见解,我之前通过计算单词数来计算出的令牌使用情况并不准确。更重要的是,这次经历凸显了协作的重要性——创建拉取请求、接收代码审查以及合并其他人的贡献。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
Win10鼠标指针在打字时隐藏怎么设置
- 上一篇
- Win10鼠标指针在打字时隐藏怎么设置
- 下一篇
- 检查 Effect-TS 选项中的元素:实用指南
-
- 文章 · 前端 | 15小时前 |
- Vue 组合式函数管理可取消请求的生命周期
- 335浏览 收藏
-
- 文章 · 前端 | 16小时前 |
- React useDeferredValue 降低搜索结果渲染阻塞
- 320浏览 收藏
-
- 文章 · 前端 | 17小时前 | 环境变量 ·
- Vite 构建模式隔离多环境变量文件
- 329浏览 收藏
-
- 文章 · 前端 | 18小时前 |
- TypeScript NoInfer 保持调用方的显式类型选择
- 443浏览 收藏
-
- 文章 · 前端 | 19小时前 |
- Import Maps 统一浏览器端依赖别名
- 486浏览 收藏
-
- 文章 · 前端 | 20小时前 |
- Background Sync 延迟提交离线表单数据
- 463浏览 收藏
-
- 文章 · 前端 | 21小时前 | ReadableStream 背压 Fetch Streams
- Fetch Streams 分段读取大响应体的背压控制
- 386浏览 收藏
-
- 文章 · 前端 | 22小时前 |
- CSS scroll-driven animations 绑定滚动进度
- 207浏览 收藏
-
- 文章 · 前端 | 22小时前 | 前端 · javascript · Fetch AbortController AbortSignal 请求取消 前端异步
- AbortController 复用后请求立即取消的生命周期
- 418浏览 收藏
-
- 文章 · 前端 | 23小时前 |
- Web Locks API 的 ifAvailable 模式避免长时间等待
- 261浏览 收藏
-
- 文章 · 前端 | 1天前 | 性能优化 · javascript · SharedArrayBuffer 前端性能 Atomics 跨源隔离 Web Worker
- Web Worker 配合 SharedArrayBuffer 共享高频数据
- 301浏览 收藏
-
- 文章 · 前端 | 1天前 |
- View Transitions API 处理跨页面导航动画
- 310浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 417次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 496次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 504次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 453次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 281次使用
-
- JavaScript函数定义及示例详解
- 2025-05-11 502浏览
-
- 智能体安全引领产业升级——国内AI安全产品市场深度分析
- 2026-08-21 501浏览
-
- CSS变量简化按钮悬停效果技巧
- 2026-05-31 501浏览
-
- JavaScript符号类型详解与应用
- 2026-05-31 501浏览
-
- HTML剪贴板复制粘贴怎么用
- 2026-05-26 501浏览

