GPT之路(七) LangChain AI编成框架入门的第一个demo
环境:Python 3.11.4, LangChain 0.0.270
1.Langchain 简介
1.1 Python Langchain官方文档
大型语言模型(LLM)正在成为一种具有变革性的技术,使开发人员能够构建以前无法实现的应用程序。然而,仅仅依靠LLM还不足以创建一个真正强大的应用程序。它还需要其他计算资源或知识来源。
Langchain 旨在帮助开发这些类型应用程序,比如:基于文档数据的问答,聊天机器人,代理
2. OpenAI 简介
OpenAI 是LLM生态的模型层最大的玩家之一。大家目前熟知的 GPT-3.5,GPT-4 等模型都是OpenAI的产品。它的API允许开发人员通过简单的API调用来访问这些模型。
3. Langchain与OpenAI
Langchain 作为一个开源框架,提供与OpenAI等语言模型的接口,简化了在应用程序中集成和利用语言模型能力的过程。
4.1 Jupyter 或者 Colab
https://colab.research.google.com/
4.2 OpenAI API Key
在Langchain应用中使用OpenAI的模型,我们需要一个API Key。点击https://platform.openai.com/account/api-keys创建你的API Key。
5.第一个 Langchain 应用
## 安装langchain和openai %pip install langchain==0.0.270 openai
## 引入langchain相关的依赖 ## load_dotenv 加载环境变量 即当前文件夹下的.env ## 可以添加配置OPENAI_API_KEY="sk-xxx" from langchain.chat_models import ChatOpenAI from langchain.chains import ConversationChain from langchain.memory import ConversationBufferMemory from dotenv import load_dotenv import os os.environ.clear() ## 加载环境变量 load_dotenv() llm = ChatOpenAI(temperature=0,openai_api_key=os.environ.get('OPENAI_API_KEY'), model_name="gpt-3.5-turbo") ## verbose=True会答应类似debug信息 conversation = ConversationChain( llm=llm, verbose=True, memory=ConversationBufferMemory() )
## 定义一个方法通过langchian的get_openai_callback 在问答的时候打印token的消耗清空 from langchain.callbacks import get_openai_callback def track_tokens_usage(chain, query): with get_openai_callback() as cb: result = chain.run(query) print(f"prompt token {cb.prompt_tokens}, res token {cb.completion_tokens}, total token {cb.total_tokens}") print(f"successful requests {cb.successful_requests}, total cost {cb.total_cost}USD") return result
##我们的第一个问答 track_tokens_usage(conversation, "帮我做下langchain和Semantic Kernel的竞品分析")
ChatGPT的回答: