建议:如果想获取更多关于ollama本地大模型的信息,可以查看博主的其他相关文章,也可以前往博客园学习:Ollama完整教程:本地LLM管理、WebUI对话、Python/Java客户端API应用 - 老牛啊 - 博客园 (cnblogs.com)
第一步,安装 Python 依赖包:
在pycharm终端输入:
pip install ollama
下载不了可以用镜像下载:
pip install ollama -i https://pypi.tuna.tsinghua.edu.cn/simple
第二步,调用 Ollama 接口,以调用【llama3.1:8b】为例(代码种有两处需要修改大模型名称)
注意:需要启动ollama的对应大模型,并且关闭梯子
启动大模型llama3.1:8b:Win+R调出运行框,输入cmd,在cmd中输入【ollama run llama3.1:8b】并启动
import ollama
# 流式输出
def api_generate(text: str):
print(f'提问:{text}')
stream = ollama.generate(
stream=True,
model='llama3.1:8b', # 修改大模型名称1
prompt=text,
)
print('-----------------------------------------')
for chunk in stream:
if not chunk['done']:
print(chunk['response'], end='', flush=True)
else:
print('\n')
print('-----------------------------------------')
print(f'总耗时:{chunk['total_duration']}')
print('-----------------------------------------')
if __name__ == '__main__':
# 流式输出
api_generate(text='天空为什么是蓝色的?')
# 非流式输出
content = ollama.generate(model='llama3.1:8b', prompt='天空为什么是蓝色的?') # 修改大模型名称2
print(content)
运行结果截图(回答会不一样):
代码2.0(可以在运行后输入问题获得回答,输入退出结束运行):
import ollama
# 流式输出
def api_generate(text: str):
print(f'提问:{text}')
stream = ollama.generate(
stream=True,
model='llama3.1:8b', # 修改大模型名称1
prompt=text,
)
print('-----------------------------------------')
for chunk in stream:
if not chunk['done']:
print(chunk['response'], end='', flush=True)
else:
print('\n')
print('-----------------------------------------')
print(f'总耗时:{chunk["total_duration"]}')
print('-----------------------------------------')
if __name__ == '__main__':
while True:
# 从用户获取输入
question = input("请输入你的问题(输入 '退出' 以结束程序):")
# 检查用户是否想退出
if question.lower() in ['退出', 'exit', 'quit']:
print("程序已退出。")
break
# 流式输出
api_generate(text=question)
# 非流式输出
content = ollama.generate(model='llama3.1:8b', prompt=question) # 修改大模型名称2
print(content)
版权归原作者 神里大人 所有, 如有侵权,请联系我们删除。