AI-启动
前言
我们都知道AI可以帮助我们完成很多工作,同时也可以帮助我们快速生成一些繁琐的文档;本篇介绍接入一些开源的大预言模型;
准备
OpenAPI
首先需要了解下什么是OpenAPI,OpenAPI是一种结构化的规范,它提供了一种标准的方式来定义API接口,包括端点(endpoints)、请求和响应的格式、参数、认证方法等;这就使得不同的系统和应用可以更容易的集成大模型,只要遵循OpenAPI规范,大模型就可以被封装成API服务,其他系统就可以通过标准的HTTP请求与这些API进行交互,对使用者而言,封装好一套嗲用大模型服务的API接口后,当要使用不同的大模型时可以平滑替换,这都是由于遵循了一套标准的好处;
接入方式
我们知道大模型要封装成一个服务后才能供其他应用使用,而这套服务由于遵循了OpenAPI对外开放接口,那么就可以提供一套模型的封装,使不同的模型生成一个服务;同时调用模型也可以生成一套通用的封装用于调用大模型对外的API服务;
方案一
方案一使用本地部署服务方式,硬件配置不够慎用,性能根据模型大小会有不同
Ollama
这里使用的是Ollama用来启动大模型API服务,ollama 官网提供了各种平台的安装包,以下是下载地址:https://ollama.com/download
安装模型
ollama安装完成后就可以开始安装模型,先选择一个模型安装,ollama提供了一个页面供用户查询可以安装的开源模型。https://ollama.com/search
在页面查询到想要安装的模块之后使用如下命令安装模型并启动:
ollama run [模型id]
安装示例
这里以llama3:latest为例:
ollama run llama3:latest
启动后就可以通过终端命令行和大模型交互了。
Open-WebUI
这里使用的是Open-WebUI,它是一个开源的用户界面框架,旨在提供简便的工具和接口,帮助用户轻松地访问和管理各种深度学习模型,尤其是大规模预训练语言模型。以下是对Open-WebUI的简要介绍:
开源框架:
Open-WebUI是一个开源项目,提供了灵活且可定制的用户界面,用于与各种深度学习模型进行交互。模型管理: 通过
Open-WebUI,用户可以方便地加载、配置和管理多个深度学习模型,包括GPT-4、BERT等大规模预训练模型。用户友好: 它提供了直观的界面,简化了模型使用过程,使非技术用户也能轻松上手进行自然语言处理任务。
集成支持:
Open-WebUI支持与多种后端深度学习框架(如TensorFlow、PyTorch)集成,提供高效的推理和训练功能。扩展性强: 用户可以根据需求自定义和扩展界面功能,以适应不同的应用场景和任务需求。
总之,Open-WebUI为用户提供了一个高效、直观的界面,使得大规模深度学习模型的使用更加便捷和高效。
下载
以下是Open-WebUI的Github地址,从这里将项目下到本地
https://github.com/open-webui/open-webui
部署
这里使用的是Docker部署,只需要在项目文件下使用Docker命令启动一个容器即可,当ollama与Open-WebUI部署在一台机器上,只需要运行:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果ollama部署在服务器上,可以使用如下命令在启动Docker容器时指定ollama的地址
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
OLLAMA_BASE_URL是指ollama暴露的API地址,一般为服务器地址加 11434。如:OLLAMA_BASE_URL=<http://192.168.0.111:11434>
使用
部署完成后在浏览器打开http://localhost:3000,展示的是Open-WebUI的界面,第一次加载可能有点慢,然后注册一个用户就可以开始使用;
模型选择
在对话框的左上角有下拉框,可以看到已下载的所有模型,也可以搜索其他模型直接安装;
方案二
方案二使用远程调用,相对于方案一更受限制,但是不影响本地计算资源,这种方式主要调用线上大模型API服务,需要申请Key,同时会被限流。
这里申请了讯飞星火和MoonShot作为演示
在线大模型
星火认知
讯飞星火申请
目前版本为4.0Ultra,申请后在星火调试中心进行调试,或者从我的应用页面进入;
申请完成后需要记录下给出的参数,参数位置在4.0Ultra
参数:
APIPassword
APPID
APISecret
APIKey
测试
这里使用post测试,以下是curl
curl --location 'https://spark-api-open.xf-yun.com/v1/chat/completions' \
--header 'Authorization: Bearer [APIPassword]' \
--header 'Content-Type: application/json' \
--data '{
"model":"4.0Ultra",
"messages":[{
"role":"user",
"content":"讲个笑话吧"
}],
"temperature":0.7
}'
响应
{
"code": 0,
"message": "Success",
"sid": "cha000b4486@dx19444fa5a80b8f3532",
"choices": [
{
"message": {
"role": "assistant",
"content": "当然可以,这里有一个逗乐您的小笑话:\n“我不到学校去了!”上学第一天,阿罗放学回家便在一直哭。 “到底发生了什么事?”妈妈问。 “老师说,我是一个坏孩子,我要在家里坏,不在学校坏,我就不是坏孩子了。”希望这个笑话能让你露出笑容!"
},
"index": 0
}
],
"usage": {
"prompt_tokens": 4,
"completion_tokens": 68,
"total_tokens": 72
}
}
MoonShot
模型申请
目前申请的版本为moonshot-v1-8k,申请后需要在API Key管理处新增一个API Key,注意密钥只会在新建后显示一次,请及时保存
详情请查看使用文档,
测试
这里使用post测试,以下是curl
curl --location 'https://api.moonshot.cn/v1/chat/completions' \
--header 'Authorization: sk-2xyIeQ49Xl714yquKkMrIdvsuI4aZmnvgNHHKxEaXkk384Os' \
--header 'Content-Type: application/json' \
--header 'Cookie: aliyungf_tc=16bb526c719bc6113220e4e807c625a6b774414dd9cbd7bbe9563d7c3cd530a2' \
--data '{
"model":"moonshot-v1-8k",
"messages":[{
"role":"user",
"content":"讲个笑话吧"
}],
"temperature":0.7
}'
响应:
{
"id": "chatcmpl-677e36d9317b27ed3ba8be59",
"object": "chat.completion",
"created": 1736324825,
"model": "moonshot-v1-8k",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "当然可以。这里有一个经典的笑话:\n\n有一天,一只蚂蚁在森林里迷路了。它遇到了一只大象,于是走上前去问:“请问,我怎样才能走出这片森林呢?”\n\n大象低头看了看蚂蚁,然后抬起脚,踩在蚂蚁身上,说:“就像这样!”\n\n希望这个笑话能给你带来一点轻松和笑容。如果你还想听更多笑话,随时告诉我!"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 11,
"completion_tokens": 79,
"total_tokens": 90
}
}
更多
AI-启动的更多相关文章
- AI将带我们走向何方?
AI即人工智能,对科幻着迷的博主对此认知颇深,打算从科幻电影入手,先讲下未来的AI将给人类带来哪些变化,哪些思考. 从最初的<星际航行>中的各种星球.地形等的介绍,到各个鉴于的探索,以及其 ...
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统 作者: 深蓝色右手 来源: 博客园 发布时间: 2011-04-19 11:18 阅读: 1282 次 推荐: 0 ...
- 锁定“嵌入式AI”应用 中科创达启动第二轮成长
Thundersoft|中科创达软件股份有限公司 http://www.thundersoft.com/index.php 原文:http://tech.hexun.com/2017-08-29/1 ...
- 冰河指南AI技术社区基于ChatGPT正式启动运营
大家好,我是冰河~~ 最近ChatGPT真的太火了,科技圈几乎都在争相报导这个黑科技,它能够通过学习和理解人们的语言来和人类进行对话,能够与人们进行交流,甚至可以对你提出的问题进行分析,尽可能给出你想 ...
- 关于kali2.0rolling中metasploit升级后无法启动问题的解决总结
最近在学习metasploit的使用,文中提到可以使用msfupdate命令来对metasploit的payload.exploit等进行升级,我就试了一下,没想到升级过程并不麻烦,但升级后却出现了无 ...
- AI(二):人脸识别
微软提供的人脸识别服务可检测图片中一个或者多个人脸,并为人脸标记出边框,同时还可获得基于机器学习技术做出的面部特征预测.可支持的人脸功能有:年龄.性别.头部姿态.微笑检测.胡须检测以及27个面部重要特 ...
- Linux内核装载和启动一个可执行程序
“平安的祝福 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 理解编 ...
- 开机SystemServer到ActivityManagerService启动过程分析
开机SystemServer到ActivityManagerService启动过程 一 从Systemserver到AMS zygote-> systemserver:java入层口: /** ...
- [转]轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
本文转自:http://blog.csdn.net/zapzqc/article/details/42237935 由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最 ...
- 启动页面设置,icon图标设置
更多尺寸像素如何放置请看:http://chicun.jammy.cc/ 如何设置App的启动图,也就是Launch Image? 新建一个iosLaunchImage文件夹
随机推荐
- 记一次 .NET某hdp智能柜系统 卡死分析
一:背景 1. 讲故事 停了一个月时间没有更新博客了,主要是这段时间有些许事情导致心神不宁,我这个人也比较浮躁所以无法潜心修炼,事情如下: 被狗咬了 也不知道是不是出门没看黄历,在小区门口店里买烟,被 ...
- mongo设置可选的唯一索引
对于一些可能为空但必须唯一的字段,mongo支持创建部分索引,使用 partialFilterExpression 字段. MongoDB version >= 3.2 下面以 unique_a ...
- 盘点一下在swagger中一些有用且经常忽略的属性
震惊!,这些Swagger的属性你都了解吗? 盘点一下在swagger中一些有用且经常忽略的属性 启用永久授权EnablePersistAuthorization app.UseSwaggerUI(c ...
- Java8使用Stream实现List中对象属性的合并(去重并求和)
前言 在需求开发中,我们需要对一个List中的对象进行唯一值属性去重,属性求和,对象假设为Pool,有name.value两个属性,其中name表示唯一值,需要value进行求和,并最后保持一份对象. ...
- 【C#】【平时作业】习题-13-数据类型
目录 1. 什么是 ArrayList ,如何存放数据? 2. 什么 Queue ,如何存放数据? Queue 类的方法和属性 3. 什么 Stack ,如何存放数据? 4. 什么 Hashtable ...
- go编译可以指定os和arch
是的,Go 编译器支持通过环境变量来指定目标操作系统(OS)和架构(Arch).这允许你为不同的平台交叉编译 Go 程序.你可以使用 GOOS 和 GOARCH 环境变量来指定目标系统. 例如,如果你 ...
- 解决docker 容器设置中文语言包出现的问题_docker
https://www.anquanclub.cn/5821.html 这篇文章主要介绍了解决docker 容器设置中文语言包出现的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 ...
- Exception:统一异常处理
异常包括:全局异常.特定异常和自定义异常. 第一步,创建一个异常处理类,并在类上添加 @ControllerAdvice 注解 第二步,在类中添加出现异常时要执行的方法,并在方法上添加对应注解,指定出 ...
- Qt/C++自定义界面大全/20套精美皮肤/26套精美UI界面/一键换肤/自定义颜色/各种导航界面
一.前言 这个系列对应自定义控件大全,一个专注于控件的编写,一个专注于UI界面的编写,程序员有两大软肋,一个是忌讳别人说自己的程序很烂很多bug,一个就是不擅长UI,基本上配色就直接rgb,对于第一点 ...
- Mac terminal proxy
cat >> ~/.bash_profile << EOF function proxy_on() { export http_proxy=http://127.0.0.1:7 ...