检查其他资源
- 为这个问题添加了一个非常描述性的标题。
- 使用集成搜索在LangChain文档中进行了搜索。
- 使用GitHub搜索查找类似的问题,但没有找到。
- 我确信这是LangChain中的一个bug,而不是我的代码。
- 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此bug。
示例代码
from langchain_core.prompts import PromptTemplate
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_experimental.llms.ollama_functions import OllamaFunctions
from typing import Optional
import json
# Schema for structured response
class AuditorOpinion(BaseModel):
opinion: Optional[str] = Field(
None,
description="The auditor's opinion on the financial statements. Values are: 'Unqualified Opinion', "
"'Qualified Opinion', 'Adverse Opinion', 'Disclaimer of Opinion'."
)
def load_markdown_file(file_path):
with open(file_path, 'r') as file:
return file.read()
path = "data/auditor_opinion_1.md"
markdown_text = load_markdown_file(path)
# Prompt template
prompt = PromptTemplate.from_template(
"""
what is the auditor's opinion
Human: {question}
AI: """
)
# Chain
llm = OllamaFunctions(model="llama3", format="json", temperature=0)
structured_llm = llm.with_structured_output(AuditorOpinion)
chain = prompt | structured_llm
alex = chain.invoke(markdown_text)
response_dict = alex.dict()
# Serialize the dictionary to a JSON string with indentation for readability
readable_json = json.dumps(response_dict, indent=2, ensure_ascii=False)
# Print the readable JSON
print(readable_json)
错误信息和堆栈跟踪(如果适用)
langchain_experimental/llms/ollama_functions.py", line 400, in _generate
raise ValueError(
ValueError: 'llama3' did not respond with valid JSON.
描述
尝试使用with_structured_output从markdown文本获取结构化输出
系统信息
系统信息
操作系统:Darwin
操作系统版本:Darwin Kernel Version 23.5.0: Wed May 1 20:14:38 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6020
Python版本:3.9.6(默认,2024年2月3日15:58:27)
[Clang 15.0.0 (clang-1500.3.9.4)]
软件包信息
langchain_core: 0.2.9
langchain: 0.2.5
langchain_community: 0.2.5
langsmith: 0.1.79
langchain_experimental: 0.0.61
langchain_google_genai: 1.0.5
langchain_google_vertexai: 1.0.4
langchain_mistralai: 0.1.8
langchain_openai: 0.1.8
langchain_text_splitters: 0.2.0
langchainhub: 0.1.16
没有安装的软件包(不一定是个问题)
以下软件包未找到:
langgraph
langserve
2条答案
按热度按时间q9yhzks01#
also hitting this
omvjsjqw2#
在这里也是一样。
我刚刚进行了一些调试。
_generate
方法似乎总是返回一个空字符串。以下代码块来自langchain_experimental/llms/ollama_functions.py的第398行左右:
错误:
ValueError: 'qwen2:7b-instruct' did not respond with valid JSON. Please try again. Response: