【AI+应用】一步步搭建聊天机器人搭配多种国内外大模型以及api接口调用

news2025/1/6 20:46:31

如果你看过我之前写的一篇文章 【AI+应用】怎么快速制作一个类chatGPT套壳网站,  你可能顺利地使用chatGPT、Gemini, 用得很happy。

突然有一天,你发现一些网站,除了chatGPT、Gemini ,还可以切换使用国内外其他的大模型。你肯定想,这些模型我也想拥有。两个字,安排。

先推荐开源软件 lobeChat, https://github.com/lobehub/lobe-chat 。看下官网介绍

1、已支持的模型服务商

  • AWS Bedrock:集成了 AWS Bedrock 服务,支持了 Claude / LLama2 等模型,提供了强大的自然语言处理能力。

  • Google AI (Gemini Pro、Gemini Vision):接入了 Google 的 Gemini 系列模型,包括 Gemini 和 Gemini Pro,以支持更高级的语言理解和生成。

  • ChatGLM:加入了智谱的 ChatGLM 系列模型(GLM-4/GLM-4-vision/GLM-3-turbo),为用户提供了另一种高效的会话模型选择。

  • Moonshot AI (月之暗面):集成了 Moonshot 系列模型,这是一家来自中国的创新性 AI 创业公司,旨在提供更深层次的会话理解。

2、支持本地大语言模型 (LLM),基于 Ollama 支持了本地模型的使用。  之前我写过一篇 【人工智能】电脑本地从零开始搭建属于自己的大模型

3 模型视觉识别 (Model Visual)

4 TTS & STT 语音会话

5 Text to Image 文生图

6 插件系统 (Function Calling)

这些功能,不都是我们想要的么, 各种大模型,本地大模型, 文生图、语音等。

使用也特别简单,如果你电脑安装过docker的话, docker不会用建议看一下菜鸟教程,这里就不写了。  https://www.runoob.com/docker/docker-tutorial.html

docker run -d -p 3210:3210 -e OPENAI_API_KEY=sk-xxxx -e OPENAI_PROXY_URL=https://api.xxx/v1 -e ACCESS_CODE=lobe66 --name lobe-chat lobehub/lobe-chat

其中OPENAI_API_KEY、OPENAI_PROXY_URL 换成自己的。如果服务器搭建在国外,直接可以访问,问题不大。如果国内呢,要么通过魔法直接官方获取地址,要么使用国内api代理来获取。

之前有同学私信我,想免费安装试用下找下感觉。这里推荐一个开源项目

https://github.com/chatanywhere/GPT_API_free   ,  GPT3.5按照readme流程可以免费试用,我试用了下GPT3.5没问题。它也提供付费的服务(国内api代理),我没用过,不做推荐。

对于程序员来说,API接口调用大模型 是项目想做的事情。国内外这么多大模型,我能不能用一套接口调用这些模型?

这里分2种情况, 如果你是一名大模型应用开发工程师, 肯定会想到LangChain 应用开发框架来搞。但大部分可能是传统的web应用开发工程师, 那么one-api这个项目 就比较合适你。项目地址  https://github.com/songquanpeng/one-api 。

这里不废话,直接截图

图片

用一套数据接口完成不同大模型的丝滑切换, 对于程序员来说,你肯定不希望 一会对接下文心一言api,一会对接下通义千问api吧。

图片

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

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

相关文章

“风口”上的量化大厂“绣球”抛向中低频人才

量化人才这几年是人才舞台上的“香饽饽”。 遵循着低频不如高频、小厂不如大厂的薪资逻辑,各路人才被各路机构“哄抢”,薪资一路走高。 但2024年的“信号”再强烈不过——量化大厂们到了改变的时候了。 而量化大厂们显然对此已“心知肚明”....... “…

Vue.js 应用实现监控可观测性最佳实践

前言 Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。 TinyPro 是一套使用 Vue …

固态存储是未来|浅析SSD架构的演进与创新技术-2

除了性能和容量这两个最大的诉求外,其他的需求已经成为SSD现场架构的核心竞争力。 一是安全性:随着数据安全威胁日益严重,SSD的安全设计成为关键,包括提供单芯片硬件信任根、遵循FIPS140-3安全标准以及支持一次性可编程位字段来锁…

基础:TCP是什么?

1. TCP 是什么? TCP(Transmission Control Protocol 传输控制协议) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1]定义。 TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机…

TCP相关特性

协议段格式 • 源/⽬的端⼝号:表⽰数据是从哪个进程来,到哪个进程去; • 32位序号/32位确认号:后⾯详细讲; • 4位TCP报头⻓度:表⽰该TCP头部有多少个32位bit(有多少个4字节);所以TCP头部最⼤⻓度是15*460 • 6位标志位: ◦ URG:紧急指针是否有效 ◦ ACK:确认号是否有效…

yocto是个什么东东

yocto不是个什么东东 在我们了解Yocto项目是什么之前,让我们先了解一下它不是什么。 Yocto项目不是用于现有硬件的软件开发工具包(SDK),而是用于构建这样一个工具包。 Yocto项目不是可以部署到硬件上的系统二进制镜像&#xff…

软考高级:BPR 和 BPM概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

ubuntu下docker安装

目录 官网链接 安装步骤 docker使用方法 拉取镜像 创建镜像 运行镜像 查看运行结果 保存镜像文件 传输到windows下 官网链接 Install Docker Engine on Ubuntu | Docker Docs 安装步骤 1.运行以下命令卸载所有冲突的包: for pkg in docker.io docker-d…

mysql实战开发之 mysql 删除一张表某个字段的sql语句

有一张表, 我需要删除这张表其中的某一个或者某几个字段, 相信大家在日常开发中应该会遇到这种情况, 然后刚好自己接触的项目安装的mysql关闭了允许远程连接的设置, 也就是说不允许使用类似于navicat 等可视化工具连接, 那么就没办法通过可视化工具直接去通过鼠标操作就可以 完…

Android Studio实现内容丰富的安卓宠物医院管理系统

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 项目编号128 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.系统公告 3.宠物社区(可发布宠物帖子&#xf…

详细分析Java中Stream流和for循环的差异之处

目录 前言1. 基本知识2. Demo 前言 事情起因是遍历大数据的时候,数据卡顿很严重 对于Java的基本知识推荐阅读:java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) 1. 基本知识 在Java中,Stream API提供…

对模型性能进行评估(Machine Learning 研习十五)

在上一篇我们已然训练了一个用于对数字图像识别的模型,但我们目前还不知道该模型在识别数字图像效率如何?所以,本文将对该模型进行评估。 使用交叉验证衡量准确性 评估模型的一个好方法是使用交叉验证,让我们使用cross_val_score…

emment语法

文章目录 1. 生成普通的标签2. 生成 div类名3. 生成指定标签类名/id 值4. 生成带有子元素的标签5. 生成内部文本6. 一次可以生成多个标签7. 生成带有指定属性 的元素8. 生成相邻兄弟元素 1. 生成普通的标签 本质使用的就是元素选择器,例如 div p a 标签等等。 2. …

绝地求生:PUBG 2024年 更新重点偏向于武器平衡、游戏互动及联名道具

一、游戏体验 1. 增加可破坏的环境 1.1 增加更多互动功能 通过可破坏环境将游戏方式变得千变万化。待功能上线,在后续游戏中玩家可以对建筑物进行部分破坏来开辟新的进攻、撤退路线,或搭建掩体进行战略性攻击。 环境破坏部分功能,将会在4…

uniapp无感登录封装

全局请求封装 https://blog.csdn.net/qq_42618566/article/details/109308690 无感登录封装 import {http} from "./index.js" let requestsQueue []; // 请求队列// 记录请求队列 export function recordRequests(path, params, loading, method) {requestsQueu…

SQLiteC/C++接口详细介绍之sqlite3类(四)

快速跳转文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(三) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(五) 编写不易,有用的朋友点个赞或加粉一下万分感…

详解命令docker run -d --name container_name -e TZ=Asia/Shanghai your_image

docker run 是Docker的主要命令,用于从镜像启动一个新的容器。下面详细解释并举例说明 -d, --name, -e TZ 参数的用法: -d 或 --detach: 这个标志告诉Docker以守护进程(后台)模式运行容器。这意味着当你执行 docker ru…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《适应分布式资源渗透率提高的配电网网元规划方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextArea)

多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示。 高度未设置时,组件无默认高度,自适应内容高度。宽度未设置时,默认撑满最大宽度。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容&…

【Java设计模式】二十三、解释器模式

文章目录 1、解释器模式2、案例 1、解释器模式 计算一个表达式的值,比如12-34-7,单纯的定义方法或函数很难适配所有,因为数值和运算符可以有无数种组合。 //用于n个整数相加 public static int add(Integer ... arr) {int sum 0;for (Inte…