代码生成
编码
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:填充中间部分
- python
- 卷曲
进口 os
从 米斯特拉伊 进口
api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )
模型 = “最新代码”
促使= “定义斐波那契数列(n:int):”
后缀= “n=int(输入('输入一个数字:'))\n打印(斐波那契(n))”
响应 =客户 .fim.完成(
模型 =模型 ,
促使=促使,
后缀=后缀,
温度=0,
top_p=1.,
)
打印(
f
{促使}
{响应 .选择[0].消息.内容}
{后缀}
"""
)
curl--位置'https://www.miuiai.com/v1/fim/completions' \
--header'内容类型:应用程序/json'\
--header'接受:应用程序/json'\
--header“授权:承载器$MIUI_API_KEY”\
--数据'{
“型号”:“代码最新”,
“prompt”:“def f(”,
“后缀”:“返回a+b”,
“max_tokens”:64,
“温度”:0
}'
示例2:完成
- python
- 卷曲
进口 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].消息.内容}
"""
)
curl--位置'https://www.miuiai.com/v1/fim/completions' \
--header'内容类型:应用程序/json'\
--header'接受:应用程序/json'\
--header“授权:承载器$MIUI_API_KEY”\
--数据'{
“型号”:“代码最新”,
“prompt”:“def is_odd(n):\n返回n%2==1\n def test_is_odd():”,
“后缀”:“”,
“max_tokens”:64,
“温度”:0
}'
示例3:停止令牌
我们建议为IDE自动完成集成添加停止标记,以防止模型过于冗长。
- python
- 卷曲
进口 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].消息.内容}
"""
)
curl--位置'https://www.miuiai.com/v1/fim/completions' \
--header'内容类型:应用程序/json'\
--header'接受:应用程序/json'\
--header“授权:承载器$MIUI_API_KEY”\
--数据'{
“型号”:“代码最新”,
“prompt”:“def is_odd(n):\n返回n%2==1\n def test_is_odd():”,
“后缀”:“test_is_odd()”,
“停止”:[“\n\n”],
“max_tokens”:64,
“温度”:0
}'
指示终点
我们还提供了具有相同模型的Codestral的指令端点 最新代码
唯一的区别是使用的端点:
- python
- 卷曲
进口 os
从 米斯特拉伊 进口
api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )
模型 = “最新代码”
消息= [{“角色”: “用户”, “内容”: “编写斐波那契函数”}]
聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =消息
)
打印(聊天响应 .选择[0].消息.内容)
卷曲——位置”https://www.miuiai.com/v1/chat/completions" \
--header'内容类型:应用程序/json'\
--header'接受:应用程序/json'\
--header“授权:承载器$MIUI_API_KEY”\
--数据'{
“型号”:“代码最新”,
“消息”:〔{“角色”:“用户”,“内容”:“为斐波那契函数编写”〕
}'
编码曼巴
我们还发布了Codestral Mamba 7B,这是一种专门用于代码生成的Mamba2语言模型,具有指令端点。
- python
- 卷曲
进口 os
从 米斯特拉伊 进口
api_key = os.环境[“MIUI_API_KEY”]
客户 = (api_key =api_key )
模型 = “曼巴最新代码”
消息= [
{
“角色”: “用户”,
“内容”: “编写斐波那契函数”
}
]
聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =消息
)
打印(聊天响应 .选择[0].消息.内容)
卷曲——位置”https://www.miuiai.com/v1/chat/completions" \
--header'内容类型:应用程序/json'\
--header'接受:应用程序/json'\
--header“授权:承载器$MIUI_API_KEY”\
--数据'{
“model”:“codestral曼巴最新”,
“消息”:〔{“角色”:“用户”,“内容”:“为斐波那契函数编写”〕
}'
开放式重量编码和编码曼巴
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的分步指南:
-
按照说明安装Continue VS Code或JetBrains扩展 在这里。请确保您安装的继续版本>v0.8.33。
-
自动设置:
- 点击左侧菜单上的继续延伸铁。选择
API
作为提供者,选择编码
作为一个模型。 - 点击“获取API密钥”获取Codestral API密钥。
- 点击“添加模型”,它将自动填充config.json。

- (可选)手动编辑config.json
- 点击“继续”窗口右下角的齿轮图标打开
~/.scontinue/config.json
(MacOS)/%用户配置文件%\.scontinue\config.json
(Windows) - 登录并请求MIUI AI的La 前板上的Codestral API密钥 在这里
- 将Codestral用作两者的模型
自动补全
和聊天
,替换[API_KEY](API密钥)
使用下面的MIUI API密钥,并将其添加到您的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实现(烹饪书):