全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2024-04-01_Ollama 本地开源大模型聊天应用

您的位置:首页 >> 新闻 >> 行业资讯

Ollama 本地开源大模型聊天应用 点击关注公众号,“技术干货”及时达!前言如果您想在localhost部署并运行开源大模型,可以试试Ollama。本文我们将使用Ollama部署,并通过API的方式调用大模型。 安装Ollama提供了python和js两种开发包,对前端开发者挺友好的,用它! pip install ollama npm install ollama 应用场景聊天接口 多模态 模型我们可以通过 library (ollama.com) 查看Ollama支持的模型清单,有gemma、llama2、mistral、mixtral等,非常的丰富。 比如我们要使用的开源模型是llama2, 我们可以使用如下代码下载(首次)并运行模型 # 拉取模型 ollama pull llama2 # 运行模型 ollama run llama2 接口如果我们使用过openai的一些接口, 那么就了解文本补全、聊天、嵌入等。ollama提供了REST API来提供了请求接口。 生成式接口curlhttp://localhost:11434/api/generate-d'{ "model":"llama2", "prompt":"Whyistheskyblue?" }' 聊天接口curlhttp://localhost:11434/api/chat-d'{ "model":"mistral", "messages":[ {"role":"user","content":"whyistheskyblue?"} ] }' 嵌入curlhttp://localhost:11434/api/embeddings-d'{ "model":"all-minilm", "prompt":"Hereisanarticleaboutllamas..." }' 实战我们将结合Streamlit和Ollama,开发一个聊天应用。 Streamlit[1]是一款Web开发框架,适用于python快速完成一些大模型、数学科学计算的UI开发。 我们还会用到 Build a ChatGPT-like App | Streamlit 代码快速构建类chatgpt应用。 #引入streamlitUI库 importstreamlitasst #引入ollama importollama #获取ollama的模型列表 model_list=ollama.list() #设置默认模型名字为llama2:7b-chat if"model_name"notinst.session_state: st.session_state["model_name"]="llama2:7b-chat" #初始化聊天信息数组 if"messages"notinst.session_state: st.session_state.messages=[] #设置边栏 withst.sidebar: #侧边栏的标题 st.subheader("Settings") #下拉框选择模型,默认选中llama2 option=st.selectbox( 'Selectamodel', [model['name']formodelinmodel_list['models']]) st.write('Youselected:',option) st.session_state["model_name"]=option #页面标题与llama聊天 st.title(f"Chatwith{st.session_state['model_name']}") #遍历聊天数组 formessageinst.session_state.messages: #根据角色 withst.chat_message(message["role"]): #输出内容 st.markdown(message["content"]) ifprompt:=st.chat_input("Whatisup?"): st.session_state.messages.append({"role":"user","content":prompt}) withst.chat_message("user"): st.markdown(prompt) withst.chat_message("assistant"): #大模型返回后就清空输入框 message_placeholder=st.empty() full_response="" forchunkinollama.chat( model=st.session_state["model_name"], messages=[ {"role":m["role"],"content":m["content"]} forminst.session_state.messages ], #逐渐打出 stream=True, ): if'message'inchunkand'content'inchunk['message']: full_response+=(chunk['message']['content']or"") message_placeholder.markdown(full_response+"▌") message_placeholder.markdown(full_response) st.session_state.messages.append({"role":"assistant","content":full_response}) image.png拉取模型ollama pull image.png除了llama2, 我们再拉取下orca-mini 列出当前所有模型ollama list image.png运行streamlitstreamlit run app.py image.png总结Ollama在本地部署开源大模型,真心方便且靠谱。我在红米老爷机上运行了, 可以。结合streamlit 快速将Web搭建了出来。参考资料Ollama 官网Ollama Python开发包实例 | 基于本地部署开源大模型的Streamlit聊天应用ollama-libraries-example/python/app.py at main · sugarforever/ollama-libraries-example (github.com)Reference[1]https://streamlit.io/: https://link.juejin.cn/?target=https%3A%2F%2Fstreamlit.io%2F 点击关注公众号,“技术干货”及时达! 阅读原文

上一篇:2021-03-29_恒大冰泉世界水日强势吸睛 , 身体力行的公益“狂欢” 下一篇:2023-11-25_小模型如何进行上下文学习?字节跳动 & 华东师大联合提出自进化文本识别器

TAG标签:

16
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价