OpenLM
OpenLM 是一种零依赖的兼容 OpenAI 的 LLM 提供商,可以直接通过 HTTP 调用不同的推理端点。
它实现了 OpenAI Completion 类,以便可以将其用作 OpenAI API 的直接替换。此更改集利用 BaseOpenAI 以最小化新增代码。
此示例介绍了如何使用 LangChain 与 OpenAI 和 HuggingFace 交互。您需要来自两者的 API 密钥。
设置
安装依赖项并设置 API 密钥。
# Uncomment to install openlm and openai if you haven't already
%pip install --upgrade --quiet openlm
%pip install --upgrade --quiet langchain-openai
import os
from getpass import getpass
# Check if OPENAI_API_KEY environment variable is set
if "OPENAI_API_KEY" not in os.environ:
print("Enter your OpenAI API key:")
os.environ["OPENAI_API_KEY"] = getpass()
# Check if HF_API_TOKEN environment variable is set
if "HF_API_TOKEN" not in os.environ:
print("Enter your HuggingFace Hub API key:")
os.environ["HF_API_TOKEN"] = getpass()
使用 LangChain 与 OpenLM
在这里,我们将调用 LLMChain 中的两个模型,来自 OpenAI 的text-davinci-003
和 HuggingFace 上的gpt2
。
from langchain.chains import LLMChain
from langchain_community.llms import OpenLM
from langchain_core.prompts import PromptTemplate
question = "What is the capital of France?"
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
for model in ["text-davinci-003", "huggingface.co/gpt2"]:
llm = OpenLM(model=model)
llm_chain = LLMChain(prompt=prompt, llm=llm)
result = llm_chain.run(question)
print(
"""Model: {}
Result: {}""".format(model, result)
)
Model: text-davinci-003
Result: France is a country in Europe. The capital of France is Paris.
Model: huggingface.co/gpt2
Result: Question: What is the capital of France?
Answer: Let's think step by step. I am not going to lie, this is a complicated issue, and I don't see any solutions to all this, but it is still far more