各位朋友们,新一代的人工智能开发工具来了。
这款产品名叫“ Codestral”,可以视为让每个普通人都能生成和理解代码的工具,它是长期争夺 AI 自动化软件开发阵地的最新一轮“攻击” 。
Codestral 是由法国人工智能初创公司 Mistral AI 开发,这家公司受到了微软的技术与投资双重支持,推出了这款专为代码生成而设计的代码大模型。
网址:https://mistral.ai/news/codestral/
Codestral 是一种开放生成式人工智能 (GenAI) 模型,专门为代码生成任务而设计。
根据美国国家电信和信息管理局称,开放式模型允许开发人员在之前的工作基础上进行构建和调整,从而扩大人工智能工具在小型企业中的可用性。
Codestral 已经接受过 80 多种编程语言的训练,其中包括一些最流行的语言,例如Python、Java、C、C++、JavaScript和Bash等。
Codestral 功能特点
Mistral 展示的测试结果表明,Codestral 在 Python、SQL等语言的各种基准测试中优于其它模型。
Codestral 可以完成编码功能、编写测试,并使用中间填充机制完成任何部分代码。Mistral 公司称,与 Codestral 交互将有助于提高开发人员的编码水平,并降低出现Bug、错误和安全的风险。
另外,Codestral 在Swift和Fortran等更特殊的编程语言上也表现良好。这种广泛的语言基础确保 Codestral 能够在各种编码环境和项目中,为开发人员提供非常有效的帮助。
Tabnine 研发主管Meital Zilberstein 使用后说:
“作为首款以开发人员为中心的GenAI工具的研发人员,我很高兴将 Mistral 的新代码模型集成到我们的聊天机器人产品中。它的性能给我留下了深刻的印象。尽管它的尺寸相对紧凑,但它提供的结果与我们向客户提供的大型语言模型相当。我们测试了几个关键功能,包括代码生成、测试生成、文档、入职流程等。在每种情况下,该模型都超出了我们的预期。”
Continue.dev 首席技术官兼联合创始人Nate Sesti 这样表示:
“以前,从来没有过如此速度和质量兼具的通用自动化代码完成模型,这对于世界各地的开发人员来说,这将会是一个重大改变。”
安装与使用方式
Codestral 可在Hugging Face上下载,并且也可以通过专用节点 (codestral.mistral.ai) 或常用 API 节点 (api.mistral.ai) 直接使用。
该模型业已经与LlamaIndex和LangChain等应用程序框架以及Continue.dev和 Tabnine的VS Code和JetBrains IDE 插件集成。
Mistral正在逐步整合在 Apache 2.0 和 MNPL 双许可证下发布的两个产品系列,将继续在 Apache 2.0 下进行建模与编码。
Codestral 因其在长距离代码补全任务 (RepoBench) 中的出色表现而脱颖而出,这可能是由于其上下文窗口更大,有 32k 个标记。这个更大的窗口使其能够考虑更多周围的代码,从而做出更好的预测。Codestral 在 Python 的 HumanEval 基准测试中也表现出色,展示了其生成准确代码的能力。
虽然 Codestral 在特定领域表现出色,但 DeepSeek Coder 等其他模型在不同基准测试 (MBPP) 上表现出色。
尽管与其他模型相比,Codestral 是最小的 LLM 模型之一,但在代码生成和填充中间任务中,它的性能通常比所有编程语言中的 Llama 3 70B 等更大的模型更好,或至少可以与之媲美。
与 DeepSeek Coder 33B 相比,Codestral 22B 在所有三种编程语言(Python、JavaScript 和 Java)以及整体 FIM 平均值中表现出明显更高的性能。这表明 Codestral 在理解代码上下文和准确填充缺失代码段方面效果更好。
Codestral 在 Python、bash、Java 和 PHP 中表现出色。虽然其他模型在不同语言中表现出色,但 Codestral 的总体平均性能领先,展示了其在多种语言中生成准确代码的强大能力。
prompt = "Please write me a function that adds up two numbers"
data = {
"model": "codestral-latest",
"messages": [
{
"role": "user",
"content": prompt
}
],
"temperature": 0
}
response = call_chat_instruct_endpoint(api_key, data)
prompt = """
Sure, here is a simple function in Python that adds up two numbers:
```python
def add_two_numbers(num1, num2):
return num1 + num2
You can use this function like this:
result = add_two_numbers(5, 3)
print(result) # Outputs: 8
This function takes two arguments, num1 and num2, and returns their sum.
def test_add_two_numbers():
"""
suffix = ""
data = {
"model": "codestral-latest",
"prompt": prompt,
"suffix": suffix,
"temperature": 0
}
response = call_fim_endpoint(api_key, data)
prompt = """
Please translate the following Python code to Javascript:
```python
def add_two_numbers(num1, num2):
return num1 + num2
You can use this function like this:
result = add_two_numbers(5, 3)
print(result) # Outputs: 8
This function takes two arguments, num1 and num2, and returns their sum.
"""
suffix = ""
data = {
"model": "codestral-latest",
"prompt": prompt,
"suffix": suffix,
"temperature": 0
}
response = call_fim_endpoint(api_key, data)
Le Chat 对话界面:可以通过 Mistral AI 的免费对话界面Le Chat访问 Codestral 的指导版本,从而让我们能够与模型自然地进行交互。
相关网址:https://chat.mistral.ai/chat
直接下载和测试:我们可以在Mistral AI 非生产许可证下从Hugging Face下载 Codestral 模型用于研究和测试目的。
相关网址:https://mistral.ai/news/mistral-ai-non-production-license-mnpl/
专用端点:也可用特定节点 (codestral.mistral.ai) ,特别是对于那些将 Codestral 集成到 IDE 中的人。此节点具有个人 API 密钥和单独的速率限制,目前在测试期间免费。
La Plateforme 集成:Codestral 集成到 Mistral AI 的 La Plateforme 中,我们可以在其中构建应用程序并通过标准 API 节点 (api.mistral.ai) 访问模型,按令牌计费。这适用于研究、批量查询或第三方应用程序开发。
与开发人员工具的集成:Codestral 集成到各种工具中以提高开发者的工作效率,包括用于构建代理应用程序的 LlamaIndex 和 LangChain,以及用于 VSCode 和 JetBrains 环境的 Continue.dev 和 Tabnine。
局限性
虽然 Codestral 在各种代码生成任务中表现出色,但我们必须认识到它的局限性:
基准性能:尽管 Codestral 在某些基准测试中表现良好,但实际性能可能会因任务的复杂性和特定的编程语言而有所不同。建议在生产中完全依赖它之前,在我们自己的环境中进行彻底的测试。
有限的上下文窗口(在某些情况下):虽然 Codestral 拥有一个用于远程代码完成的 32k 令牌的上下文窗口,但某些用例可能需要更大的上下文才能完全掌握我们代码库的复杂性。
潜在偏见:与任何基于现有代码训练的 AI 模型一样,Codestral 可能会继承训练数据中存在的偏见。这可能会导致生成无意中延续不良模式或做法的代码。
不断发展的技术:Codestral 仍是一种相对较新的模型,随着进一步开发和完善,其功能和局限性可能会发生变化。我们必须及时了解最新的研究和发布,以便对其使用做出最明智的决定。
作者:楚龙
下载地址:
https://nicolascoolman.eu/zh-TW/download/codestral-modele-dintelligence-artificielle/
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。