利用Dify+Kimi免费使用Kimi的API接口的操作和使用方法

废话不多说,直接开整kimi-free-api项目。

1、kimi-free-api服务安装启动

支持高速流式输出、支持多轮对话、支持联网搜索、支持智能体对话、支持长文档解读、支持图像OCR,零配置部署,多路token支持,自动清理会话痕迹。

与ChatGPT接口完全兼容。

还有以下八个free-api欢迎关注:

阶跃星辰 (跃问StepChat) 接口转API step-free-api

阿里通义 (Qwen) 接口转API qwen-free-api

智谱AI (智谱清言) 接口转API glm-free-api

秘塔AI (Metaso) 接口转API metaso-free-api

讯飞星火(Spark)接口转API spark-free-api

MiniMax(海螺AI)接口转API hailuo-free-api

深度求索(DeepSeek)接口转API deepseek-free-api

聆心智能 (Emohaa) 接口转API emohaa-free-api

github地址:https://gitcode.com/LLM-Red-Team/kimi-free-api/overview

1.1、安装前的准备

先从 https://kimi.moonshot.cn 获取refresh_token。进入kimi随便发起一个对话,然后按F12,打开开发者工具,从Application > Local Storage中找到refresh_token的值(记得先记录下来),将作为Authorization的Bearer Token值:Authorization: Bearer TOKEN。如下图所示:

1.2、安装docker和docker-compose

找一台具有公网IP(可以连接互联网的机器),并且防火墙放开8000端口。

docker和docker-compose的具体安装方法,可以参照:安装Milvus向量数据库 中的第二小节Docker安装,这里就不在重复介绍了。

要求:Docker 19.03 or later Docker Compose 1.25.1 or later。

安装完成docker和docker-compose之后,就可以拉取kimi-free-api的镜像了。如下:

1.2.1、拉取镜像并启动

[root@Bert kimi]# docker run -it -d --init --name kimi-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/kimi-free-api:latest

1.2.2、查看kimi-free-api的运行日志

利用docker ps -a命令查看正在运行的容器,找到kimi-free-api这个容器,如下图:

[root@Bert kimi]#  docker logs -f kimi-free-api

1.2.3、启动、重启、停止kimi-free-api服务

[root@Bert kimi]# docker start kimi-free-api

[root@Bert kimi]# docker restart kimi-free-api

[root@Bert kimi]# docker stop kimi-free-api

以上操作也可以用kimi-free-api服务的容器ID进行操作。除了直接用docker拉取镜像之外,还可以用docker-compose进行操作。如下方法:

[root@Bert kimi]# vi docker-compose.ymlversion: '3'services:kimi-free-api:container_name: kimi-free-apiimage: vinlic/kimi-free-api:latestrestart: alwaysports:- "8000:8000"environment:- TZ=Asia/Shanghai[root@Bert kimi]# docker-compose up -d

-d:代表后台启动的意思。也可以不使用-d。

docker-compose启动会有点慢,耐心等待即可。

启动成功后,可以使用curl命令检查接口是否能正常使用,也可以在浏览器中访问测试。

如下所示:

利用curl命令测试:

[root@Bert kimi]# curl -I http://192.168.20.4:8000/v1/chat/completions

[root@Bert kimi]# curl -I http://192.168.20.4:8000/v1/chat/completions
HTTP/1.1 200 OK
Vary: Origin
Access-Control-Allow-Origin: *
Accept-Ranges: bytes
Content-Type: application/json; charset=utf-8
Content-Length: 156
Date: Tue, 28 May 2024 08:47:39 GMT
Connection: keep-alive
Keep-Alive: timeout=5

利用浏览器测试:

因为接口需要用POST方法调用,直接从浏览器访问时是GET请求,所以会报出以上的错误问题。

查看kimi-free-api访问的日志:

[root@Bert kimi]# docker logs -f kimi-free-api
[2024-05-28 16:02:15.755][info][index<983,30>] <- POST /v1/chat/completions 427ms
[2024-05-28 16:02:22.192][success][index<1340,22>] Stream has completed transfer 6437ms
[2024-05-28 16:47:00.217][debug][index<992,22>] -> GET /v1/chat/completions request is not supported - 192.168.20.1
[2024-05-28 16:47:00.218][info][index<999,24>] <- GET /v1/chat/completions 1ms
[2024-05-28 16:47:00.218][warning][index<994,22>] [请求有误]: 正确请求为 POST -> /v1/chat/completions,当前请求为 GET -> /v1/chat/completions 请纠正
[2024-05-28 16:47:39.713][warning][index<994,22>] [请求有误]: 正确请求为 POST -> /v1/chat/completions,当前请求为 HEAD -> /v1/chat/completions 请纠正
[2024-05-28 16:47:39.713][debug][index<992,22>] -> HEAD /v1/chat/completions request is not supported - 192.168.20.4
[2024-05-28 16:47:39.714][info][index<999,24>] <- HEAD /v1/chat/completions 0ms

说明访问连通性可用。到此为止kimi-free-api的服务安装与启动、测试已经完成,下一步就可以用dify平台连接kimi-free-api进行对话了,如果不想用dify的话,也可以自己写接口去调用kimi-free-api的接口进行对话。

2、dify平台安装与配置

2.1、下载dify

将Dify代码从github下载至服务器,或者通过http的方式下载Dify的代码的zip文件后,上传至服务器解压缩。

Dify源码下载地址:https://github.com/langgenius/dify

2.2、安装dify

解压出下载的dify,然后进入到docker目录下,如下所示:

[root@Bert kimi]# cd /app/dify/dify-main/docker

[root@Bert kimi]# docker-compose up -d

耐心等待安装即可。

2.3、配置nginx

安装完成之后,会在nginx目录下生成conf.d/default.conf配置文件,内容如下:

server {listen 80;server_name _;location /console/api {proxy_pass http://api:5001;include proxy.conf;}location /api {proxy_pass http://api:5001;include proxy.conf;}location /v1 {proxy_pass http://api:5001;include proxy.conf;}location /files {proxy_pass http://api:5001;include proxy.conf;}location / {proxy_pass http://web:3000;include proxy.conf;}
}

此时需要把对应的server_name、proxy_pass改成对应的IP。

其中server_name后面可填写域名或是IP,此处的域名或是IP是指安装dify所在的机器。

proxy_pass后面所填的IP需要利用docker inspect <容器ID或容器运行的服务名称>查找到对应端口的IP,如下所示(以5001端口为例):

查看运行中的容器,并且找到对应的5001端容器。

[root@Bert kimi]# docker ps -a

利用docker inspect获取对应容器的元数据

[root@Bert kimi]# docker inspect docker-api-1

注:5001端口会有2个,使用docker-api-1对应的即可,如下图所示2个5001端口:

如下图所示:

3000端口的查找方法如上所示。

找到对应的IP之后,再回到conf.d目录下,修改其中的IP,如下所示:

[root@Bert kimi]# cd /app/dify/dify-main/docker/nginx/conf.d
[root@Bert kimi]# vi default.conf
server {listen 80;server_name 192.168.20.4;location /console/api {proxy_pass http://172.22.0.8:5001;include proxy.conf;}location /api {proxy_pass http://172.22.0.8:5001;include proxy.conf;}location /v1 {proxy_pass http://172.22.0.8:5001;include proxy.conf;}location /files {proxy_pass http://172.22.0.8:5001;include proxy.conf;}location / {proxy_pass http://172.22.0.5:3000;include proxy.conf;}# If you want to support HTTPS, please uncomment the code snippet below#listen 443 ssl;#ssl_certificate ./../ssl/your_cert_file.cer;#ssl_certificate_key ./../ssl/your_cert_key.key;#ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#ssl_prefer_server_ciphers on;#ssl_session_cache shared:SSL:10m;#ssl_session_timeout 10m;
}

重启容器中的nginx,查找方法同上。

注:每次重启dify相关的容器,对应的IP都会发生变化,所以重启之后,一定要重新检查一下IP,再重新配置的conf.d/default.conf中proxy_pass的IP地址。

[root@Bert kimi]# docker restart docker-nginx-1

2.4、验证

用浏览器访问dify所在的主机地址,进行用户初使化:http://192.168.20.4/install,按要求注册用户即可,注册完利用注册好的用户登录dify平台,如下图:

点击右上角用户下拉,选择“设置”:

选择“模型供应商”,找到“OpenAI-API-compatible”点击:

因为我这里已经创建好了,所以大家可以在图中标蓝的区域查找“OpenAI-API-compatible”点击配置,如下图所示:

模型类型:选择LLM

模型名称:可以自定义,也可以填写成和kimi-free-api容器中运行的名字一样。

API KEY:填写1.1小节点获取的refresh_token。

API endpoint URL:填写kimi-free-api所部署的机器地址

Completion mode:选择对话

模型上下长度:填写4096

最大token上限:填写4096

Function calling:除了不选“不支持”外,其它的选项都可以

Stream function calling:选择支持

Vision支持:选择支持

流模式返回对结果的分隔符:填写\n\n

填好之后,点击保存即可,这会加载的时间有可能会长一点,此时大家可以用docker logs查看kimi-free-api的日志,检查有没有报错。

[root@Bert kimi]# docker logs -f  kimi-free-api

如果发现日志中有访问kimi.moonshot.cn无法正常访问的情况,可以从以下方面解决:

如下图的报错:

1、先查看部署kimi-free-api的主机是否能正常访问互联网。

2、如果不能正常访问互联网,先解决该问题后,再重启docker和kimi-free-api。

这是因为ipv4转发被禁用造成,可以使用以下方法排查和解决:

1、重启kimi-free-api时不要使用docker restart kimi-free-api进行重启,有可能不会生效,使用docker-compose down停掉之后,再使用docker-compose up -d启动。

2、也可以vi /etc/sysctl.conf中添加一行配置net.ipv4.ip_forward=1,使用sysctl -p生效,重启network服务,其次再重启docker和kimi-free-api。

正常保存之后,再点击“创建空白应用”,如下图所示:

创建好之后,会在首页出现你创建的应用,如下图所示:

此时就可以点击所创建的应用进行问答了,也可以点击最上方的“探索”进行问答,如下图所示:

点击所创建的应用问答:

点击探索的问答:

到此为止Dify+Kimi-free-api成功完成本地部署与使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文了解知识中台:是什么、作用、如何搭建

在当今信息繁杂的时代&#xff0c;知识对于企业来说犹如宝藏般重要&#xff0c;而知识中台就是宝藏山的藏宝图。关于知识中台&#xff0c;你可能会感到好奇&#xff0c;它究竟是什么&#xff0c;有什么作用&#xff0c;又该如何搭建知识中台呢&#xff1f;接下来就让LookLook同…

MATLAB分类与判别模型算法:基于Fisher算法的分类程序【含Matlab源码 MX_002期】

算法思路介绍&#xff1a; 费舍尔线性判别分析&#xff08;Fishers Linear Discriminant Analysis&#xff0c;简称 LDA&#xff09;&#xff0c;用于将两个类别的数据点进行二分类。以下是代码的整体思路&#xff1a; 生成数据&#xff1a; 使用 randn 函数生成随机数&#x…

基于微信小程序开发的一款 高颜值在线答题刷题考试程序

大家好&#xff0c;我是兔兔。今天给大家分享的内容是&#xff0c;兔兔答题模板三的发布。 兔兔答题模板三是一款基于uniapp开发&#xff0c;后端使用PHP&#xff0c;前端使用图鸟UI的微信答题小程序应用程序。相必兔兔答题模板一和兔兔答题模板二&#xff0c;进行了系统架构的…

上位机图像处理和嵌入式模块部署(f103 mcu中main入口函数误解)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 学习stm32代码的时候&#xff0c;关于汇编文件&#xff0c;大家一般都会参考官方给出的汇编文件。通常情况下&#xff0c;不会自己去写汇编文件。特…

凡事有利有弊,如果生了一个自闭症的小孩,请说出有利的部分 :独特、专注力、诚实和直接,记忆力

生育一个自闭症小孩可能带来一些独特的优势和积极的方面&#xff0c;尽管也会面临许多挑战。以下是一些可能的有利方面&#xff1a; 独特的视角&#xff1a;自闭症儿童通常有独特的思维方式和视角&#xff0c;他们可能在某些方面比普通人更敏锐。这种独特性可以带来创新的解决方…

Nginx/阿里云/二级域名的配置和使用

阿里云域名解析配置如下&#xff1a; nginx配置如下&#xff1a; 访问地址&#xff1a; zhadmin.iotzzh.com image.png

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速 2024/5/29 15:09 服务器端&#xff1a;瑞芯微官方Toybrick TB-RK3588开发板&#xff1a;Debian11 客户端&#xff1a;笔记本电脑&#xff1a;Ubuntu20.04 两者通过千兆交换机连接&#xff01; toybr…

小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目&#xff0c;详细工程库创建过程如下链接&#xff1a; 小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器 3.修改main.c…

VRTK4教程 一:资源导入、Unity设置、连接头盔

文章目录 VRTK4的分包导入VRTK4的资源包unity设置连接头盔 VRTK4的分包 vrtk4的资源包和旧版不同&#xff0c;采用了分包导入的思想&#xff0c;我们要用什么功能&#xff0c;就导入什么包&#xff0c;可以有效减小程序体积 如下图&#xff0c;已经导入的vrtk包会显示在Packag…

【JS红宝书学习笔记】第4章 变量、作用域和内存

第4章 变量、作用域和内存 1. 原始值和引用值&#xff08;面试题&#xff09; ECMAScript 变量可以包含两种不同类型的数据&#xff1a;原始值和引用值。原始值&#xff08;primitive value&#xff09;就是最简单的数据&#xff08;Undefined、Null、Boolean、Number、Strin…

DxO PhotoLab 6 for Mac/Win:专业RAW图片编辑的利器

DxO PhotoLab 6 for Mac/Win是一款专为摄影师和摄影爱好者打造的专业RAW图片编辑软件&#xff0c;它将先进的技术、丰富的功能与直观的操作完美结合&#xff0c;为用户提供了一款全面而强大的图片处理工具。 一、技术领先&#xff0c;处理RAW图片更高效 DxO PhotoLab 6采用了…

迅睿CMS邮箱设置QQ邮箱为例

邮箱设置 1、服务器地址两个&#xff0c;普通与企业。 普通&#xff1a;ssl://smtp.qq.com企业&#xff1a;ssl://smtp.exmail.qq.com 2、端口号为&#xff1a;465 3、邮箱账号&#xff1a;填写自己的QQ邮箱作为发布服务器。 4、邮箱密码&#xff1a;到QQ邮箱账号中获取“…

keil4和5版本代码编译错误问题

需求: 在工作中, 遇到了keil4工程的老代码, 需要烧录到板子中. 问题: 电脑中只有keil5软件, 使用keil5软件打开, 编译后报了一堆错, 还是官方库文件的错误, 这就是版本不兼容了. 解决方法: 下载keil4软件, 不要和keil5放到一起. 进行如下操作. 0. 根据如下链接来下载keil4.7…

Compose第一弹 可组合函数+Text

目标&#xff1a; 1.Compose是什么&#xff1f;有什么特征&#xff1f; 2.Compose的文本控件 一、Compose是什么&#xff1f; Jetpack Compose 是用于构建原生 Android 界面的新工具包。 Compose特征&#xff1a; 1&#xff09;声明式UI&#xff1a;使用声明性的函数构建一…

2024-2025年跨境电商展览会计划表:共筑未来跨境行业的繁荣

-----------------------------2024年跨境电商展计划如下---------------------------- 2024年&#xff0c;2025年国内跨境电商行业将迎来一系列重大的展会活动&#xff0c;是企业展示品牌、交流趋势、拓展商机的重要平台。全国各地展会排期信息现已出炉&#xff0c;记得收藏哦…

Linux中断

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、中断的相关概念1.中断号2.中断的申请和释放申请API函数如下&#xff1a;释放API函数如下&#xff1a;中断处理函数如下&#xff1a;使能和禁止中断 二、上半…

基于python实现的深度学习web多格式纠错系统

基于python实现的深度学习web多格式纠错系统 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;Django框架工具&#xff1a;pycharm、Navicat、Maven 系统功能实现 用户登录 登录功能是本系统一个非常重要的功能&#xff0c;这极大的保护了系统的安全。登录…

大模型智力升级:AI的未来之路

大模型的发展引领了人工智能的新时代&#xff0c;其强大的数据处理和学习能力在医疗、金融、教育等众多领域取得了令人瞩目的成就。然而&#xff0c;随之而来的挑战也不容忽视。尽管大模型在特定任务上展现出了卓越的性能&#xff0c;但它们在理解复杂语境、处理未见情况的能力…

【NumPy】全面解析add函数:高效数组加法操作

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

【全开源】Java共享茶室棋牌室无人系统支持微信小程序+微信公众号

打造智能化休闲新体验 一、引言&#xff1a;智能化休闲时代的来临 随着科技的飞速发展&#xff0c;智能化、无人化服务逐渐渗透到我们生活的各个领域。在休闲娱乐行业&#xff0c;共享茶室棋牌室无人系统源码的出现&#xff0c;不仅革新了传统的休闲方式&#xff0c;更为消费…