1.ollama安装
1.1 主机安装
- (1) Linux
>> curl -fsSL https://ollama.com/install.sh | sh
- (2) Windows
- (3)MacOS
1.2 docker安装
>> sudo docker pull ollama/ollama
2.启动ollama服务
2.1 主机启动
>> ollama run <模型名>
2.2 docker启动
# 1.启动容器
>> sudo docker run -itd --gpus=all -v <宿主机路径>/ollama:/root/.ollama \
-p 11434:11434 --name ollama ollama/ollama
# 2.运行命令
>> sudo docker exec -it ollama ollama run <模型名>
3.模型下载
3.1 进入ollama模型仓库
3.2 选择要部署模型
例如,要部署deepseek-r1模型,我这里选取的是8b,默认就是7b
>> ollama run deepseek-r1:8b
>>> 你好
<think>
</think>
你好!很高兴见到你,有什么我可以帮忙的吗?无论是学习、工作还是生活中的问题,都可以告诉我哦!😊
>>>
直接run的时候,当你没有下载对应模型时,会给你先下载下来,然后再run,当然,你也可以先 pull
,然后再run
2.3 对话退出
可以使用ctrl+d退出当前对话
2.4 模型保存路径
- macOS:
~/.ollama/models
- Linux:
/usr/share/ollama/.ollama/models
- Windows:
C:\Users\%username%\.ollama\models
3.dify无法配置成功
Docker 部署时,容器无法访问 Ollama 服务。localhost 通常指的是容器本身,而不是主机或其他容器。要解决此问题,你需要将 Ollama 服务暴露给网络。
3.1 使用教程中提供方法:
其实就是将OLLAMA服务主机设置成"0.0.0.0",使用命令:
>> sudo systemctl edit ollama.service
然后将下面的部分内容写进去:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
然后,使配置生效,并重启服务:
>> systemctl daemon-reload
>> systemctl restart ollama
这样改完,还是没卵用,所以我就手动改了一下服务配置
3.2 手动修改服务配置文件
>> sudo vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib"
[Install]
WantedBy=default.target
然后,更改 Environment
变量值,新增:;OLLAMA_HOST=0.0.0.0:11434
得到:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib;OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target
最后使配置生效,并重启服务:
>> systemctl daemon-reload
>> systemctl restart ollama
3.3 再次添加配置
发现又出现了个什么 Server Internel Error.
,这时,重启一下docker就好了。
4.使用python调用
4.1 依赖包安装
>> pip install langchain langchain_community
>> pip install -U langchain-ollama
4.2 简单调用
- (1) 使用
langchain_ollama
from langchain_ollama import OllamaLLM
if __name__ == "__main__":
llm = OllamaLLM(model="qwq:latest", base_url="http://10.124.132.28:11434")
response = llm.stream("你是谁?")
for chunk in response:
print(chunk, end='', flush=True)
运行结果:
<think>
嗯,用户问“你是谁?”,我需要先确定他们想了解什么。可能是在确认我的身份或者功能吧。首先,我要明确自己是通 义千问,阿里巴巴集团旗下的超大规模语言模型。接下来应该简要说明我的能力,比如回答问题、创作文字、编程等等 。
然后,用户可能想知道如何与我互动,所以需要提到对话的方式和应用场景。例如,他们可以提问、写故事、邮件,或 者表达观点。还要注意语气友好,让用户感觉亲切,同时保持专业性。
另外,考虑到用户可能有不同的需求,是否要分点列出我的功能?比如分成回答问题、创作文字、编程等几个方面。这 样结构更清晰,信息传达更有效。
还需要检查是否有遗漏的重要信息,比如支持的语言种类或者使用场景的例子。例如,除了中文,还支持其他语言吗? 不过用户的问题是用中文问的,可能主要关注中文方面的功能。
另外,是否需要提醒用户如果有具体问题可以进一步询问?这样能促进后续的互动。比如结尾处邀请他们提出更多需求 或问题。
还要注意避免使用过于技术化的术语,保持回答简洁易懂。同时确保没有错误信息,比如准确说明我的训练数据截止时 间是2024年12月,这可能对用户来说是一个重要的参考点。
最后,检查整个回答的流畅性和逻辑性,确保每个部分自然衔接,并且覆盖用户可能关心的主要方面。
</think>
你好!我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我能够帮助你完成以下任务:
1. **回答问题**:无论是常识、专业知识还是具体的问题,我都尽力为你提供准确的信息和答案。
2. **创作文字**:我可以帮你写故事、公文、邮件、剧本等,甚至参与创意写作或逻辑推理。
3. **编程支持**:如果你需要编写代码或解决技术问题,我也能提供帮助。
4. **多语言交流**:除了中文,我还支持多种国际语言的交互。
你可以把我当作一个智能助手,随时向我提问、讨论想法或寻求建议。我的目标是通过自然对话的方式,为你提供高效 、有用的信息和服务。
如果有什么具体需求或问题,请告诉我! 😊
- (2) 使用ollama的Client
from ollama import Client
client = Client(host="http://10.124.132.28:11434")
if __name__ == "__main__":
response = client.chat(
model="qwq:latest",
stream=True,
messages=[{"role": "user", "content": "你是谁?"}]
)
for message in response.__iter__():
print(message['message']['content'], end='', flush=True)
输出结果:
<think>
嗯,用户问“你是谁?”,我需要先确定他们想知道什么。可能他们是第一次使用这个功能,或者想确认我的身份。
首先,我应该介绍自己是通义千问,阿里巴巴集团旗下的超大规模语言模型。这样能明确我的来源和背景。
接下来,要说明我的主要功能,比如回答问题、创作文字等,让用户了解我能做什么。然后提到支持多语言,这可能对 国际用户有用。
还要强调我的训练数据截止时间是2024年12月,这对需要最新信息的用户来说很重要,他们可能会关心时效性。
另外,要提醒用户如果有具体问题或需要帮助,可以直接告诉我。这样鼓励进一步互动,促进对话继续。
最后,保持回答简洁友好,避免使用技术术语过多,让用户容易理解。同时注意不要遗漏关键点,比如模型版本和训练 数据的时间范围。
</think>
你好!我是通义千问,阿里巴巴集团旗下的超大规模语言模型。我的中文名是“通义千问”,英文名是“Qwen”。我能够回 答问题、创作文字(如写故事、公文、邮件、剧本等),还能进行逻辑推理、编程、表达观点、玩游戏等。
我的训练数据截止时间是2024年12月,这意味着我对这个时间点之前的信息有较好的了解。如果你有任何问题或需要帮 助,尽管告诉我,我会尽力为你提供支持!
5.参考资料
- [1] 接入本地部署的ollama模型