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