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. 开发环境准备

4.1 Jupyter 或者 Colab

https://colab.research.google.com/

https://jupyter.org/

4.2 OpenAI API Key

在Langchain应用中使用OpenAI的模型,我们需要一个API Key。点击https://platform.openai.com/account/api-keys创建你的API Key。

5.第一个 Langchain 应用

代码: 01_langchain_base.ipynb

 
## 安装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的回答:

posted @ 2023-09-16 16:35  Brian_Huang  阅读(953)  评论(0编辑  收藏  举报