当前位置:   article > 正文

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

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进行操作。如下方法:

  1. [root@Bert kimi]# vi docker-compose.yml
  2. version: '3'
  3. services:
  4.   kimi-free-api:
  5.     container_name: kimi-free-api
  6.     image: vinlic/kimi-free-api:latest
  7.     restart: always
  8.     ports:
  9.       - "8000:8000"
  10.     environment:
  11.       - TZ=Asia/Shanghai
  12. [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

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

利用浏览器测试:

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

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

  1. [root@Bert kimi]# docker logs -f kimi-free-api
  2. [2024-05-28 16:02:15.755][info][index<983,30>] <- POST /v1/chat/completions 427ms
  3. [2024-05-28 16:02:22.192][success][index<1340,22>] Stream has completed transfer 6437ms
  4. [2024-05-28 16:47:00.217][debug][index<992,22>] -> GET /v1/chat/completions request is not supported - 192.168.20.1
  5. [2024-05-28 16:47:00.218][info][index<999,24>] <- GET /v1/chat/completions 1ms
  6. [2024-05-28 16:47:00.218][warning][index<994,22>] [请求有误]: 正确请求为 POST -> /v1/chat/completions,当前请求为 GET -> /v1/chat/completions 请纠正
  7. [2024-05-28 16:47:39.713][warning][index<994,22>] [请求有误]: 正确请求为 POST -> /v1/chat/completions,当前请求为 HEAD -> /v1/chat/completions 请纠正
  8. [2024-05-28 16:47:39.713][debug][index<992,22>] -> HEAD /v1/chat/completions request is not supported - 192.168.20.4
  9. [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配置文件,内容如下:

  1. server {
  2. listen 80;
  3. server_name _;
  4. location /console/api {
  5. proxy_pass http://api:5001;
  6. include proxy.conf;
  7. }
  8. location /api {
  9. proxy_pass http://api:5001;
  10. include proxy.conf;
  11. }
  12. location /v1 {
  13. proxy_pass http://api:5001;
  14. include proxy.conf;
  15. }
  16. location /files {
  17. proxy_pass http://api:5001;
  18. include proxy.conf;
  19. }
  20. location / {
  21. proxy_pass http://web:3000;
  22. include proxy.conf;
  23. }
  24. }

此时需要把对应的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,如下所示:

  1. [root@Bert kimi]# cd /app/dify/dify-main/docker/nginx/conf.d
  2. [root@Bert kimi]# vi default.conf
  3. server {
  4. listen 80;
  5. server_name 192.168.20.4;
  6. location /console/api {
  7. proxy_pass http://172.22.0.8:5001;
  8. include proxy.conf;
  9. }
  10. location /api {
  11. proxy_pass http://172.22.0.8:5001;
  12. include proxy.conf;
  13. }
  14. location /v1 {
  15. proxy_pass http://172.22.0.8:5001;
  16. include proxy.conf;
  17. }
  18. location /files {
  19. proxy_pass http://172.22.0.8:5001;
  20. include proxy.conf;
  21. }
  22. location / {
  23. proxy_pass http://172.22.0.5:3000;
  24. include proxy.conf;
  25. }
  26. # If you want to support HTTPS, please uncomment the code snippet below
  27. #listen 443 ssl;
  28. #ssl_certificate ./../ssl/your_cert_file.cer;
  29. #ssl_certificate_key ./../ssl/your_cert_key.key;
  30. #ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  31. #ssl_prefer_server_ciphers on;
  32. #ssl_session_cache shared:SSL:10m;
  33. #ssl_session_timeout 10m;
  34. }

重启容器中的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成功完成本地部署与使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/734002
推荐阅读
相关标签
  

闽ICP备14008679号