最近,ChatGPT相关的LangChain项目备受瞩目,成了非常火热的开源代码库,并且还在快速发展中!
我们都知道,ChatGPT的训练知识库数据集是过时的, 且无法联网,因此,给出的答案或数据常常是不正确的。
想像一下,如果我们将本地的知识文档作为prompt,使用ChatGPT根据这些资料中来回答问题,那岂不是很酷, LangChain的出现就能很好地帮我们实现这个需求。
LangChain
LangChain是一个强大的程序开发框架,专注于协助开发人员构建端到端的应用。该框架提供了一系列工具、组件和接口,方便开发人员快速构建依赖于大型语言模型(LLM)和聊天模型的应用程序。通过LangChain,开发人员可轻松管理语言模型的交互,实现多个组件的无缝链接,还能整合额外的资源(如API和数据库)来优化开发流程。
接下来,我们会用个简单的示例实现下如何使用LangChain结合ChatGPT的能力,来打造个私有的AI知识库
Deployment
整个部署过程如下:
第一步,获取代码并安装Python相关库
bash代码解读复制代码git clone git@github.com:christhai/langchain-chatbot.git
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirement.txt
其中app.py
完整代码如下(不到30行哦)
ini代码解读复制代码from llama_index import SimpleDirectoryReader, LangchainEmbedding, GPTListIndex,GPTSimpleVectorIndex, PromptHelper, LLMPredictor, ServiceContext
from langchain import OpenAI
import gradio as gr
import sys
import os
os.chdir(r'/home/ubuntu/langchain') *#* 文件路径
os.environ["OPENAI_API_KEY"] = 'sk-xxxxxxxxxxxxxxx'
def construct_index(directory_path):
max_input_size = 4096
num_outputs = 2000
max_chunk_overlap = 20
chunk_size_limit = 600
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
documents = SimpleDirectoryReader(directory_path).load_data()
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
index = GPTSimpleVectorIndex.from_documents(documents,service_context=service_context)
index.save_to_disk('index.json')
return index
def chatbot(input_text):
index = GPTSimpleVectorIndex.load_from_disk('index.json')
response = index.query(input_text, response_mode="compact")
return response.response
iface = gr.Interface(fn=chatbot,
inputs=gr.inputs.Textbox(lines=7, label="请输入,您想从知识库中获取什么?"),
outputs="text",
title="AI 本地知识库ChatBot")
index = construct_index("docs")
iface.launch(share=True)
第二步,更改代码中第6、7行的项目路径以及OPENAI API TOKEN
python代码解读复制代码os.chdir(r'你的项目路径文件夹')
os.environ["OPENAI_API_KEY"] = '你的OpenAI API Token'
第三步,把需要prompt的文档资料放到docs目录下(例如,我将之前复习CKA考试的笔记以及官方考试要点作为示例)
ruby代码解读复制代码ubuntu@instance-k8s:~/langchain/docs$ ls
cka.txt exam.txt
最后,运行程序即可(是不是很简单!!)
代码解读
复制代码python3 app.py
浏览器访问本地 http://127.0.0.1:7860 或服务器URL即可
Demo
接下来,我们演示下具体效果如何:
例如,我根据CKA考试Tips文档中的内容提问“What You Need For Your Exam”
Langchain会根据文档里的内容整理后,返回给我如下的答案
In order to take the CKA or CKAD exam, you will need a computer with Chrome or Chromium browser, reliable internet access, a webcam, and a microphone. You will also need to have a current, non-expired government ID that has your photo and full name in the Latin alphabet. Additionally, you should run the compatibility check tool provided by the Exam Proctoring Partner to verify that your hardware meets the minimum requirements.
或者,我想找找之前CKA笔记中关于"how to create K8S deplyment with yaml"
,它也返回了笔记中相关的答案。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: rss
spec:
replicas: 2
template:
metadata:
labels:
app: rss
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: rss-reader
image: nickchase/rss-php-nginx:v1
ports:
- containerPort: 88
感兴趣的小伙伴可以自己部署下试试吧!
如何零基础入门 / 学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?
”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人」
,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
👉 福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
全套AGI大模型学习大纲+路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉 福利来袭
CSDN大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。