所用模型:stable-code-instruct-3b-Q8_0.gguf
下载链接:bartowski/stable-code-instruct-3b-GGUF · Hugging Face
详细内容请查看:Introduction | 🦜️🔗 Langchain
目录
LangChain
代码示例
LangChain
LangChain 是一个为开发语言模型驱动应用而设计的开创性框架。它使应用程序具备以下特点:
1. 上下文感知:连接语言模型到各种上下文来源(提示指令、少量示例、内容等),使其响应具备上下文感知能力。
2. 推理能力:依赖语言模型进行推理,根据提供的上下文决定如何回答问题、采取什么行动等。
该框架由以下几个部分组成:LangChain Libraries, Langchain Templates, LangServe和LangSmith。
LangChain Libraries:Python和JavaScript库。包含接口和集成,用于各种组件,提供基本的运行时来组合这些组件成链和代理,并提供了一些现成的链和代理的实现。
Langchain Templates:一系列易于部署的参考架构,适用于各种任务。
LangServe:一个用于将LangChain链部署为REST API的库。
LangSmith:一个开发平台,让您能够调试、测试、评估和监控基于任何LLM框架构建的链,并与LangChain无缝集成。
代码示例
下面是一个利用LangChain库创建的文本生成模型的示例代码:
1.首先,从LangChain库导入所需的模块和类并使用了LlamaCpp初始化LLM模型。model path是下载的模型的路径。
from langchain_community.llms import LlamaCpp
from langchain.prompts import PromptTemplate
from langchain import LLMChain
# 初始化LLM模型
n_gpu_layers = 1 # Metal set to 1 is enough.
n_batch = 512
llm = LlamaCpp(model_path=r"stable-code-instruct-3b-Q8_0.gguf",n_gpu_layers=n_gpu_layers,n_batch=n_batch,n_ctx=2048,f16_kv=True, # MUST set to True, otherwise you will run into problem after a couple of callsverbose=True,
)
2. 使用PromptTemplate类定义一个输入模板,用于生成文本的提示。
from langchain.prompts import PromptTemplate
prompt = PromptTemplate(input_variables=["product"],template="What is a good name for a company that makes {product}?"
)
3. 创建一个LLMChain对象,将初始化的LLM模型和定义的输入模板传入,并调用run
方法来生成文本。
# 创建LLMChain
chain = LLMChain(llm=llm, prompt=prompt)# 运行模型并生成文本
output_text = chain.run("colorful socks")
print(output_text)