Skip to main content

OpenLM

OpenLM 是一个零依赖的 OpenAI 兼容的 LLM 提供程序,可以直接通过 HTTP 调用不同的推理端点。

它实现了 OpenAI Completion 类,因此可以作为 OpenAI API 的即插即用替代品。此更改集利用 BaseOpenAI 进行最小化的代码添加。

这个示例演示了如何使用 LangChain 与 OpenAI 和 HuggingFace 进行交互。您需要从两者那里获取 API 密钥。

设置

安装依赖项并设置 API 密钥。

# 如果您尚未安装 openlm 和 openai,请取消注释

# !pip install openlm
# !pip install openai
from getpass import getpass
import os
import subprocess

# 检查是否设置了 OPENAI_API_KEY 环境变量
if "OPENAI_API_KEY" not in os.environ:
print("输入您的 OpenAI API 密钥:")
os.environ["OPENAI_API_KEY"] = getpass()

# 检查是否设置了 HF_API_TOKEN 环境变量
if "HF_API_TOKEN" not in os.environ:
print("输入您的 HuggingFace Hub API 密钥:")
os.environ["HF_API_TOKEN"] = getpass()

使用 OpenLM 的 LangChain

在这里,我们将调用一个 LLMChain 中的两个模型,text-davinci-003 来自 OpenAI 和 gpt2 来自 HuggingFace。

from langchain.llms import OpenLM
from langchain import PromptTemplate, LLMChain
question = "法国的首都是哪里?"
template = """问题:{question}

答案:让我们一步一步地思考。"""

prompt = PromptTemplate(template=template, input_variables=["question"])

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(
"""模型:{}
结果:{}""".format(
model, result
)
)
    模型:text-davinci-003
结果:法国是欧洲的一个国家。法国的首都是巴黎。
模型:huggingface.co/gpt2
结果:问题:法国的首都是哪里?

答案:让我们一步一步地思考。我不会撒谎,这是一个复杂的问题,我没有看到任何解决办法,但它仍然远远