nixpkgs/pkgs/servers/chatgpt-retrieval-plugin/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

73 lines
2.2 KiB
Nix
Raw Normal View History

{ lib
, python3Packages
, fetchFromGitHub
, python3
, nix-update-script
2023-04-02 00:31:05 +00:00
, dasel
}:
python3Packages.buildPythonApplication {
pname = "chatgpt-retrieval-plugin";
version = "unstable-2023-03-28";
format = "pyproject";
src = fetchFromGitHub {
owner = "openai";
repo = "chatgpt-retrieval-plugin";
rev = "958bb787bf34823538482a9eb3157c5bf994a182";
hash = "sha256-fCNGzK5Uji6wGDTEwAf4FF/i+RC7ny3v4AsvQwIbehY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'fastapi = "^0.92.0"' 'fastapi = ">=0.92.0"' \
--replace 'python-dotenv = "^0.21.1"' 'python-dotenv = "*"' \
--replace 'python-multipart = "^0.0.6"' 'python-multipart = "^0.0.5"' \
--replace 'redis = "4.5.1"' 'redis = "^4.5.1"' \
--replace 'tiktoken = "^0.2.0"' 'tiktoken = "^0.3.0"' \
2023-04-02 00:31:05 +00:00
--replace 'packages = [{include = "server"}]' 'packages = [{include = "server"}, {include = "models"}, {include = "datastore"}, {include = "services"}]'
substituteInPlace server/main.py \
--replace 'directory=".well-known"' 'directory="/var/lib/chatgpt-retrieval-plugin/.well-known"' \
--replace '0.0.0.0' '127.0.0.1' \
--replace '8000' '8080'
${dasel}/bin/dasel put -t string -f pyproject.toml -v '.well-known/*' '.tool.poetry.include.[]'
'';
nativeBuildInputs = with python3Packages; [
poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
fastapi
arrow
tiktoken
python-multipart
python-dotenv
openai
weaviate-client
pinecone-client
pymilvus
uvicorn
python-pptx
tenacity
pypdf2
qdrant-client
redis
docx2txt
];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
2023-08-15 07:55:56 +00:00
broken = true; # dependencies are not up to date, the project doesn't look well maintained, this doesn't look like it's going in the right direction. I'm happy to handle maintainership to whoever wants to.
homepage = "https://github.com/openai/chatgpt-retrieval-plugin";
description = "Tool to search and find personal or work documents by asking questions in everyday language";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
};
}