跳到主要内容

代码生成

编码

Codestral是一个前沿的生成模型,专门针对代码生成任务进行设计和优化,包括中间填充和代码完成。Codestral接受了80多种编程语言的培训,使其能够在常见和不太常见的语言上都表现良好。

重要的

我们目前为Codestral端点提供两个域,都提供FIM和指令路由:

领域特征
codestral.MIUI.ai-每月订阅,目前免费使用
-需要一个需要电话号码的新密钥
api.MIUI.ai-允许您使用现有的API密钥,并且您可以付费使用Codestral
-非常适合商业用途

想知道使用哪个端点?

  • 如果你是一名用户,想在IDE插件中查询Codestral,建议使用Codestral.MIUI.ai。
  • 如果你正在构建一个插件,或者任何直接向用户公开这些端点的东西,并希望他们带来自己的API密钥,你也应该以codestral.mistal.ai为目标
  • 对于所有其他用例,api.MIUI.ai将更适合

本指南使用api.MIUI.ai进行演示。

本指南将指导您如何使用Codestral填充-中间端点、指导端点、开放权重Codestral模型和几个社区集成:

  • 填充中间端点
  • 指示终点
  • 开放式重量编码
  • 集成

填充中间端点

使用此功能,用户可以使用 促使,并使用可选的代码结束点 后缀 以及一个可选 停止Codestral模型将生成介于两者之间的代码,使其非常适合需要生成特定代码的任务。以下是三个示例:

示例1:填充中间部分

进口 os
米斯特拉伊 进口

api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )

模型 = “最新代码”
促使= “定义斐波那契数列(n:int):”
后缀= “n=int(输入('输入一个数字:'))\n打印(斐波那契(n))”

响应 =客户 .fim.完成(
模型 =模型 ,
促使=促使,
后缀=后缀,
温度=0,
top_p=1.,
)

打印(
f
{促使}
{响应 .选择[0].消息.内容}
{后缀}
"""
)

示例2:完成

进口 os
米斯特拉伊 进口

api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )

模型 = “最新代码”
促使= “def is_odd(n):\n返回n%2==1\ndef test_is_odd():”

响应 =客户 .fim.完成(模型 =模型 ,促使=促使, 温度=0, top_p=1.)

打印(
f
{促使}
{响应 .选择[0].消息.内容}
"""
)

示例3:停止令牌

提示

我们建议为IDE自动完成集成添加停止标记,以防止模型过于冗长。

进口 os
米斯特拉伊 进口

api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )

模型 = “最新代码”
促使= “def is_odd(n):\n返回n%2==1\ndef test_is_odd():”
后缀= “n=int(输入('输入一个数字:'))\n打印(斐波那契(n))”

响应 =客户 .fim.完成(
模型 =模型 ,促使=促使,后缀=后缀, 温度=0, top_p=1.,停止=[“\n\n”]
)

打印(
f
{促使}
{响应 .选择[0].消息.内容}
"""
)

指示终点

我们还提供了具有相同模型的Codestral的指令端点 最新代码唯一的区别是使用的端点:

  • FIM端点:
进口 os
米斯特拉伊 进口

api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )

模型 = “最新代码”
消息= [{“角色”: “用户”, “内容”: “编写斐波那契函数”}]
聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =消息
)
打印(聊天响应 .选择[0].消息.内容)

编码曼巴

我们还发布了Codestral Mamba 7B,这是一种专门用于代码生成的Mamba2语言模型,具有指令端点。

进口 os
米斯特拉伊 进口

api_key = os.环境[“MIUI_API_KEY”]

客户 = (api_key =api_key )

模型 = “曼巴最新代码”

消息= [
{
“角色”: “用户”,
“内容”: “编写斐波那契函数”
}
]

聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =消息
)
打印(聊天响应 .选择[0].消息.内容)

开放式重量编码和编码曼巴

Codestral可在以下重量下使用 MIUI AI非生产(MNPL)许可证 andCodestral Mamba在Apache 2.0许可证下是开放式的。

查看README 误译推理 学习如何使用 误译推理 运行Codestral。

与continue.dev集成

Continue.dev支持用于代码生成的Codestral库和用于聊天的Codestrall Instruct。

如何使用Continue设置Codestrall

以下是如何使用MIUI AI API通过Continue设置Codestral的分步指南:

  1. 按照说明安装Continue VS Code或JetBrains扩展 在这里。请确保您安装的继续版本>v0.8.33。

  2. 自动设置:

  • 点击左侧菜单上的继续延伸铁。选择 API 作为提供者,选择 编码 作为一个模型。
  • 点击“获取API密钥”获取Codestral API密钥。
  • 点击“添加模型”,它将自动填充config.json。
绘画
  1. (可选)手动编辑config.json
  • 点击“继续”窗口右下角的齿轮图标打开 ~/.scontinue/config.json (MacOS)/ %用户配置文件%\.scontinue\config.json (Windows)
  • 登录并请求MIUI AI的La 前板上的Codestral API密钥 在这里
  • 将Codestral用作两者的模型 自动补全聊天,替换 [API_KEY](API密钥) 使用下面的MIUI API密钥,并将其添加到您的 config.json 文件:
~/.scontinue/config.json
{
“模型”: [
{
“标题”: “编码”,
“提供者”: “误传”,
“模型”: “最新代码”,
“apiKey”: “[API_KEY]”
}
],
“tabAutocompleteModel”: {
“标题”: “编码”,
“提供者”: “误传”,
“模型”: “最新代码”,
“apiKey”: “[API_KEY]”
}
}

如果您遇到任何问题或有任何疑问,请加入我们的Discord并发布 #帮助 通道 在这里

与Tabnine集成

Tabnine支持Codestral Instruction聊天。

如何使用Tabnine设置Codestral

什么是Tabnine聊天?

Tabnine Chat是一个以代码为中心的聊天应用程序,在IDE中运行,允许开发人员使用自然语言以灵活、自由的方式与Tabnine的AI模型进行交互。Tabnine Chat还支持使用针对特定用例优化的预定义提示的专用快速操作。

入门指南

要开始使用Tabnine聊天,首先 发射 它位于您的IDE(VSCode、JetBrains或Eclipse)中。然后,学习如何 互动 例如,在Tabnine Chat中,如何提问或给出指示。收到回复后,您可以 阅读、复习和申请 它在你的代码中。

选择Codestral作为Tabnine聊天应用程序模型

在Tabnine聊天应用程序中,使用 型号选择器 选择 编码.

与LangChain集成

LangChain为Codestral Instruction提供支持。以下是如何在LangChain中使用它:

#确保在Python环境中安装“langchain”和“langchain MIUIai”

进口 os
langchain_MIUIai 进口 ChatMIUIAI
langchain_core.提示 进口 聊天提示模板

api_key = os.环境[“MIUI_API_KEY”]
MIUI模型 = “最新代码”
llm = ChatMIUIAI(模型 =MIUI模型 , 温度=0,api_key =api_key )
llm .援引([(“用户”, “编写斐波那契函数”)])

对于使用instruct Codestral工具生成自校正代码的更复杂的用例,请查看以下内容 笔记本 这个视频:

与LlamaIndex集成

LlamaIndex为编码指令和填写中间(FIM)端点提供支持。以下是如何在LlamaIndex中使用它:

#确保在Python环境中安装“llama index”和“llama index-llms-MIUIai”

进口 os
骆驼指数.核心.llms 进口 聊天留言
骆驼指数.llms . 米斯特拉伊 进口 米斯特拉伊

api_key = os.环境[“MIUI_API_KEY”]
MIUI模型 = “最新代码”
信息 = [
聊天留言(角色=“用户”,内容=“编写斐波那契函数”),
]
米斯特拉伊 (api_key =api_key ,模型 =MIUI模型 ).聊天( 信息 )

查看更多关于使用LlamaIndex的指令和填写中间(FIM)的详细信息 笔记本.

与Jupyter AI集成

Jupyter AI将Codestral无缝集成到JupyterLab中,在Jupyter生态系统中为用户提供简化和增强的AI辅助编码体验。这种集成提高了生产力,优化了用户与Jupyter的整体交互。

要在JupyterLab中开始使用Codestral和Jupyter AI,请先在Python环境中安装所需的包:

pip 安装 大熊猫研究所

然后启动Jupyter实验室:

朱庇特实验室

之后,您可以选择Codestral作为您选择的模型,输入MIUI API键,然后开始使用Codestral进行编码!

与JupyterLite集成

JupyterLite是一个旨在将JupyterLab环境引入web浏览器的项目,允许用户直接在浏览器中运行Jupyter,而无需本地安装。

您可以在浏览器中使用JupyterLite尝试Codestral:莱特徽章

与CodeGPT集成

CodeGPT是一个强大的不可知扩展,利用大型语言模型(LLM)的功能,在VSCode中使用AI来增强您的编程任务。您可以在CodeGPT中选择Codestral进行代码生成和选项卡完成。

与Tabby集成

Tabby是一个开源的AI编码助手。您可以使用Codestral完成代码,也可以通过Tabby聊天。

要在Tabby中使用Codestral,请在中配置您的模型配置 ~/.tabby/config.toml 如下所述。

[模型完成。http]
友善的 = “无效/完成”
api_endpoint = "https://www.miuiai.com"
api_key = “秘密api密钥”

您可以查看 塔比文件 了解更多。

与E2B集成

E2B为AI生成的代码执行提供开源安全沙盒。借助E2B,开发人员可以轻松地使用Codestral为AI应用程序添加代码解释功能。

在以下示例中,AI代理对上传的CSV文件执行数据分析任务,通过E2B在沙盒环境中由Codestral执行AI生成的代码,并返回一个图表,将其另存为PNG文件。

Python实现(烹饪书):

JS实现(烹饪书):