【AI】命令行调用大模型

简介: 通过命令行调用AI大模型以提高效率,文章介绍了一个使用前端npm的方法。首先创建npm包项目,初始化配置,然后编写`constant.js`、`kiwi.js`和`main.js`三个文件,分别存放API密钥、调用接口和主逻辑。在`kiwi.js`中使用axios与大模型API交互,`main.js`接收命令行参数并输出结果。通过修改`package.json`设置入口文件,并使用`npm link`全局安装,实现命令行调用,如`moon 你好`。

【AI】命令行调用大模型

引入

最近使用通义千问,发现我的网页一旦切换,它就不给我生成结果了,非常的鸡贼🐶。

亦或是打开其他的一些大模型网站,但是网页加载比较耗时,于是我开始思考🤔,有什么更快的方式去拿到大模型的结果呢。没错,使用接口直接调用🐶。通过设置全局命令,只需要在命令行中输入如下即可得到的结果。🤤

gpt4 你好
#大模型输出:你好,有什么可以帮助你的吗?

正文

🌟 大致思路: 这里使用的是前端npm,通过npm link 自己本地的npm包,从而达到能够快速调用的目的。

初始化项目

  1. 首先,在电脑上创建一个新的文件夹作为你的npm包项目,比如moon-shot.

没错,我们这里使用的是月之暗面的kiwi模型😁

  1. 使用npm init命令来生成项目的配置文件。具体代码如下:
mkdir moon-shot && cd moon-shot
npm init -y

撰写脚本

这里采用的脚本是之前在该篇文章《【AI】大模型API调研及推荐》里发布的。

对了,友情提醒:楼主使用的是mac,如果您采用的是windows可能会有些不同。🐶

  1. 创建一个文件夹src,里面有3个文件,分别是constant.js,kiwi.js以及main.js

    • constant.js用作存一些变量,例如MOON_API_KEY
    • kiwi.js文件用来写一些调用kiwi的接口。
    • main.js文件主要用于导出可调用的文件。
  2. 我们去Kiwi的API管理平台去创建一下自己的API_KEY,然后将API_KEY导出在constant.js文件里

constant.js文件如下👇

const MOON_API_KEY = "sk-your api-key";
exports.MOON_API_KEY = MOON_API_KEY;
  1. 然后在kiwi.js文件里撰写对应的接口

kiwi.js文件如下👇

const {
    MOON_API_KEY } = require("./constant");
const axios = require("axios");

const callMoonShot = async (prompt) => {
   
  const url = "https://api.moonshot.cn/v1/chat/completions";
  const params = {
   
    model: "moonshot-v1-32k",
    messages: [
      {
   
        role: "user",
        content: prompt,
      },
    ],
  };
  const res = axios
    .post(url, params, {
   
      headers: {
   
        "Content-Type": "application/json",
        Authorization: `Bearer ${
     MOON_API_KEY}`,
      },
    })
    .then((response) => {
   
      const {
    data } = response;
      const content = data.choices[0].message.content;
      return content;
    })
    .catch((error) => {
   
      console.error("调用月之暗面报错:", error);
    });
  return res;
};

exports.callMoonShot = callMoonShot;

这里需要安装对应的依赖🐶,我使用的是pnpm,安装方式见下

pnpm i axios
  1. 最后我们在main.js里写进导出文件

这里我们的输入是从命令行中获取,在命令行中输出.

main.js文件如下👇

#!/usr/bin/env node
const {
    callMoonShot } = require("./kiwi");

const main = async () => {
   
  const args = process.argv.slice(2);
  const input = args.join(",");
  const res = await callMoonShot(input);
  console.log(res);
};

exports.main = main;

if (require.main === module) {
   
  main();
}

注意: 这里要使用#!/usr/bin/env node,因为需要告诉操作系统指明特定的解释器去执行对应的Js代码, 大模型的解释如下🐶

全局安装

  1. 我们将package.json文件修改为如下:

这里主要是加入了bin的字段,指明入口文件。这样我们在调用执行文件时,可以不带路径,直接使用命令名来执行相对应的执行文件。😁

{
   
  "name": "moon-shot",
  "version": "1.0.0",
  "description": "",
  "bin": {
   
    "moon": "./src/main.js"
  },
  "dependencies": {
   
    "axios": "^1.6.7"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
  1. 全局link

进行到此步,这里我们的文件夹大致如下:

如果没有问题,那么我们运行如下命令

npm link

如果安装成功后,可以使用如下命令查看是否安装,如果安装成功了,恭喜🎉🎉🎉

npm ls -g --depth=0

成果展示

打开终端,输入如下命令

这里,我们会发现moon是绿色的啦。🤩

moon 请给我可爱的emoji
目录
相关文章
|
9天前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2186 13
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
1月前
|
机器学习/深度学习 人工智能 测试技术
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
PsycoLLM 是合肥工业大学推出的中文心理大语言模型,基于高质量心理数据集训练,支持心理健康评估、多轮对话和情绪识别,为心理健康领域提供技术支持。
880 51
PsycoLLM:开源的中文心理大模型,免费 AI 心理医生,支持心理健康评估与多轮对话
|
11天前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
884 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
7天前
|
人工智能 数据可视化 搜索推荐
免费+数据安全!手把手教你在PC跑DeepSeek-R1大模型,小白也能秒变AI大神!
本地部署AI模型(如DeepSeek R1)保障数据隐私、节省成本且易于控制,通过Ollama平台便捷安装与运行,结合可视化工具(如Chatbox)及Python代码调用,实现高效、个性化的AI应用开发与使用。
100 3
免费+数据安全!手把手教你在PC跑DeepSeek-R1大模型,小白也能秒变AI大神!
|
3天前
|
人工智能 算法 调度
DeepSeek杀疯了!国产AI大模型如何重构未来技术版图?
【爆款导读】当ChatGPT还在为每月10亿访问量沾沾自喜时,中国AI军团已悄然完成弯道超车。2025年开年,DeepSeek以雷霆之势横扫中美应用商店双榜,上线72小时突破千万DAU,开发者生态激增300%。通过优化算法降低成本、多模态能力提升效率,DeepSeek不仅在用户数量上取得突破,更在实际应用场景中展现强大实力。其开源策略推动技术民主化,助力更多开发者参与AI开发,成为AI军备竞赛中的佼佼者。
137 20
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
Baichuan-M1-14B:AI 助力医疗推理,为患者提供专业的建议!百川智能开源业内首个医疗增强大模型,普及医学的新渠道!
Baichuan-M1-14B 是百川智能推出的首个开源医疗增强大模型,专为医疗场景优化,支持多语言、快速推理,具备强大的医疗推理能力和通用能力。
177 16
Baichuan-M1-14B:AI 助力医疗推理,为患者提供专业的建议!百川智能开源业内首个医疗增强大模型,普及医学的新渠道!
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
本文旨在帮助读者更深入地理解大模型和AI技术,重点介绍关键技术革新的背景与影响,特别是本次大模型时代和新一轮AI浪潮的推动因素与发展历程。
|
1月前
|
存储 人工智能 自然语言处理
|
26天前
|
人工智能 测试技术 Python
VideoChat-Flash:上海AI Lab开源高效处理超长视频的多模态大模型
VideoChat-Flash 是上海人工智能实验室等机构推出的多模态大模型,通过分层压缩技术高效处理长视频,支持长达数小时的视频输入,推理速度提升5-10倍。
74 1
VideoChat-Flash:上海AI Lab开源高效处理超长视频的多模态大模型
|
1月前
|
弹性计算 人工智能 自然语言处理
OS Copilot——面向未来的AI大模型
阿里云的智能助手`OS Copilot`是一款基于大模型构建的操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能。
86 8
OS Copilot——面向未来的AI大模型

热门文章

最新文章