LangChain接入本地/国产大模型

news/2024/11/19 22:43:41/文章来源:https://www.cnblogs.com/XuXiaoCong/p/18555764
  • 同步视频:BiliBili
  • LangChain官网示例大多是国外大模型平台,需要魔法环境,学习起来不方便
  • 提供几种解决方案
    • ollama部署本地大模型
    • 接入兼容OpenAI接口的国产大模型(阿里云、火山引擎、腾讯云等)
  • LangChain接入大模型
    • LangChain文档: Chat models
    • 该方式为厂商/社区适配的SDK,不如兼容OpenAI的方式方便

本地大模型

ollama

安装

  • Ollama 是一个开源项目,它允许用户在其本地计算机上运行大型语言模型(LLM)。
  • 官方文档
    • Ollama官网
    • Ollama模型列表
  • Ollama更多介绍可以看我之前的博客及视频:Ollama
# 下载大模型
ollama pull qwen2.5:latest
ollama pull qwen2.5:0.5b
  • 验证ollama安装成功
    • 访问"http://ip:11434",如 "http://localhost:11434"
    • 响应结果:"Ollama is running"
  • 验证ollama模型下载
    • 访问"http://ip:11434/api/tags",如 "http://localhost:11434/api/tags"
    • 响应结果列出了已下载大模型列表

LangChain接入

  • LangChain文档: ChatOllama
  • 安装依赖
pip install langchain
pip install langchain-ollama
  • 代码
from langchain_ollama import ChatOllama# 实例化
llm = ChatOllama(base_url="http://localhost:11434", model="qwen2.5:latest")# 调用
result = llm.invoke("你好,怎么称呼?")
print(result)

兼容OpenAI接口

  • 由于OpenAi领先地位,大部分大模型都能兼容openai接口,一般更改下面几个参数就能完成接入
    • openai_api_base: 大模型平台API地址
    • openai_api_key: 平台密钥
    • model_name: 模型名称、接入点
  • LangChain官方文档:ChatOpenAI

阿里-百炼

准备

  • openai_api_base: "https://dashscope.aliyuncs.com/compatible-mode/v1"
  • openai_api_key
    • 获取路径: 阿里云控制台 > 阿里云百炼 > 右上角"人员"图标 > API-KEY
    • 阿里云文档: API key获取、API接口
  • model_name
    • 模型选择: 阿里云控制台 > 阿里云百炼 > 模型广场 > 找一个中意的模型
    • 阿里云文档: 模型价格表

LangChain接入

  • 安装依赖
pip install langchain
pip install langchain-openai
  • 代码
from langchain_openai import ChatOpenAIllm = ChatOpenAI(openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1",openai_api_key="sk-xxx",	# app_keymodel_name="qwen-turbo",	# 模型名称
)result = llm.invoke("你好,怎么称呼?")
print(result)

字节-火山方舟

准备

  • openai_api_base: "https://ark.cn-beijing.volces.com/api/v3"
  • openai_api_key
    • 获取路径: 火山引擎控制台 > 火山方舟 > API Key管理(左侧菜单)
    • 火山引擎文档: API Key 管理
  • model_name
    • 模型选择: 火山引擎控制台 > 火山方舟 > 在线推理 > 创建推理接入点
    • 火山引擎文档: 创建推理接入点

LangChain接入

  • 安装依赖
pip install langchain
pip install langchain-openai
  • 代码
from langchain_openai import ChatOpenAIllm = ChatOpenAI(openai_api_base="https://ark.cn-beijing.volces.com/api/v3",openai_api_key="xxx-xxx-xxx",	# app_keymodel_name="ep-xxx",	# 推理接入点
)result = llm.invoke("你好,怎么称呼?")
print(result)

腾讯-混元

准备

  • openai_api_base: "https://api.hunyuan.cloud.tencent.com/v1"
  • openai_api_key
    • 获取路径: 腾讯云控制台 > 腾讯混元大模型 > API KEY管理 > 创建API KEY
    • 腾讯混元文档: 混元生文
  • model_name
    • 模型选择: 腾讯云控制台 > 腾讯混元大模型 > 资源包管理
    • 腾讯混元文档: 混元生文计费概述

LangChain接入

  • 安装依赖
pip install langchain
pip install langchain-openai
  • 代码
from langchain_openai import ChatOpenAIllm = ChatOpenAI(openai_api_base="https://api.hunyuan.cloud.tencent.com/v1",openai_api_key="sk-xxx",    # app_keymodel_name="hunyuan-pro",   # 模型名称
)result = llm.invoke("你好,怎么称呼?")
print(result)

参考文档

  • LangChain文档
    • Chat models
  • OpenAI接口兼容文档
    • 阿里-百炼
    • 字节-火山方舟
    • 腾讯-混元
    • 百度-千帆
    • 清华智谱
    • 月之暗面-Kimi
    • 阶跃星辰
  • 费用
    • 阿里-百炼
    • 字节-火山方舟
    • 腾讯-混元大模型
    • 百度-千帆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/837041.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

类和对象案例

第一道1.先写一个手机类,将属性和行为全部写完2,再写一个手机测试类,将其成员变量赋值 并不是只有测试类才能写main,其他类也可以有main,只不过代码会很臃肿,测试就用测试,不要把main写在其他类里总览第二道1.先写一个书类2.再写一个书测试类,将其成员变量赋值总览提供…

学习笔记(三十九):默认界面扫码

基本概念 默认界面扫码能力提供系统级体验一致的扫码界面,Scan Kit对系统相机权限进行了预授权,调用接口时,无需开发者再次申请相机权限。 适用于不同扫码场景的应用开发 场景介绍 默认界面扫码能力提供了系统级体验一致的扫码界面以及相册扫码入口,支持单码和多码识别,支…

网卡-国家码

交互大屏、笔记本等产品出口海外,也是网络相关设备,会发出AP热点网络,所以出口海外要符合当地法规。 大屏需要以自带网卡开出本地热点,用于投屏、设备间协同等操作。热点这块受限影响的是信道,每个国家都有雷达信道以及其它军事等受限信道,使用信道时避开这些雷达信道。…

人工智能之机器学习基础——K-Means

K-Means 是一种无监督学习算法,用于将数据划分为 KKK 个簇(Clusters),使得每个簇中的样本尽可能接近其簇中心,簇之间尽可能远离。K-Means 常用于聚类分析,例如客户分群、图像分割等任务。

2643: 鼠鼠的薪水 while

include <bits/stdc++.h> using namespace std; int maxx, a, b, c; int main( ) { cin >> a; b=10; c=3; while(b!=a) { if (c1||c2) { b+=7; } b--; c++; c%=7; maxx++; } cout << maxx; } 反思: while(b<a) 做错,正确为: while(b!=a)

人工智能之机器学习基础——决策树(Decision Tree)

决策树是一种用于分类和回归的非参数模型,能够通过一系列的条件判断(分裂规则)将输入数据划分为子区域,从而完成预测任务。 1. 决策树的基本结构 决策树由以下三部分组成:根节点(Root Node):表示整个数据集,最初没有任何划分。内部节点(Internal Node):表示一个特定…

Vue UI创建项目问题

1.使用cmd命令行【Vue UI】创建项目出现【 Failed to get response from https://registry.npm.taobao.org/vue-cli-version-marker】 原因:镜像问题 处理:npm config get registry查看镜像源是【https://registry.npm.taobao.org/】 替换镜像源:(换成TX的,TaoBao的创建项…

基于Java+Springboot+Jpa+Mysql实现的在线网盘文件分享系统功能设计与实现二

今天发布的是一款由springboot+freemark+jpa+MySQL实现的在线网盘文件分享系统,其功能跟百度网盘非常类似,普通用户可以注册登录,注册后默认分配1G的空间大小,登录进去后可以新建文件夹、上传各种类型的文件、文件移动、复制、下载、删除、分享,分享分为私密分享和公开分享…

『模拟赛』多校A层冲刺NOIP2024模拟赛24

『模拟赛记录』多校A层冲刺NOIP2024模拟赛24Rank 。A. 选取字符串 签。 一眼想到动物园那个题面,kmp 求出的 next 数组实际上就是既是它的后缀又是它的前缀的字符串中(它本身除外),最长的长度。 那么可以想到,某个串除了它自身外,能选的 p/q 最长即为它的 next。更短的可…