Codestral

利用 Mistral AI 赋能开发者并普及编码。

研究
2024年5月29日Mistral AI 团队

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

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

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

Codestral 节省了开发者的时间和精力:它可以完成编码函数、编写测试,并使用填补中间(fill-in-the-middle)机制补全任何部分代码。与 Codestral 交互将有助于提升开发者的编码水平,减少错误和 bug 的风险。

树立代码生成性能标杆

性能。作为一款 22B 模型,与之前用于编码的模型相比,Codestral 在代码生成的性能/延迟方面树立了新标准。

Detailed benchmarks

图 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 基准测试。

Detailed benchmarks

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

Detailed benchmarks

FIM 基准测试。Codestral 的填补中间(Fill-in-the-middle)性能在 Python、JavaScript 和 Java 中使用 HumanEval pass@1 进行了评估,并与 DeepSeek Coder 33B 进行了比较,后者立即可以使用其填补中间能力。

开始使用 Codestral

下载并测试 Codestral。

Codestral 是一款 22B 开源模型,根据新的《Mistral AI 非生产许可》进行许可,这意味着您可以将其用于研究和测试目的。Codestral 可在HuggingFace上下载。

如果您想在商业活动中使用该模型,还可以通过联系团队获取商业许可。

通过其专用端点使用 Codestral

本次发布新增了一个端点:codestral.mistral.ai。对于在 IDE 中使用我们的指令或填补中间(Fill-In-the-Middle)路由的用户,应首选此端点。此端点的 API 密钥在个人层面进行管理,不受通常的组织速率限制。我们在为期 8 周的 Beta 期间免费提供此端点的使用,并设有一个等候名单以确保良好的服务质量。对于开发 IDE 插件或应用程序(客户需要自带 API 密钥)的开发者,应首选此端点。

在 la Plateforme 上使用 Codestral 进行构建

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

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

在 le Chat 上与 Codestral 对话

我们正在开放 Codestral 的指令版本,今天即可通过我们的免费对话界面Le Chat访问。开发者可以自然直观地与 Codestral 互动,以利用模型的能力。我们认为 Codestral 是赋能所有人掌握代码生成和理解的新里程碑。

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

我们与社区合作伙伴合作,将 Codestral 集成到流行的开发者生产力工具和 AI 应用构建工具中。

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

VSCode/JetBrains 集成。Continue.devTabnine 使开发者能够在 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 用于 AI 代码生成的新 Codestral 模型印象极其深刻。在我目前的测试中,它始终能生成高度准确且可用的代码,即使是复杂任务也不例外。例如,当我让它完成一个非平凡函数来创建一个新的 LlamaIndex 查询引擎时,它生成的代码运行流畅,尽管是基于较旧的代码库。”

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

“代码生成是最受欢迎的 LLM 用例之一,因此我们对 Codestral 的发布感到非常兴奋。从我们的初步测试来看,它是代码生成工作流程的绝佳选择,因为它速度快,上下文窗口大,并且指令版本支持工具使用。我们使用 LangGraph 进行自校正代码生成,并使用指令版 Codestral 的工具输出,它开箱即用且效果非常好(请观看我们的视频了解详情)。”

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