AI大模型企业应用实战--本地大模型部署

简介: 【8月更文挑战第20天】

3 使用 Ollama 在本地部署大模型

3.1 下载并运行应用程序

3.2 从命令行中选取模型(ollama pull llam2)

官网支持的模型

挑选一个比较小的试玩下:

3.3 运行

浏览器:

4 本地大模型调用

既然部署本地完成了,来看看如何调用呢?

from langchain_community.llms import Ollama

llm = Ollama(model="qwen2:0.5b")
llm.invoke(input="你是谁?")

使用流式

#使用流式
from langchain.callbacks.manager import CallbackManager
from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler

llm = Ollama(
    model="qwen2:0.5b", callback_manager=CallbackManager([StreamingStdOutCallbackHandler()])
)
llm.invoke(input="第一个登上月球的人是谁?")

5 模型评估

5.1 远程大模型

from langchain_openai import ChatOpenAI
from langchain.evaluation import load_evaluator
llm = ChatOpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    model="qwen-plus"
)

evaluator = load_evaluator("criteria", llm=llm, criteria="conciseness")
eval_result = evaluator.evaluate_strings(
    prediction="four.",
    input="What's 2+2?",
)
print(eval_result)

如果不简洁的回答:

#inpt 输入的评测问题
#prediction 预测的答案
# 返回值 Y/N 是否符合
# 返回值score 1-0分数,1为完全,0为不完全
eval_result = evaluator.evaluate_strings(
    prediction="What's 2+2? That's an elementary question. The answer you're looking for is that two and two is four.",
    input="What's 2+2?",
)
print(eval_result)

5.2 本地大模型

from langchain_community.chat_models import ChatOllama
llm = ChatOllama(model="qwen2:0.5b")
evaluator = load_evaluator("criteria", llm=llm, criteria="conciseness")
#inpt 输入的评测问题
#prediction 预测的答案
# 返回值 Y或者N是否符合
# 返回值score 1-0分数,1为完全,0为不完全
eval_result = evaluator.evaluate_strings(
    prediction="What's 2+2? That's an elementary question. The answer you're looking for is that two and two is four.",
    input="What's 2+2?",
)
print(eval_result)

5.3 内置评估标准

# 内置的一些评估标准
from langchain.evaluation import Criteria

list(Criteria)

llm = ChatOllama(model="qwen2:0.5b")
#使用enum格式加载标准
from langchain.evaluation import EvaluatorType
#自定义评估标准
custom_criterion = {
   
   
    "幽默性": "输出的内容是否足够幽默或者包含幽默元素",
}
eval_chain = load_evaluator(
    EvaluatorType.CRITERIA,
    llm=llm,
    criteria=custom_criterion,
)
query = "给我讲一个笑话"
prediction = "有一天,小明去买菜,结果买了一堆菜回家,结果发现自己忘了带钱。"
eval_result = eval_chain.evaluate_strings(prediction=prediction, input=query)
print(eval_result)

模型比较

from langchain.model_laboratory import ModelLaboratory
from langchain.prompts import PromptTemplate
from langchain_openai import OpenAI
from langchain_community.llms.chatglm import ChatGLM
from langchain_community.chat_models import ChatOllama

#比较openai、ChatGLM、ChatOllama三个模型的效果
llms = [
    # OpenAI(temperature=0),
    ChatOllama(model="qwen2:0.5b"),
]
model_lab = ModelLaboratory.from_llms(llms)
model_lab.compare("齐天大圣的师傅是谁?")

目录
相关文章
|
8月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
2576 7
|
8月前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
661 121
|
8月前
|
数据采集 人工智能 搜索推荐
智能新纪元:多模态大模型如何重塑人机交互
智能新纪元:多模态大模型如何重塑人机交互
391 113
|
8月前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
474 114
|
8月前
|
人工智能 搜索推荐 程序员
当AI学会“跨界思考”:多模态模型如何重塑人工智能
当AI学会“跨界思考”:多模态模型如何重塑人工智能
1173 120
|
8月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
2895 18
构建AI智能体:一、初识AI大模型与API调用
|
8月前
|
人工智能 缓存 运维
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
本文介绍联调造数场景下的AI应用演进:从单Agent模式到多Agent协同的架构升级。针对复杂指令执行不准、响应慢等问题,通过意图识别、工具引擎、推理执行等多Agent分工协作,结合工程化手段提升准确性与效率,并分享了关键设计思路与实践心得。
1282 20
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
|
8月前
|
存储 人工智能 搜索推荐
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
本文介绍基于LangGraph构建的双层记忆系统,通过短期与长期记忆协同,实现AI代理的持续学习。短期记忆管理会话内上下文,长期记忆跨会话存储用户偏好与决策,结合人机协作反馈循环,动态更新提示词,使代理具备个性化响应与行为进化能力。
1510 10
LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习
|
8月前
|
数据采集 人工智能 JSON
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码

热门文章

最新文章