当前位置: 首页 > news >正文

怎么看网站哪个公司做的湖南建设监理员报名网站

怎么看网站哪个公司做的,湖南建设监理员报名网站,如何创建自己的软件,鲁班设计远程工作LangChain 是什么 就是一个框架或者说是一个工具,用来写 AI 应用。对,没有错!AI小白也可以,有手就行! LangChain有几个核心模块:Models、Prompts、Chains、Indexes、Memory、Agents。 这篇主要介绍Models、…

b836322b2b61408dab1b4b4e360df551.png

310e24f79489e403b3033645597267bb.gif

LangChain 是什么

就是一个框架或者说是一个工具,用来写 AI 应用。对,没有错!AI小白也可以,有手就行!

LangChain有几个核心模块:Models、Prompts、Chains、Indexes、Memory、Agents。

这篇主要介绍ModelsPrompts这2个最基本的模块。

0384bf9c7a42b94948e1110eccdbe155.gif

配置环境

开发之前需要先配置好开发环境变量,我使用Python语言,然后安装LangChain即可。这2项都可以通过pip 命令完成

  1. pip install Python

  2. pip install langchain

4406234bcff9beb3b3f1d2b56516c4bb.gif

Models

LangChain 最核心的功能就是能够集成各种大模型LLM,后续所有的功能实现以及扩展都是基于此功能的基础之上。

云端大模型 API

LangChain 官网列举了它能够集成调用的所有大模型,如下图:

c0e194d71f73a6d6411f7811ef2743e3.png

几乎你在网上能看到的模型LangChain都支持。以 OpenAi 使用为例,可以通过以下方式导入并创建OpenAi大模型:

from langchain.llms import OpenAI
llm = OpenAI()

上述代码中的llm 就是创建的OpenAi模型对象。接下来只要传入相应的Prompt(提示词),并调用invoke方法就可以拿到OpenAi大模型的输出,如下:

response = llm.invoke("List the seven wonders of the world.")
print(response)

"List the seven wonders of the world." 就是传入大模型的Prompt(提示词), response就是调用大模型invoke方法之后的结果,将结果打印出来如下:

1. Great Pyramid of Giza
2. Hanging Gardens of Babylon
3. Temple of Artemis at Ephesus, Turkey
4. Statue of Zeus at Olympia, Greece
5. Colossus of Rhodes, Greece
6. Lighthouse of Alexandria, Egypt
7. Mausoleum at Halicarnassus, Turkey

本地 local 模型

除了 OpenAi 这些收费的大模型之外,LangChain也可以集成本地大模型。以Meta公司的Llama举例。在LangChain官网的支持的大模型介绍中,有如下描述:

f390288a9c0a20b35f4e126b1b9e362e.png

可以看出,使用 Llama.cpp 加载本地的gguf格式大模型。

因此我们需要下载一个大模型到电脑本地,我使用的是Mistral的免费模型,可以在 HugginFace 网站中找到,如下:

a74c37d90f0599b39a9eff581cf7063e.png

下载好 gguf 格式大模型文件并保存后,在同级目录下创建langchain_intro.py文件,目录结构如下:

b2233e2370b1e0ff6fcd9db9118f499c.png

然后在 langchain_intro.py 中导入 LlamaCpp,并创建模型实例。如下:

from langchain_community.llms import LlamaCpp# 声明大模型的路径
MODEL_NAME = 'mistral-7b-instruct-v0.1.Q4_K_M.gguf'# 加载本地 mistal 大模型
llm = LlamaCpp(
model_path=MODEL_NAME,
n_gpu_layers=40,
n_batch=512,  # Batch size for model processing
verbose=False,  # Enable detailed logging for debugging
)

创建好 llm 模型实例之后,就可以构建模型需要的Prompt(提示词)。最终调用 llm 模型的 invoke 方法就可以获取大模型的返回结果了。如下:

question = "What is a good name for a company that makes Chocolate Milk ?"result = llm.invoke(question)
print(result)

最终打印结果如下:

This is an open-ended question, so there are many potential names that could work well depending on your specific vision and goals for the company. Here are some suggestions to get you started:1. Creamy Delight: This name plays off the creamy texture of chocolate milk and suggests a delicious treat.
2. Chocolate Bliss: A simple and straightforward name that captures the pleasure of enjoying chocolate milk.
3. Sweet Milk: This name emphasizes the sweetness of chocolate milk and could appeal to customers who enjoy a sweet drink.
4. Velvet Chocolate: The velvety texture of chocolate milk is highlighted in this name, which also suggests a rich and indulgent taste.
5. Rich and Creamy: This name emphasizes the richness and creaminess of chocolate milk, making it sound like a luxurious treat.
6. Milk Chocolate Dreams: This name plays off the idea of enjoying chocolate milk as a way to escape from everyday stresses and indulge in a sweet moment of bliss.
7. Cocoa Delight: A name that emphasizes the cocoa content of chocolate milk, which could appeal to customers who enjoy the rich taste of

Prompt

在上面加载 LLM 的实例代码中,直接使用了 "What is a good name for a company that makes Chocolate Milk ?" 来当做大模型的文本输入。

但是这种文本输入格式不具备灵活性。比如我们做的大模型应用是根据用户的输入来动态设置制作的产品,也就是将 Chocolate Milk 设置为一个变量。

这就需要 LangChain 中的 Prompts 模块发挥作用。具体通过 PromptTemplate 来创建 Prompt 模版。如下所示:

from langchain_community.llms import LlamaCpp
from langchain.prompts import PromptTemplateMODEL_NAME = 'mistral-7b-instruct-v0.1.Q4_K_M.gguf'# 加载本地 mistal 大模型
llm = LlamaCpp(model_path=MODEL_NAME,n_gpu_layers=40,n_batch=512,  # Batch size for model processingverbose=False,  # Enable detailed logging for debugging
)# 在 question 中添加占位符
question = "What is a good name for a company that makes {product}?"# 构建 PromptTemplate
prompt = PromptTemplate(input_variables=["product"],template=question,
)

可以看到,对 question 进行了修改,主要是添加了占位符{product}。然后创建PromptTemplate实例,并设置LangChain的第一个输入将占位符进行替换。

建好 PromptTemplate 之后,就可以通过LangChain将 LLM 和 prompt 对象进行组合,并调用大模型方法获取结果。如下:

product_name = "candy"
product_format = prompt.format(product=product_name)
print("final prompt is " + product_format)
# 使用 LLM Chain 组合 Prompt 和 LLM
llm_chain = prompt | llm# 执行 llm_chain,并打印结果
answer = llm_chain.invoke(product_name)
print(answer, '\n')

可以看到,设置了 product=candy。最终打印结果如下:

2534b70c2ce5ebb63cb60301c914bda2.png

使用 LangChain 实现简易聊天机器人

通过加载 Models,并创建合适的Prompts。我们已经可以调用本地大模型获取相应的输出结果。可以在此基础上,再加上循环接收用户输入。并将输入设置到 PromptTemplate 中,并最终从本地大模型中获取结果。完整代码如下:

from langchain_community.llms import LlamaCpp
from langchain.prompts import PromptTemplateMODEL_NAME = 'mistral-7b-instruct-v0.1.Q4_K_M.gguf'# 加载本地 mistal 大模型
llm = LlamaCpp(model_path=MODEL_NAME,n_gpu_layers=40,n_batch=512,  # Batch size for model processingverbose=False,  # Enable detailed logging for debugging
)# 在 question 中添加占位符
question = "What is a good name for a company that makes {product}?"# 构建 PromptTemplate
prompt = PromptTemplate(input_variables=["product"],template=question,
)# 使用 LLM Chain 组合 Prompt 和 LLM
llm_chain = prompt | llmprint("请输入产品名称:")while True:# 由用户输入 product_name,并设置到PromptTemplate中product_name = input("> ")product_format = prompt.format(product=product_name)print("final prompt is " + product_format)# 执行 llm_chain,并打印结果answer = llm_chain.invoke(product_name)print(answer, '\n')

运行效果如下:

f7faec50b25533388eda48cb3723e211.gif

eb0b89e5dc2de03fad4c334e97501f7b.gif

如果你喜欢本文

长按二维码关注

0a18234f33a643c23071b761b2f4a9dc.gif

3e65d3e7c8c0101ef5bd5f86dbbeddc5.jpeg

http://www.sczhlp.com/news/63939/

相关文章:

  • 韩国做游戏的电影 迅雷下载网站wordpress 后台打不开
  • 做网站关键词必须要中文网址基于php的微网站开发
  • 深圳做网站哪家公司比较好而且不贵辽宁省工程招投标信息网
  • 做书的网站手游app平台推广微信xiala5
  • 网站空间怎么使用网站设计制作服务好态度好
  • 单位做网站的目的唐山做网站那家好
  • wordpress扩展性seo是什么软件
  • 备案 网站负责人安装wordpress的目录改变了
  • 要做一个网站需要准备什么制作一个网站需要多久
  • 网站建设费用如何入账编程培训班学费是多少
  • 在线网站建设平台新一站保险网
  • 根据网站做软件深圳网站建设推广平台
  • 网站 服务 套餐如何在网上接做网站的小项目
  • 上海网站建设平台海宁市网站建设
  • 网站 图标 gif设计公司vi设计
  • 免费网站建站百度烟台建设信息网站
  • 七星彩的网站怎么做的大连网站建设佳熙科技公司
  • 建设部人力资源开发中心网站江苏省公路与水路建设网站
  • 站外推广网站经典的公司简介
  • 网站招牌模板小型企业网站建设项目
  • 如何创建网址免费注册北京厦门网站优化
  • 英文公司网站制作网页的过程
  • 龙华专业做网站昆明网站公司建设
  • 厦门网站设计制作济宁祥云网站建设
  • 深圳怎么做网站外贸网站如何引流
  • wordpress页脚内容居中seopc流量排名网站
  • 互动网络游戏公司网站建设添加到wordpress视频库中
  • 做网站需要买服务器吗网站开发产品需求说明
  • 做游戏网站用什么软件中小企业电商网站建设的重要性
  • 海誉网站定制特价旅游机票网站建设