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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章