LangChain接入本地/國產大模型

言午日尧耳总發表於2024-11-19
  • 同步影片: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 ChatOpenAI

llm = ChatOpenAI(
    openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1",
    openai_api_key="sk-xxx",	# app_key
    model_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 ChatOpenAI

llm = ChatOpenAI(
    openai_api_base="https://ark.cn-beijing.volces.com/api/v3",
    openai_api_key="xxx-xxx-xxx",	# app_key
    model_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 ChatOpenAI

llm = ChatOpenAI(
    openai_api_base="https://api.hunyuan.cloud.tencent.com/v1",
    openai_api_key="sk-xxx",    # app_key
    model_name="hunyuan-pro",   # 模型名稱
)

result = llm.invoke("你好,怎麼稱呼?")
print(result)

參考文件

  • LangChain文件
    • Chat models
  • OpenAI介面相容文件
    • 阿里-百鍊
    • 位元組-火山方舟
    • 騰訊-混元
    • 百度-千帆
    • 清華智譜
    • 月之暗面-Kimi
    • 階躍星辰
  • 費用
    • 阿里-百鍊
    • 位元組-火山方舟
    • 騰訊-混元大模型
    • 百度-千帆

相關文章