机设——Langchain与LLM集成解决方案

了解Langchain

LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库。

一句话概括就是:langchain 完成了对数据一个提炼、查找的完全链路。它并不能提供数据源、查找理由,只是一种方法的凝练。

数据源支持由用户等自行提供,因此它支持本地知识库的搭建,合理想象未来的学生课设系统将会是:金融知识系统(使用 langchain 爬取金融网站提取摘要凝练成知识)、图书简介系统(使用 langchain 对图书提取摘要进行展示)……

安装

Jupyter 就是一个非常好用的 Python 语言编程工具。

或者说是一个 Python 编程语言、以及更多其他编程语言的,交互式集成开发环境。

Jupyter 的一个非常重要的优点,就是 写程序的界面,和运行程序的界面,在一起。

jubyter notebook的安装:pip install jupyterlab

web页面的启动:jupyter-lab

vscode:创建.ipynb格式的文件


langchain的安装:pip install langchain

提供一种LLM集成解决方案,一份代码支持快速同时支持gpt大模型、国产大模型(通义千问、文心一言、百度千帆、讯飞星火等)、本地开源大模型(Ollama)

项目地址:NanGePlus/LLMTest: 为实现代码的高扩展性和兼容性,提出一套综合解决方案,支持多种大模型类型的无缝集成,包括GPT系列大模型、国内主流模型(如通义千问、智谱AI等),以及本地化部署的大模型(如qwen2.5)。

前期准备

openai-api代理:云雾 API

安装One-Api

songquanpeng/one-api: OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.

利用exe

One API

默认账号密码:root 12345

创建渠道,这里以阿里通义千问为例

获取API-KEY:阿里云百炼

2024年最新免费AI大模型API汇总及国内大模型使用教程(附代码)_免费大模型api-CSDN博客

image-20241216103856131

使用 Ollama 非常简单,只需要按照以下步骤:

  1. 安装 Ollama : 根据你的操作系统,从 Ollama 官网下载并安装最新版本。
  2. 启动 Ollama : 打开终端或命令行,输入 ollama serve 命令启动 Ollama 服务器。
  3. 下载模型: 在模型仓库找到想要的模型,然后使用 ollama pull 命令下载,例如 ollama pull llama3:70b
  4. 运行模型 : 使用 ollama run 命令启动模型,例如 ollama run llama3:70b
  5. 开始聊天 : 在终端中输入你的问题或指令,Ollama 会根据模型生成相应的回复。
  6. 查看模型列表ollama list
image-20241216115902772

项目

初始化:采用pycharm+anaconda

image-20241216120328229

安装依赖

pip install -r requirements.txt 每个软件包后面都指定了本次视频测试中固定的版本号 注意: 截止2024.10.18,langchain最新版本为0.3.3,langchain-openai最新版本为0.2.2

调整api,调整 utils/myLLM.py 内容

image-20241216131346999

调整 llmTest.py 内容

LLM_TYPE = “oneapi” # openai:调用gpt模型;oneapi:调用oneapi方案支持的模型(这里调用通义千问)

参考文献

langchain-ai/langchain:🦜🔗构建上下文感知推理应用程序

LangChain 入门与避坑指北 - 知乎

LangChain中文网

Jupyter 是什么-CSDN博客

在 Visual Studio Code 中使用 Jupyter Notebook_Vscode中文网

Ollama:从入门到进阶