LangChain自动化生成指令数据集

基础

  1. Agent和AgentExecutor的区别
  2. AgentExecutor.from_agent_and_tools()和AgentExecutor()的区别
  3. PromptTemplate和ChatPromptTemplate的区别
  4. 如何让LLM输出Json格式
  5. 如何让LLM输出自定义格式
  6. Agent执行的全过程

LangChain库函数

Pydantic:确保数据符合预期的格式和结构

问题

  1. Unhashable Type Tool when using custom tools

Json格式输出

from langchain_community.chat_models import ChatZhipuAI
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain.prompts import PromptTemplate
from langchain_core.output_parsers import JsonOutputParser

from pprint import pprint

llm = ChatZhipuAI(
    model="glm-4",
    api_key="eb9aed8db44efa3b428072914bc5063e.Vr33yNfWV4QTnUy6",
)

class Ans(BaseModel):
    NAME: list = Field(description="有名的诗人的名字")
    POEM: str = Field(description="诗词")

parser = JsonOutputParser(pydantic_object=Ans)

prompt = PromptTemplate(
    template="{format_instructions}\n{query}",
    input_variables=["query"],
    partial_variables={
   "format_instructions": parser.get_format_instructions()},
)
model = prompt|llm|parser
print(model.invoke({
   "query": "有名的诗人和他们的诗,请说中文"}))

基于Json的信息检索

V1.0

import os
import json
import logging
from openai import AzureOpenAI

from langchain_community.chat_models import ChatZhipuAI
from langchain.agents import (AgentExecutor,
                              create_react_agent)
from langchain_core.tools import tool

# 输出
from langchain_core.output_parsers import JsonOutputParser
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.prompts import PromptTemplate,ChatPromptTemplate

logging.basicConfig(filename="LangChain.log",  # 将日志保存到filename文件中 
                    level=logging.DEBUG)  # DEBUG及以上的日志信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值