小编Ont*_*nio的帖子

如何在 Docker 容器中安装 Google Chrome

我正在尝试在 docker 容器中安装 chrome。我执行:

RUN apt-get install -y wget
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN dpkg -i google-chrome-stable_current_amd64.deb  # problem here
RUN apt -f install -y
Run Code Online (Sandbox Code Playgroud)

问题是dpkg -i由于缺少依赖项而失败。原则上这不是一个大问题,因为下一个命令应该解决这个问题,并且实际上它在从容器内交互运行时做到了这一点。但问题是,在构建docker 容器时,此错误会使构建过程停止:

dpkg: error processing package google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 google-chrome-stable
root@78b45ab9aa33:/# 
exit
Run Code Online (Sandbox Code Playgroud)

我怎样才能克服这个问题?有没有一种更简单的方法来安装 chrome 而不会引发依赖问题?我找不到要添加的存储库,因此我可以运行常规的apg-get install google-chrome,这就是我想做的。在google linux 存储库中,他们只是提到“软件包将自动配置必要的存储库设置”。这不完全是我得到的......

google-chrome repository apt-get docker

54
推荐指数
2
解决办法
9万
查看次数

如何在Vim中使用quickfix来调试Bash脚本

我每天都使用Vim来编写shell脚本.我一直在阅读关于quickfix窗口,我认为它可以加快我在编辑运行修复周期中的工作效率.

如果我理解正确,我必须编写自己的errorformat函数,以便Vim能够捕获错误并将它们引入quickfix窗口.但这似乎真的很复杂.

在编写Bash脚本时,是否有更简单/更方便的方法来利用Vim 中的quickfix窗口?

vim bash errorformat

8
推荐指数
1
解决办法
1873
查看次数

如何使用 LangChain Callbacks 将模型调用和答案记录到变量中

我正在使用LangChain构建 NL 应用程序。我希望将与 LLM 的交互记录在一个变量中,我可以将其用于日志记录和调试目的。我创建了一个非常简单的链:

from typing import Any, Dict

from langchain import PromptTemplate
from langchain.callbacks.base import BaseCallbackHandler
from langchain.chains import LLMChain
from langchain.llms import OpenAI

llm = OpenAI()
prompt = PromptTemplate.from_template("1 + {number} = ")
handler = MyCustomHandler()

chain = LLMChain(llm=llm, prompt=prompt, callbacks=[handler])
chain.run(number=2)
Run Code Online (Sandbox Code Playgroud)

为了记录发生的情况,我创建了一个自定义CallbackHandler

class MyCustomHandler(BaseCallbackHandler):
    def on_text(self, text: str, **kwargs: Any) -> Any:
        print(f"Text: {text}")
        self.log = text
  
    def on_chain_start(
        self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
    ) -> Any:
        """Run …
Run Code Online (Sandbox Code Playgroud)

python nlp openai-api langchain

8
推荐指数
1
解决办法
4376
查看次数

如何在Fortran中获取未知长度的命令行参数?

我想从用于运行程序的命令行中读取一些文本字符串.我在程序GET_COMMAND_ARGUMENT中使用内部子程序基本上是这样的:

program test
character(len=100) :: argument
call GET_COMMAND_ARGUMENT(1,argument)
print*, argument
end program test
Run Code Online (Sandbox Code Playgroud)

这里的问题是我觉得在编译时设置字符串的最大长度有点危险.一些参数通常是带有路径的文件,因此它们可能很长.将静态长度设置为1000的解决方案听起来像一个丑陋的解决方法.

在Fortran中是不是有更优雅的方法来定义一个能够包含长度仅在运行时知道的字符串的字符串?

arrays string fortran

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

如何改进 Gnuplot 中渐变和填充元素的渲染?

我注意到 Gnuplot 在处理填充元素时会产生丑陋的人工制品。

一个实例位于下图的调色板中:

调色板

另一个示例是在filledcurves从 ASCII 文件中的点定义的两条曲线之间使用时。在这种情况下,您可以看到线条之间不是真正的实心填充,而是填充了许多条带,这些条带只有在放大很多后才会变得明显,但是在将图像光栅化为 png 或相似的:

带子

这似乎在终端上是独立的。我试过了postscrippdfcairo甚至tikz。有什么可以做的来改善这一点,或者这是 Gnuplot 的一个硬限制?

gradient gnuplot fill

5
推荐指数
1
解决办法
886
查看次数

如何在 Langchain 中激活详细程度

我正在使用 Langchain 0.0.345。我无法使用LCEL 方法构建链来获得幕后发生的情况的详细输出。

我有这个代码:

from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.schema.output_parser import StrOutputParser
from langchain.globals import set_verbose

set_verbose(True)

prompt = ChatPromptTemplate.from_template("tell me a joke about {topic}")
model = ChatOpenAI()
output_parser = StrOutputParser()

chain = prompt | model | output_parser

chain.invoke({"topic": "ice cream"})
Run Code Online (Sandbox Code Playgroud)

根据文档,使用的set_verbose是显示中间步骤、提示构建等的详细输出的方法。但是该脚本的输出只是一个字符串,没有任何中间步骤。实际上, API 文档langchain.globals中甚至没有提及该模块。

我也尝试过verbose=True在模型创建中设置参数,但也不起作用。这用于与前一种方法一起使用类等进行构建。

建议和当前的方法是如何记录输出以便您了解发生了什么?

谢谢!

python langchain large-language-model

5
推荐指数
1
解决办法
1550
查看次数

如何在Vim中的注释中禁用拼写突出显示

我用Vim键入LaTeX文档。尽管我使用自定义的配色方案,但我在默认插件中同时使用了拼写检查语法突出显示功能。使用此设置,这是我在LaTeX文档中得到的典型视图:

屏幕截图

如您所见,拼写检查器还会以红色突出显示注释(否则为绿色)。我希望注释完全是绿色的,而与语法的使用无关,以方便可视化。如何要求Vim强制注释突出显示优先于语法?

vim syntax-highlighting vim-plugin

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