小编BBr*_*lyn的帖子

从 Seaborn 线图中移动和删除图例

我正在尝试从 Seaborn 的线图中完全删除图例。2x2 子图中包含三个线图,每个线图的调用方式如下:

g = sns.lineplot(data=df, dashes=False, ax=axs[0,1])

更具体地说,我想删除三个线图中每一个中的图例,然后使用 2x2 图中的第四个区域来显示图例。任何建议表示赞赏!

matplotlib seaborn

7
推荐指数
1
解决办法
2万
查看次数

降低R中的中缀运算符优先级?

我正在尝试为 R 中的逻辑变量创建一个“隐含”运算符,以使命题演算更容易。但是,它似乎与否定运算符一起玩得并不好。正如此处的最后 4 行所示,我必须将取反变量括在括号中才能使蕴涵运算符正常工作。

我怀疑运算符优先级是问题,但我不确定。从我读到的内容来看,没有办法改变中缀运算符的优先级。有没有一种方法可以重新定义,implies()以便(!q) %->% (!p)不需要括号?

> implies <- function(p, q) !p | q
> "%->%" <- implies
> 
> p <- c(TRUE, TRUE, FALSE, FALSE)
> q <- c(TRUE, FALSE, TRUE, FALSE)
> p %->% q
[1]  TRUE FALSE  TRUE  TRUE
> !q %->% !p
[1]  TRUE FALSE FALSE FALSE
> (!q) %->% !p
[1]  TRUE FALSE  TRUE  TRUE
Run Code Online (Sandbox Code Playgroud)

boolean-logic r logical-operators propositional-calculus

6
推荐指数
1
解决办法
166
查看次数

LangChain Zero Shot React Agent是否使用内存?

我正在尝试LangChain的AgentType.CHAT_ZERO_SHOT_REACT代理。从它的名字来看,我认为这是一个用于聊天的代理,我已经给了它内存,但它似乎无法访问它的内存。我还需要做什么才能访问它的内存?或者我是否错误地认为该代理可以处理聊天?

这是我的代码和示例输出:

llm = ChatOpenAI(model_name="gpt-4",
                 temperature=0)

tools = load_tools(["llm-math", "wolfram-alpha", "wikipedia"], llm=llm)
memory = ConversationBufferMemory(memory_key="chat_history")

agent_test = initialize_agent(
    tools=tools, 
    llm=llm, 
    agent=AgentType.CHAT_ZERO_SHOT_REACT_DESCRIPTION, 
    handle_parsing_errors=True,
    memory=memory, 
    verbose=True
)
Run Code Online (Sandbox Code Playgroud)
>>> agent_test.run("What is the height of the empire state building?")
'The Empire State Building stands a total of 1,454 feet tall, including its antenna.'
>>> agent_test.run("What was the last question I asked?")
"I'm sorry, but I can't provide the information you're looking for."
Run Code Online (Sandbox Code Playgroud)

python langchain large-language-model py-langchain

2
推荐指数
1
解决办法
3648
查看次数

使用 Python AST 确定字符串是否已硬编码到打印调用中

我正在尝试编写一个函数,该函数将使用 AST 来确定某个字符串是否已被硬编码到打印函数调用中。例如,如果这是整个 Python 文件:

print("hard coded")
Run Code Online (Sandbox Code Playgroud)

我得到的树如下:

with open(filename, 'r') as f:
    tree = ast.parse(f.read())

nodes = [node for node in ast.walk(tree)]
Run Code Online (Sandbox Code Playgroud)

现在nodes包含[<_ast.Module object at 0x7fa250286150>, <_ast.Expr object at 0x7fa250286050>, <_ast.Call object at 0x7fa2502642d0>, <_ast.Name object at 0x7fa228014610>, <_ast.Str object at 0x7fa228014710>, <_ast.Load object at 0x7fa2280080d0>]

通过测试 attrs 我可以发现nodes[2]有一个.func.idand nodes[2].func.id == 'print',所以这是我的打印命令。但是我如何找到传递给这个打印命令的参数呢?硬编码字符串位于ast.Str列表索引 4 处出现的对象中,但我需要专门确定该字符串已传递给打印,而不仅仅是该字符串出现在文件中。

python abstract-syntax-tree

0
推荐指数
1
解决办法
1468
查看次数