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