本文在洛杉矶云服务器上搭建
如果是大陆服务器, 可能会有拉取镜像失败等问题, 有两个解决方法:
挂代理(谨慎行事)
和我一样换非大陆云服务器一劳永逸
搭建
服务器安装 Docker 等不再赘述
连接服务器并创建一个新文件, 例如命名为
oneapi
, cd 到其中运行命令
docker run --name one-api -d --restart always -p 1111:3000 -e TZ=Asia/Shanghai -v ./data:/data justsong/one-api
会使用本地 1111 端口(可自行修改)
文件保存在当前目录的
data
目录下
浏览器中输入
你的服务器 IP:1111
即可进入这里我是通过1panel配置了对应的域名与反代
配置
首先是管理员登录
初始账号用户名为
root
,密码为123456
。登录后请立即修改密码
配置渠道
渠道可以选deepseek , 免费送 500 万 token
渠道里面可以获取到对应的apikey
然后在one-api中进行渠道配置流程如下
添加令牌
点击令牌复制获取到 SK 和 代理地址
代理地址即为你的部署地址, 例如
⚠️ 后面的
/v1
有时候可以加, 有时候不用加. 默认加上, 不行就不加试试,这里我测试翻译插件里不用加/v1
就可以服务器 IP:1111/v1
oneapi.你的域名/v1
可选使用沉浸式翻译进行验证
langchain.js 中配置
使用 deno
(deno 和 jupyter 的配置略)
同一目录下创建 .env
deno.json
a.ipynb
三个文件
.env
文件如下
OPENAI_API_KEY=你的 oneapi 密钥
deno.json
文件如下
{
"imports": {
"lodash": "npm:/lodash@4.17.21",
"dotenv": "https://deno.land/std@0.220.0/dotenv/mod.ts",
"langchain": "npm:/langchain@0.1.28",
"langchain/": "npm:/langchain@0.1.28/",
"@langchain/openai": "npm:/@langchain/openai@0.0.22",
"@langchain/openai/": "npm:/@langchain/openai@0.0.22/",
"@langchain/core": "npm:/@langchain/core@0.1.48",
"@langchain/core/": "npm:/@langchain/core@0.1.48/",
"@langchain/community/": "npm:/@langchain/community/"
},
"deno.enable": true
}
a.ipynb
文件如下
// 因为 langchain 是为 nodejs 设计,所以读取环境变量时会默认从 process.env 中进行读取,所以我一般会这样 hack 一下
import { load } from "dotenv";
const env = await load();
const process = {
env
}
import { ChatOpenAI } from "@langchain/openai";
import { HumanMessage } from "@langchain/core/messages";
const chatModel = new ChatOpenAI({
configuration: {
baseURL: "https://oneapi.你的oneapi地址/v1"
}
});
const res = await chatModel.invoke([
new HumanMessage("Tell me a joke")
])
console.log(res)
点击 jupyter 的 Run All 下方应该有输出 注意这里有报错记得安装一下dotenv
yarn add dotenv
or
pnpm install dotenv
使用 nodejs
同一目录下创建 .env
package.json
a.js
三个文件
.env
OPENAI_API_KEY=你的 oneapi 密钥
package.json
{
"name": "kailangchain",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "node a.js"
},
"dependencies": {
"@langchain/core": "^0.2.10",
"@langchain/openai": "^0.0.28",
"dotenv": "^16.4.5"
}
}
a.js
import { ChatOpenAI } from "@langchain/openai";
import { HumanMessage } from "@langchain/core/messages";
import "dotenv/config";
const model = new ChatOpenAI({
configuration: {
baseURL: "https://oneapi.你的 oneapi 地址/v1"
}
});
const res = await model.invoke([
new HumanMessage("Tell me a joke")
])
console.log(res);
终端运行 node a.js
或 pnpm start
这里记得先pnpm i
一下
可以看到能拿到完美的结果了