作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第五篇。
作为技术同学,不仅要写好自己的代码,做好功能交付,往往还需要担任复杂项目的技术PM,推动整个项目的交付。其实人人都是技术PM,不管有没有这个title,实际上都在做这个工作,只不过是职责边界和复杂度不一样。有些同学缺少项目管理经验,不知道怎么才能做好技术PM,可能在项目过程中感觉混乱,大家做的很累,最后又延期交付,结果过程都不好,最后也搞不清楚哪里没做好。本文结合自身的一些经验,分享一下心得。
OpenAI 最新推出的生成模型 GPT-4o,带来了一系列震撼的功能,用技术彻底颠覆了产品形态。产品最大的亮点在于:以近乎完美的交互方式,为每位用户带来 GPT-4 级别的智能体验。 在语音方面,GPT-4o 做到了实时低延迟,平均响应时间与人类反应速度相当,输出的语音能够理解极度贴合对话上下文,能够理解人类的情感情绪,听觉质量上佳,与真人无异。这背后的技术实现,是怎么做到的?
istanbuljs 是一款优秀的JavaScript代码覆盖率工具,主要用于单元测试的代码覆盖率检测和生成本地覆盖率报告。然而,随着现代前端技术和UI自动化测试的发展,对端到端测试的代码覆盖率检测需求逐渐增加,istanbuljs提供的功能显得捉襟见肘。 在携程内部JavaScript代码覆盖率使用的是gitlab内置的coverage上报,也是只支持单元测试的覆盖率收集和概览数据展示。随着携程的前端技术日益精进,我们有了自己的前端流量录制平台,并且部署了相当大规模的模拟器集群进行UI自动化(flybirds)回放。这种场景下,需要对端到端测试的代码覆盖率进行收集和展示,以便开发同学更好的了解到自己的代码质量。 传统的istanbuljs提供的功能已经无法满足我们的需求。我们需要处理UI自动化过程中来自前端高并发的覆盖率上报,实时的覆盖率聚合,以及覆盖率数据的聚合展示。因此,我们在Istanbuljs的基础上开发了Canyon,解决端到端测试覆盖率难收集的问题。
大家好,今天我们很高兴首次发布Index系列模型中的轻量版本:Index-1.9B系列 本次开源的Index-1.9B 系列包含以下模型: Index-1.9B base : 基座模型,具有 19亿 非词嵌入参数量,在2.8T 中英文为主的语料上预训练,多个评测基准上与同级别模型比处于领先. Index-1.9B pure : 基座模型的对照组,与base具有相同的参数和训练策略,不同之处在于我们严格过滤了该版本语料中所有指令相关的数据,以此来验证指令对benchmark的影响(详见2.3章节). Index-1.9B chat : 基于index-1.9B base通过SFT和DPO对齐后的对话模型,我们发现由于预训练中引入了较多定向清洗对话类语料,聊天的趣味性明显更强 Index-1.9B character : 在SFT和DPO的基础上引入了RAG来实现fewshots角色扮演定制 目前,我们已在GitHub(https://github.com/bilibili/Index-1.9B),HuggingFace(https://huggingface.co/I
伴随着大众井喷的出游住宿需求,去哪儿旅行酒店订单激增。watcher作为公司级的监控系统,承载着越来越重要的故障预警能力。但watcher当前给业务流量提供的数据精度都是分钟级的,以分钟级为精度的数据虽然也可以反映业务流量的情况,但对订单报警来说,其精度是有限的,因为分钟级的指标数据精度,带来的必然是分钟级的故障预警。因此每当故障发生时,故障的发现时间都要比故障开始时间晚几分钟。尤其是随着业务的增长,订单交易相关的故障还伴随着用户的订单赔付行为。 按照故障"1分钟发现-5分钟定位-10分钟恢复"宗旨,借助自身强大的研发能力和产品化能力,我们实现了订单监控精度提升到秒级。借助秒级监控预警,我们可以实时掌控瞬息万变的业务流量波动情况,及时发现业务中存在的问题,及时发现,及时解决,尽可能的减少订单损失,提升公司品牌信任度。
防劣化是比较经典的技术话题,手 Q 的防劣化系统从 2021 年 10 月开始投入研发,从 0 到 1 迭代了将近三年的时间,已经达到了业界先进水平。为了守护好手 Q 性能稳定性的门禁,我们将其命名为 Hodor 系统,即 Hold the door! 从验证可行性跑通最小闭环,到搭建群控机架一次次为集群扩容,实属不易。其中涉及到大量的方案讨论甚至推翻,很多思路和实现细节是业界找不到公开方案的,只能自己摸索。本文详细分享了手 Q 防劣化系统的构建链路,相信对业界和开发者们都有较高的借鉴意义。