以OPENAI為例,來實作:
先安裝langchain得相關sdk
pip install langchain-openai
並且設定一個.env檔放置根目錄,langchain會直接幫你讀取有關於OPENAI_API_KEY
的相關變數。
所以最後呈現以下程式:
from langchain_openai import OpenAI
llm = OpenAI()
result = llm.invoke("請問周杰倫是誰?")
print(result)
上述最終執行方式使用.invoke
做執行,接下來的LLM呼叫大部份都是遵循這一種方式,就是這麼樸實無華,是不是比原本前幾天說到實作API方式更簡單呢!
接下來就是一些langchain特有的功能,叫做Chaining,我稱之為鏈式,簡單來說這個操作就是可以把原本需要複雜的input結構,改的更通用更簡單使用,以下範例:
from langchain_core.prompts import PromptTemplate
from langchain_openai import OpenAI
prompt = PromptTemplate.from_template("How to say {input} in {output_language}:\n")
llm = OpenAI()
chain = prompt | llm
result = chain.invoke(
{
"output_language": "繁體中文",
"input": "I love programming.",
}
)
print(result)
我們簡單解釋一下:
{input}
和 {output_language}
。|
將提示模板和語言模型連接起來。這意味著提示模板的輸出將被直接傳遞給語言模型。output_language
: 指定要翻譯成的語言(這裡是繁體中文)input
: 要翻譯的英文句子有沒有很像一些AI系統正在使用的方式呢?舉例來說我丟PPT進去AI,我不用任何解釋AI就知道要幫我美化PPT是一樣的概念,很多應用都是類似這得套用方式,大概跟大家分享到這邊。