啊鸡入坑 AI 之《LangChain 上手》

Last Edited Time
Oct 27, 2023 06:41 AM
date
Sep 2, 2023
slug
ai-langchain-leaning
status
Published
tags
AI
LLMs
LangChain
OpenAI
summary
初次上手 LangChain
type
Post

简介

起因

最近看了一个《基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答》项目,想搞来玩一下,但是该项目的本地部署大语言模型对显卡有要求,并且 docker 镜像也有 30G,所以暂时用 OpenAI 的接口来学习 LangChain。

LangChain 简介

LangChain 是一个基于大语言模型(LLMs)用于构建端到端语言模型应用的框架,它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人等。 langchain的主要特点有: 提供了一套工具、组件和接口,可以简化创建由LLMs和聊天模型提供支持的应用程序的过程。

申请 OpenAI Token 小坑

在申请 OpenAI 账号的时候遇到很多坑:
  • 要清空缓存翻墙,而且还要多换几次,因为翻墙的 IP 有可能已被拉入黑名单(这个可以忍)
  • 需要绑定国外的手机号(忍了)
  • 需要有国外的信用卡,虚拟信用卡还被封(怎么搞都搞不好,去他妹的)
而且我之前就申请过 OpenAI 账号,所以免费的使用额度已经过期了,所以还是另想他法吧。

开搞

1. 申请 Azure OpenAI

微软的 Azure OpenAI Service 服务允许绑定国内的信用卡,具体的教程可以看这个:
国内信用卡如何充值OpenAI API接口,揭秘官方渠道,长期可用!
对于使用OpenAI API接口的国内用户来说,无法充值一直是个大问题。本期视频将为你揭秘了国内信用卡充值OpenAI API接口的官方渠道教程,确保你能够长期稳定地使用,不再为充值而烦恼! 1、GPT-3.5接口申请链接:https://azure.microsoft.com/en-us/products/cognitive-services/openai-service 2、ChatGPT客户端:https://bytemyth.com/ama 3、微软Azure:https://portal.azure.com/#home 【订阅频道链接】https://www.youtube.com/channel/UCXYvWkR9LAOsOZjYhghDiXw/featured 【我的AI课程-持续更新】https://m.qlchat.com/live/channel/channelPage/2000020101980117.htm 【我的博客】https://linbintalk.com(每天更新ChatGPT&AI最新消息) 【频道Slogan】用AI创造财富,元宇宙里相见! 发财的小手赞一赞,你的财富千千万;关注我,一起玩赚ChatGPT ! 如果本期视频对你有帮助,请订阅我的频道,你的支持,是我前进的不竭动力! 这是一个人工智能、前沿科技的学习频道,分享AI、ChatGPT、元宇宙,以及前沿科技的干货内容。 其他ChatGPT相关视频: 1、如何注册ChatGPT:https://www.youtube.com/watch?v=6hiVu8rtzh0 2、ChatGPT plus版和普通版的区别:https://www.youtube.com/watch?v=i4_2xkgZ-aE 3、如何开通ChatGPT Plus版本:https://www.youtube.com/watch?v=X-Dc9HddA30 4、ChatGPT GPT-4介绍,有哪些升级:https://www.youtube.com/watch?v=SOtRLbqFqd4 5、NewBing秒过候补名单方法:https://www.youtube.com/watch?v=qewzw0kW8A4 6、解锁ChatGPT的国内使用技巧:不需要翻墙也不用担心封号:https://www.youtube.com/watch?v=CNxMlksCbto 7、用ChatGPT 3分钟做个PPT:https://www.youtube.com/watch?v=mPDZJIoCNEI 8、ChatGPT不再受限!免翻墙不封号响应快,支持多终端:https://www.youtube.com/watch?v=TBbC0dHuePU 9、一键定制专属ChatGPT,可设密码,满足个人/团队安全使用,多终端免翻墙:https://www.youtube.com/watch?v=fuoAnkuDEsc 10、【黑科技】这2款免费ChatGPT神器,实用又强悍:https://www.youtube.com/watch?v=VN664262Tmg 11、告别ChatGPT掉线/报错烦恼:https://www.youtube.com/watch?v=67oN8BnyL7A 12、AUTOGPT学习指南:https://www.youtube.com/watch?v=lRn80nsuT9o --------------------------------- 👉 微信:ailinplus 👉 Telegram粉丝群:https://t.me/linbintalk01 👉 我的推特:https://twitter.com/Linbintalk
国内信用卡如何充值OpenAI API接口,揭秘官方渠道,长期可用!

2. 创建 Deployment

在申请完 Azure OpenAI 之后,需要创建部署:
notion image
可选模型如下:
  • gpt-35-turbo
  • gpt-35-turbo-16k
  • text-embedding-ada-002

3. 简单上手(LangChain 中文入门教程)

💡
Azure OpenAI 的模型返回时不时会被 Content filtering 挡掉,想关掉的话需要去额外申请 Modified Content Filters and Abuse monitoring
notion image
notion image

3.1 创建代码

参考,复制一份:
本地运行代码见:

3.2 改写 OpenAI 调用方式

主要改写有以下几点:
挂载 Google Drive
notion image
从 Google Drive 中读取环境变量
切换 LangChain OpenAI LLM 为 Azure OpenAI LLM

3.3 调试第一次问答

在使用 LangChain 的 AzureOpenAI 官方示例改写完成后发现仍然报错如下:
notion image
原来是由于示例中使用的是较旧的模型text-davinci-003,而新的模型gpt-35-turbo-16k 不支持 Completion 操作导致的,需要从 AzureOpenAI 切换到 AzureChatOpenAI
notion image

3.4 对超长文本进行总结

在挂载好之后则可以进行代码执行了,《孔乙己》执行成功
notion image
notion image
但是发现输出的结果是英语,所以打算定制一下 Prompt(见链接
notion image
notion image
结果发现第一次还是用的我们定制的 prompt,第二次就不是了
原来是提问的 prompt 和 refine 的 prompt 是不同的,修改一下就可以了,顺便打印出了中间产物
notion image
notion image

3.5 构建本地知识库问答机器人

首先要有一个 text-embedding-ada-002 模型部署
运行试一下,发现报错,应该是 Azure OpenAI 的 Embedding 模型有 Token 限制
notion image
notion image
限制一下 Embedding 的 Chunk Size 就可以了,网上人遇到类似的问题
notion image
notion image

3.6 用 Zapier 连接万种工具

添加 Zapier NLA Provider
notion image
添加 Actions,注意 Require preview before running AI Action 要取消选中
notion image
notion image
执行代码,成功发送邮件
notion image
notion image
notion image
notion image

Reference