langchain源码

itemgetter:返回一个函数,函数取输入dict的某个指定key

Runnable 的基本方法有 invoke、 batch、 await、 ainvoke、 abatch 同步转异步

Runnable 还具有的方法:bind、 with_config。 input_schema 属性、output_schema 属性

with_retry方法:失败重试

也可以启动调试机制

config_schema() 方法:可接受的配置类型,指定为一个pydantic模型。

RunnableBinding类:用额外的功能封装一个Runnable。可运行的装饰器。包含方法:bind(绑定kwargs)、with_config(绑定配置)等等

RunnableLambda 将python函数转为Runnable

RunnableParallel 并行计算,并赋值一个key

RunnableAssign 一般与RunnableParallel结合,将输入数据复制保留,将产生的数据用 RunnableParallel的key记录下来

assign: 将上面的进行合并处理 xx.assign = xx | RunnableAssign(RunnableParallel(kwargs))

ICEL:声明式的方法。 主要的组合原语是 RunnableSequence 【顺序调用】和 RunnableParallel 【并发调用】。

ChatPromptTemplate 聊天模版、示例:

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a world class technical documentation writer."),
    ("user", "{input}")
])

StrOutputParser类 将 Message定向解析

模型:ChatModels、 LLMs

ChatModels: 输入是聊天消息列表、输出是AI消息

LLMs:纯文本补全模型

提示模板:ChatPromptTemplates

BaseExampleSelector 示例选择器

输出解析器 CommaSeparatedListOutputParser 解析逗号分隔值

partial 部分参数预先被填充

定义工具schemas: Pydantic类

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
langchain源码架构主要包括以下几个模块: 1. 前端模块:前端模块是用户与系统之间的界面层,负责接收用户的输入和展示系统的输出。它使用Web技术来实现,包括HTML、CSS和JavaScript等,通过与后端通信,将用户的请求发送到后端进行处理并将结果展示给用户。 2. 后端模块:后端模块是整个系统的核心部分,负责处理前端发送过来的请求,并返回相应的结果。它包括多个子模块,如用户管理模块、语言处理模块、翻译模块等。后端模块使用Java语言开发,采用Spring框架来实现,通过接收前端的请求,调用相应的子模块进行处理,并将结果返回给前端。 3. 数据库模块:数据库模块负责存储系统中的数据,包括用户信息、语言库、翻译记录等。它采用关系型数据库来存储数据,如MySQL等。后端模块与数据库模块通过读写数据库来实现数据的持久化。 4. 语言处理模块:语言处理模块是整个系统的核心功能模块,负责接收用户输入的文本,进行语言处理和翻译。它使用自然语言处理技术来进行语言识别、分词、词性标注、句法分析等处理,并调用翻译模块进行翻译。语言处理模块采用Python语言开发,使用相关的自然语言处理库,如NLTK、Stanford NLP等。 5. 翻译模块:翻译模块是用来实现文本的翻译功能的模块,它根据用户的输入和系统的语言处理结果,进行适当的翻译处理。翻译模块采用机器翻译技术,包括统计机器翻译和神经网络机器翻译等。它使用训练好的翻译模型来进行翻译,并将结果返回给语言处理模块。 总的来说,langchain源码架构是一个基于Java和Python开发的多模块系统,通过前后端的交互和与数据库的读写来实现用户的语言处理和翻译需求。该架构采用了先进的自然语言处理和机器翻译技术,为用户提供高质量的语言处理和翻译服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值