跳到正文
北京时间
原文
Mistral AI:News·· 2024-05-29精选AI 评分73

Mistral 发布首个代码模型 Codestral,22B 开放权重支持 80+ 编程语言

Research Codestral May 29, 2024 By Mistral team

AI 导读

Mistral 发布其首个代码生成模型 Codestral,为 22B 开放权重模型,训练覆盖 80+ 编程语言,采用 32k 上下文窗口,并支持 Fill-in-the-middle 补全。

推荐理由

官方发布首次给出模型规模、语言覆盖和专用端点细则,读者可据此评估是否将其接入现有编码工作流。

正文 · AI 翻译

我们推出 Codestral,这是我们首个代码模型。Codestral 是一个开放权重的生成式 AI 模型,专为代码生成任务而设计。它通过共享的指令和补全 API 端点,帮助开发者编写代码并与代码交互。由于它精通代码和英语,可用于为软件开发者设计高级 AI 应用。

精通 80 多种编程语言的模型

Codestral 在包含 80 多种编程语言的多样化数据集上进行训练,包括最流行的语言,如 Python、Java、C、C++、JavaScript 和 Bash。它在 Swift 和 Fortran 等更特定的语言上也表现出色。这种广泛的语言基础确保 Codestral 能够在各种编码环境和项目中为开发者提供帮助。

Codestral 为开发者节省时间和精力:它可以完成编码函数、编写测试,并使用中间填充机制完成任何部分代码。与 Codestral 交互将有助于提升开发者的编码水平,并降低错误和 bug 的风险。

为代码生成性能设定标准

性能。作为一个 22B 模型,与之前用于编码的模型相比,Codestral 在代码生成的性能/延迟空间上设定了新标准。

图 1:凭借更大的 32k 上下文窗口(竞争对手为 4k、8k 或 16k),Codestral 在 RepoBench(一项针对代码生成的长距离评估)中优于所有其他模型。

我们将 Codestral 与具有更高硬件要求的现有代码专用模型进行比较。

Python。我们使用四个基准:HumanEval pass@1、MBPP sanitised pass@1 来评估 Codestral 的 Python 代码生成能力,CruxEval 来评估 Python 输出预测,以及 RepoBench EM 来评估 Codestral 的长距离仓库级代码补全。

SQL。为了评估 Codestral 在 SQL 中的性能,我们使用了 Spider 基准。

其他语言。此外,我们评估了 Codestral 在除 Python 之外的六种不同语言(C++、bash、Java、PHP、Typescript 和 C#)中的多个 HumanEval pass@1 性能,并计算了这些评估的平均值。

FIM 基准。Codestral 的中间填充性能使用 Python、JavaScript 和 Java 中的 HumanEval pass@1 进行评估,并与 DeepSeek Coder 33B 进行比较,后者的中间填充能力可立即使用。

开始使用 Codestral

下载并测试 Codestral。

Codestral 是一个 22B 开放权重模型,根据新的 Mistral AI 非生产许可证授权,这意味着您可以将其用于研究和测试目的。Codestral 可以在 HuggingFace 上下载。

如果您想在商业活动中使用该模型,也可以通过联系团队按需获得商业许可证。

通过其专用端点使用 Codestral

此次发布还新增了一个端点:codestral.mistral.ai。在其 IDE 中使用我们的 Instruct 或 Fill-In-The-Middle 路由的用户应优先使用此端点。此端点的 API 密钥在个人级别管理,不受通常的组织速率限制约束。我们允许在 8 周的测试期内免费使用此端点,并通过等待名单进行限制,以确保良好的服务质量。实现 IDE 插件或客户预期自带 API 密钥的应用程序的开发者应优先使用此端点。

在 la Plateforme 上使用 Codestral 构建

Codestral 也立即在常规 API 端点 api.mistral.ai 上可用,查询按 token 计费。此端点和集成更适合研究、批量查询或第三方应用程序开发,这些应用程序直接向用户展示结果,而无需用户自带 API 密钥。

您可以按照本指南在 la Plateforme 上创建账户,并开始使用 Codestral 构建应用程序。与我们所有其他模型一样,Codestral 从今天起在我们的自部署产品中可用:联系销售。

在您最喜欢的编码和构建环境中使用 Codestral。

我们与社区合作伙伴合作,将 Codestral 暴露给开发者生产力和 AI 应用制作的热门工具。

应用框架。Codestral 从今天起集成到 LlamaIndex 和 LangChain 中,这允许用户轻松使用 Codestral 构建代理应用程序

VSCode/JetBrains 集成。Continue.dev 和 Tabnine 正在赋能开发者在 VSCode 和 JetBrains 环境中使用 Codestral,现在使他们能够使用 Codestral 生成代码并与代码聊天。

以下是如何使用 Continue.dev VSCode 插件进行代码生成、交互式对话和内联编辑与 Codestral,以及用户如何使用 Tabnine VSCode 插件与 Codestral 聊天。

有关各种集成如何与 Codestral 工作的详细信息,请查看我们的文档以获取设置说明和示例。

开发者社区反馈

"一个具有这种速度和质量组合的公共自动补全模型以前从未存在过,这将对各地的开发者产生阶段性转变。"

-- Nate Sesti,Continue.dev 的首席技术官和联合创始人

"我们对 Mistral 揭示的能力感到兴奋,并高兴地看到对代码和开发援助的强烈关注,这是 JetBrains 深切关心的领域。"

-- Vladislav Tankov,JetBrains AI 负责人

"我们使用 Codestral 在我们的 Kotlin-HumanEval 基准上运行测试,并对结果印象深刻。例如,在 T=0.2 的通过率情况下,Codestral 达到了 73.75 分,超过了 GPT-4-Turbo 的 72.05 分和 GPT-3.5-Turbo 的 54.66 分。"

-- Mikhail Evtikhiev,JetBrains 研究员

"作为创建第一个面向开发者的 GenAI 工具的公司的研究员,我有幸将 Mistral 的新代码模型集成到我们的聊天产品中。我对它的性能印象深刻。尽管其相对紧凑的尺寸,但它提供的成果与我们向客户提供的更大模型相当。我们测试了几个关键功能,包括代码生成、测试生成、文档、入职流程等。在每种情况下,模型都超出了我们的期望。模型的速度和准确性将显著影响我们产品的效率,与之前的 Mistral 模型相比,使我们能够为用户提供快速而精确的帮助。这个模型在我们支持的模型中脱颖而出,是一个强大的工具,我强烈推荐给寻求高质量性能的其他人。"

-- Meital Zilberstein,Tabnine 研发负责人

“Cody 加速了软件开发的内循环,开发者使用自动补全等功能来减轻编写代码带来的日常琐事。我们的内部评估显示,Mistral 的新 Codestral 模型在保持建议代码质量的同时,显著降低了 Cody 自动补全的延迟。这使其成为自动补全的绝佳模型选择,因为毫秒级的延迟对开发者而言意味着真正的价值。”

—— Quinn Slack,Sourcegraph 首席执行官兼联合创始人

“Mistral 的新 Codestral 模型在 AI 代码生成方面令我印象深刻。在我目前的测试中,它始终能生成高度准确且功能可用的代码,即使面对复杂任务也是如此。例如,当我要求它补全一个用于创建新 LlamaIndex 查询引擎的非平凡函数时,尽管基于较旧的代码库,它生成的代码仍能无缝运行。”

—— Jerry Liu,LlamaIndex 首席执行官兼联合创始人

“代码生成是最受欢迎的 LLM 用例之一,因此我们对 Codestral 的发布感到非常兴奋。从我们的初步测试来看,它是代码生成工作流的绝佳选择,因为它速度快、上下文窗口有利,而且 instruct 版本支持工具使用。我们使用 LangGraph 进行了自我纠正代码生成的测试,利用 instruct Codestral 的工具使用来生成输出,结果开箱即用效果非常好(参见我们详细介绍这一点的视频)。”

—— Harrison Chase,LangChain 首席执行官兼联合创始人

来源:Mistral AI:News · mistral.ai