langchain 入门笔记-1

1 langchain 是什么?

    如果聊天机器人除了回答通用问题以外,还能根据我们自己的私有数据,回答问题或执行相应动作,怎么去实现呢?比如要聊天机器人发个邮件。比如我想做一个律师,但律师要学的东西太多了,要学几十本书,那么我可以让聊天机器人去学习这几十本书,我遇到问法律方面的问题直接问聊天机器人就好了。langchain就是为实现这一目标而诞生的。

    Langchain 是一个开源框架,允许开发人员将大型语言模型与外部的计算和数据结合起来。

    大语言模型如果要用到各行各业去落地的话,一定会用到langchain。国内非常喜欢在应用方面做开发。

2 Langchain 的核心

modles: 模型,langchain 和大模型的接口,各种类型的模型和模型集成,如GPT-4。

Prompty : 提示模版, 输入大模型的提示模版。

Memory:记忆, 与大模型聊天过程中的记忆信息。

Indexes: 索引,非结构化的查找和访问,帮助语言模型提取信息。

chains: 允许多个组件组合一起,解决特定任务。

Agents: 代理允许语言模型与外部api交互。

langchan 的底层原理

智能问答系统工作流程

1 用户提出问题,经过相似性搜索在大型数据库或向量空间中找到与之相关的信息。

2 得到的信息与原始问题结合,由处理模型分析,产生一个答案。

3 答案指导一个代理采取一个动作。

Langchain 的应用场景

1 个人助手:帮助预定航班,转账,缴税。

2 学习辅助:参考课程大纲,帮助搜集学习资料。

3 数据分析和数据科学。例如公司的客户数据和市场数据。

3 Langchain 和千帆安装(ubantu 环境)

安装 langchain, openai, qianfan

pip install langchain

pip install langchain-community

pip install langchain-openai

pip install qianfan

3.1介绍langSmish

    是一个用于构建生产级LLM 应用程序的平台,它提供了调试,测试,评估和监控基于任何LLM框架构建的链和智能代理功能。例如:要跟踪我的大语言模型的token 的数量, 可以用工具 LangSmish。

3.2 LangChain的官网

LangChain的官网分为英文和中文两个版本,具体信息如下:

04 采用langchain 调用LLM(大语言模型)

代码如下:

import os

from langchain_community.llms import QianfanLLMEndpoint

# key
os.environ['QIANFAN_AK'] = '你的key'
os.environ['QIANFAN_SK'] = '你的secret key'

# 实例化一个应用
# llm = QianfanLLMEndpoint(modle='Llama-2-70b-chat')
# llm = QianfanLLMEndpoint()

llm = QianfanLLMEndpoint(streaming=True)
res = llm.invoke("hi")
print(res)

res = llm.invoke("你好,我是个ai学习者")
print(res)

# 你好!有什么我可以帮助你的吗?
# 你好,很高兴你对AI学习感兴趣!AI是一个非常有趣和充满挑战的领域,涵盖了机器学习、深度学习、自然语言处理等多个方向。
#
# 如果你是初学者,我建议你先了解一些基础知识,比如机器学习的基本概念、常见的算法和模型等。同时,你也可以通过一些在线课程或教程来学习AI的相关知识。
#
# 在学习的过程中,你可能会遇到一些困难和挑战,但不要气馁。AI领域的知识体系非常庞大,需要不断学习和实践才能掌握。你可以通过阅读相关的书籍、参加线上或线下的学习活动、与其他学习者交流等方式来提高自己的学习效果。
#
# 最后,我想说的是,AI是一个不断发展的领域,新的技术和应用不断涌现。保持学习的热情和好奇心,不断探索和学习新的知识和技能,将会帮助你在这个领域取得更好的成绩。祝你学习愉快!
#
# Process finished with exit code 0


# 参考
# https://python.langchain.com/docs/integrations/llms/baidu_qianfan_endpoint/

05 采用langchain 调用chat modles (聊天模型)

代码如下:

"""For basic init and call"""
import os

from langchain_community.chat_models import QianfanChatEndpoint
from langchain_core.language_models.chat_models import HumanMessage

# key
os.environ['QIANFAN_AK'] = '你的千帆key'
os.environ['QIANFAN_SK'] = '你的千帆 secret key'

# chat modle
chat = QianfanChatEndpoint(streaming=True)
messages = [HumanMessage(content="Hello")]
res = chat.invoke(messages)
print(res)

# content='Hello! 你好!很高兴收到你的消息。有什么我可以帮助你的吗?或者你想聊些什么话题?请随时告诉我,我会尽力回答你的问题或与你进行交流。' response_metadata={'token_usage': {'input_tokens': 1, 'output_tokens': 35, 'total_tokens': 36}, 'model_name': None, 'finish_reason': 'stop'} id='run-5a390c10-2895-4600-aaff-2728737608a5-0' usage_metadata={'input_tokens': 1, 'output_tokens': 35, 'total_tokens': 36}

# 参考
# https://python.langchain.com/docs/integrations/chat/baidu_qianfan_endpoint/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值