小编Yil*_*maz的帖子

Langchain / ChromaDB:为什么 VectorStore 返回这么多重复项?

import os
from langchain.llms import OpenAI
import bs4
import langchain
from langchain import hub
from langchain.document_loaders import UnstructuredFileLoader
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma

os.environ["OPENAI_API_KEY"] = "KEY"

loader = UnstructuredFileLoader(
    'path_to_file'
)
docs = loader.load()

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000, chunk_overlap=200, add_start_index=True
)
all_splits = text_splitter.split_documents(docs)
vectorstore = Chroma.from_documents(documents=all_splits, embedding=OpenAIEmbeddings())
retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 6})

retrieved_docs = retriever.get_relevant_documents(
    "What is X?"
)
Run Code Online (Sandbox Code Playgroud)

这将返回:

[Document(page_content="...", metadata={'source': 'path_to_text', 'start_index': 16932}),
 Document(page_content="...", metadata={'source': 'path_to_text', 'start_index': 16932}),
 Document(page_content="...", metadata={'source': …
Run Code Online (Sandbox Code Playgroud)

python openai-api langchain chromadb py-langchain

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

在nodejs mongoose中播种数据的最佳方法是什么

我需要将数据播种到应用程序的数据库中。最好的方法是什么?我应该在哪里编写用于播种数据的代码?这个的文件夹结构应该是什么?

我是一名 Rails 开发人员,rails 框架有一种很好的方法来在 中播种数据seeds.rb,我希望在我的 Node.js 应用程序中实现同样的目标。

由于我是 Node.js 的新手,我对网络上不同的可用资源感到困惑。

javascript ruby-on-rails mongoose mongodb node.js

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

特定条件下的 Yargs .check()

我目前有 yargs 在一个应用程序中工作,该应用程序可以在没有参数的情况下运行,或者以下两者之一:

  • 一个只有一个参数的“-o”选项
  • 不带参数的“-f”选项

这些工作,但没有什么能阻止用户输入被忽略的额外选项或参数,例如:

  • 应用程序你好
  • app -f 你好
  • app -o 你好你好

我宁愿失败并提醒他们使用。我认为 .check() 函数是正确的方法,但我在网上找不到很多例子。任何人都可以建议一个 check() 函数,如果这是正确的方法吗?

javascript node.js yargs

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

Nextjs Auth0在getServerSideProps中获取数据

我使用 Auth0 来验证用户身份。

我受保护的 api 路由如下:

// pages/api/secret.js

import { withApiAuthRequired, getSession } from '@auth0/nextjs-auth0';

export default withApiAuthRequired(function ProtectedRoute(req, res) {
  const session = getSession(req, res);
  const data = { test: 'test' };
  res.json({ data });
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试从 getServerSideProps 获取数据时,我收到 401 错误代码。

如果我使用 useEffect 我可以从 api 路由获取数据。

我试图像这样获取数据:

export const getServerSideProps = withPageAuthRequired({
  async getServerSideProps(ctx) {
    const res = await fetch('http://localhost:3000/api/secret');
    const data = await res.json();

    return { props: { data } };
  },
});
Run Code Online (Sandbox Code Playgroud)

我收到以下响应:错误:“not_authenticated”,描述:“用户没有活动会话或未经过身份验证”

大家有什么想法吗?谢谢!!

authentication auth0 next.js

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

如何为具有被调用的请求方法的 Window 对象以太坊编写打字稿接口

我正在运行以下函数

import { ethers } from "ethers";


async function requestAccount() {
    await window.ethereum.request({ method: "eth_requestAccounts" });
  }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我正在使用打字稿,它抱怨以下错误

Property 'ethereum' does not exist on type 'Window & typeof globalThis'

所以我能够用以下方法修复它

declare global {
  interface Window{
    ethereum?:any
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我认为这没有正确利用打字稿。我该如何编写才能使接口值正确。我认为它应该是一个内部有方法的对象,但不确定如何在打字稿中编写它。

任何帮助将不胜感激。

谢谢

javascript typescript ethereum metamask ethers.js

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

将节点模块和 JavaScript 集成到我们的 Web API 控制器调用中

我们的主要后端服务器是一个 .net 5 Web API 项目。我需要将一些 javascript 模块和 javascript 代码集成到我们的功能中。我想节省将这些模块全部重写为 C# 以便从我们的代码访问的时间。是否有任何包或方法可以完成此任务,或者我最好运行一个单独的节点服务器来实现此功能?

javascript c# module node.js asp.net-web-api

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

由于 AsyncStorage 和 firebase auth 问题,升级博览会无法启动

我读到的有关该主题的大多数问题都说他们收到了Warning,而我收到了Error,但我无法运行我的项目。

今天我将expo-sdk从v.45升级到v.48。从那时起,我一整天都在与以下错误作斗争: Android Bundling complete 118ms ERROR Invariant Violation: AsyncStorage has been removed from react-native core. It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'

在我的项目中,我确实使用了AsyncStorage,但是,我已从正确的包中导入了它。据我研究,这个问题是由于firebase-auth使用了AsyncStorage错误的包而导致的。我在互联网上尝试和阅读的所有内容都不适合我。主要是人们建议使用const auth = initializeAuth(app, { persistence: getReactNativePersistence(AsyncStorage)});我也遇到了麻烦(每个人都建议从那里导入它firebase/auth/react-native';,但我无法从那里导入它)

我的主要问题是为什么我无法开始我的博览会。每个人都说这个问题是一个警告,但我确实收到了一个错误,并且我无法启动我的项目。

我的package.json:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "debug": "firebase emulators:start --inspect-functions" …
Run Code Online (Sandbox Code Playgroud)

firebase reactjs react-native expo

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

为什么 Rust 中的环境变量是 String 类型而不是字符串切片?

对于不可变的常量字符串,我们使用&str. 例如,

let url: &'static str = "yourUrl";
Run Code Online (Sandbox Code Playgroud)

url是一个常量值,不需要修改。它是对 UTF-8 字节序列的引用,我们只是在这里读取它。

但是,环境变量的String类型为:

use dotenv::dotenv;
use std::env;

dotenv().ok();

let api_key: String =
    env::var("Your_api_key").expect("API KEY NOT FOUND");
Run Code Online (Sandbox Code Playgroud)

String是 Rust 中可增长、可变、拥有的类型。它在堆上分配并允许动态修改其内容,但环境变量是常量并在 rust 程序启动时加载。为什么不是类型&str

string environment-variables rust

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

Redux - 取消订阅侦听器如何工作?

我是 Redux 的新手。我想知道取消订阅监听器的本质是什么以及它是如何工作的?我知道 register 函数返回一个取消订阅,但是在下面的例子中,当我们调用 unsubscribe 方法时,为什么它不只是触发一个嵌套在变量中的新函数?我们可以看到:

let unsubscribe = store.subscribe(() => {  
    // let unsubscribe nests a function   
    // execute every time the state changes
    const state = store.getState(); 
});
// but here instead of call the nested function it cancels the listener, how is it possible ?
unsubscribe(); 
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript unsubscribe redux

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

解包 * 在 leetcode 上抛出语法错误

我正在解决硬币找零问题。我使用 leetcode 上的给定示例在 jupyter-notebook 上运行代码并且它工作正常。

在此处输入图片说明

相同的代码不适用于 leetcode。导致语法错误:

在此处输入图片说明

这是要复制的代码:

def best_sum(target,nums):
    dp=[None for y in range(target+1)]
    dp[0]=[]
    for i in range(len(dp)):
        if dp[i]!=None:
            for num in nums:
                if i+num<=target:
                    combination=[*dp[i],num]
                    if dp[i+num]==None or len(combination)<len(dp[i+num]):
                        dp[i+num]=combination
    return dp[-1]
best_sum(11,[1,2,5])
Run Code Online (Sandbox Code Playgroud)

python algorithm iterable-unpacking

-1
推荐指数
1
解决办法
76
查看次数