llmhelper


Namellmhelper JSON
Version 0.5.5 PyPI version JSON
download
home_pageNone
Summary大模型辅助函数库
upload_time2025-01-30 14:08:59
maintainerZhou WangJie
docs_urlNone
authorZhou WangJie
requires_pythonNone
licenseApache License, Version 2.0
keywords llm llmhelper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # llmhelper

大模型辅助函数库

## 安装

```shell
pip install llmhelper
```

## 环境变量

- OPENAI_API_KEY
  - 必填
- OPENAI_BASE_URL
  - 必填
- OPENAI_CHAT_MODEL
  - 默认为:qwen2-instruct
- OPENAI_EMBEDDINGS_MODEL
  - 默认为:bge-m3
- OPENAI_RERANK_MODEL
  - 默认为:bge-reranker-v2-m3
- LLMHELPER_REDIS_STACK_URLS
  - 默认为:`{"default": "redis://localhost:3679/0"}`
  - 字典类型,表示指定索引的向量数据库地址。例如:

    ```python
    LLMHELPER_REDIS_STACK_URLS = {
      "default": "redis://localhost:6379/0",
      "kb:qa": "redis://192.168.1.31:6379/0",
      "kb:doc": "redis://192.168.1.32:6379/0",
      "ai:instruct": "redis://192.168.1.33:6379/0",
    }
    ```

## 函数列表

- exceptions
  - ParseJsonResponseError
  - ChatError
  - GetTextEmbeddingsError
  - GetRerankScoresError
  - NoneValueError
  - VectorStoreNoneValueError
  - EmbeddingsNoneValueError
  - RerankNoneValueError
- base
  - get_llmhelper_config
  - set_llmhelper_default_config
  - set_llmhelper_config
  - get_default_llm
  - get_default_chat_model
  - get_default_embeddings_model
  - get_default_rerank_model
  - get_template_engine
  - get_llm_base_url
  - get_llm_api_url
- template
  - get_template_prompt_by_django_template_engine
  - get_template_prompt_by_jinjia2
  - get_template_prompt
- llm
  - get_messages
  - parse_json_response
  - chat
  - jsonchat
  - streaming_chat
- embeddings
  - OpenAIEmbeddings
  - get_text_embeddings
- rerank
  - get_rerank_scores
- vectorestores
  - RedisVectorStore
- extra.django_vectorstore_index_model.models
  - WithVectorStoreIndex

## 版本记录

### v0.1.0

- 版本首发。

### v0.2.0

- 添加embeddings模型操作支持。
- 添加rerank模型操作支持。

### v0.3.0

- 添加向量数据库操作支持。

### v0.4.0

- 添加django_vectorstore_index_model抽象类。

### v0.5.1

#### 新增
- 添加时间增强数据集。
- RedisVectorStore.safe_insert函数自动将超长文本分块创建索引。

#### 修改
- llm.json_parse_response在遇到无法解析的响应时会抛出异常。
- chat中参数template_name建议修改为template。
- vectorstores查询空索引时异常,建议异常时返回空数组。
- get_template_prompt_by_jinjia2允许用户自定义template_root。

#### 修正

- exception类设定默认提示语的方式错误。
- llmhelper.template引擎初始化错误。

### v0.5.2

#### 修正

- 时间计算问题。

### v0.5.3

#### 修改

- `WithVectorStoreIndex`添加是否自动索引的控制项。

### v0.5.4

#### 修改

- `RedisVectorStore`添加`rerank`方法。

### v0.5.5

#### 修正

- `parse_json_response`正则多行匹配的问题。

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "llmhelper",
    "maintainer": "Zhou WangJie",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "llm, llmhelper",
    "author": "Zhou WangJie",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/bf/bd/55b8262262d602e944bf342069853e041cfe09b918c0d15fc90d5c2d72e8/llmhelper-0.5.5.tar.gz",
    "platform": null,
    "description": "# llmhelper\n\n\u5927\u6a21\u578b\u8f85\u52a9\u51fd\u6570\u5e93\n\n## \u5b89\u88c5\n\n```shell\npip install llmhelper\n```\n\n## \u73af\u5883\u53d8\u91cf\n\n- OPENAI_API_KEY\n  - \u5fc5\u586b\n- OPENAI_BASE_URL\n  - \u5fc5\u586b\n- OPENAI_CHAT_MODEL\n  - \u9ed8\u8ba4\u4e3a\uff1aqwen2-instruct\n- OPENAI_EMBEDDINGS_MODEL\n  - \u9ed8\u8ba4\u4e3a\uff1abge-m3\n- OPENAI_RERANK_MODEL\n  - \u9ed8\u8ba4\u4e3a\uff1abge-reranker-v2-m3\n- LLMHELPER_REDIS_STACK_URLS\n  - \u9ed8\u8ba4\u4e3a\uff1a`{\"default\": \"redis://localhost:3679/0\"}`\n  - \u5b57\u5178\u7c7b\u578b\uff0c\u8868\u793a\u6307\u5b9a\u7d22\u5f15\u7684\u5411\u91cf\u6570\u636e\u5e93\u5730\u5740\u3002\u4f8b\u5982\uff1a\n\n    ```python\n    LLMHELPER_REDIS_STACK_URLS = {\n      \"default\": \"redis://localhost:6379/0\",\n      \"kb:qa\": \"redis://192.168.1.31:6379/0\",\n      \"kb:doc\": \"redis://192.168.1.32:6379/0\",\n      \"ai:instruct\": \"redis://192.168.1.33:6379/0\",\n    }\n    ```\n\n## \u51fd\u6570\u5217\u8868\n\n- exceptions\n  - ParseJsonResponseError\n  - ChatError\n  - GetTextEmbeddingsError\n  - GetRerankScoresError\n  - NoneValueError\n  - VectorStoreNoneValueError\n  - EmbeddingsNoneValueError\n  - RerankNoneValueError\n- base\n  - get_llmhelper_config\n  - set_llmhelper_default_config\n  - set_llmhelper_config\n  - get_default_llm\n  - get_default_chat_model\n  - get_default_embeddings_model\n  - get_default_rerank_model\n  - get_template_engine\n  - get_llm_base_url\n  - get_llm_api_url\n- template\n  - get_template_prompt_by_django_template_engine\n  - get_template_prompt_by_jinjia2\n  - get_template_prompt\n- llm\n  - get_messages\n  - parse_json_response\n  - chat\n  - jsonchat\n  - streaming_chat\n- embeddings\n  - OpenAIEmbeddings\n  - get_text_embeddings\n- rerank\n  - get_rerank_scores\n- vectorestores\n  - RedisVectorStore\n- extra.django_vectorstore_index_model.models\n  - WithVectorStoreIndex\n\n## \u7248\u672c\u8bb0\u5f55\n\n### v0.1.0\n\n- \u7248\u672c\u9996\u53d1\u3002\n\n### v0.2.0\n\n- \u6dfb\u52a0embeddings\u6a21\u578b\u64cd\u4f5c\u652f\u6301\u3002\n- \u6dfb\u52a0rerank\u6a21\u578b\u64cd\u4f5c\u652f\u6301\u3002\n\n### v0.3.0\n\n- \u6dfb\u52a0\u5411\u91cf\u6570\u636e\u5e93\u64cd\u4f5c\u652f\u6301\u3002\n\n### v0.4.0\n\n- \u6dfb\u52a0django_vectorstore_index_model\u62bd\u8c61\u7c7b\u3002\n\n### v0.5.1\n\n#### \u65b0\u589e\n- \u6dfb\u52a0\u65f6\u95f4\u589e\u5f3a\u6570\u636e\u96c6\u3002\n- RedisVectorStore.safe_insert\u51fd\u6570\u81ea\u52a8\u5c06\u8d85\u957f\u6587\u672c\u5206\u5757\u521b\u5efa\u7d22\u5f15\u3002\n\n#### \u4fee\u6539\n- llm.json_parse_response\u5728\u9047\u5230\u65e0\u6cd5\u89e3\u6790\u7684\u54cd\u5e94\u65f6\u4f1a\u629b\u51fa\u5f02\u5e38\u3002\n- chat\u4e2d\u53c2\u6570template_name\u5efa\u8bae\u4fee\u6539\u4e3atemplate\u3002\n- vectorstores\u67e5\u8be2\u7a7a\u7d22\u5f15\u65f6\u5f02\u5e38\uff0c\u5efa\u8bae\u5f02\u5e38\u65f6\u8fd4\u56de\u7a7a\u6570\u7ec4\u3002\n- get_template_prompt_by_jinjia2\u5141\u8bb8\u7528\u6237\u81ea\u5b9a\u4e49template_root\u3002\n\n#### \u4fee\u6b63\n\n- exception\u7c7b\u8bbe\u5b9a\u9ed8\u8ba4\u63d0\u793a\u8bed\u7684\u65b9\u5f0f\u9519\u8bef\u3002\n- llmhelper.template\u5f15\u64ce\u521d\u59cb\u5316\u9519\u8bef\u3002\n\n### v0.5.2\n\n#### \u4fee\u6b63\n\n- \u65f6\u95f4\u8ba1\u7b97\u95ee\u9898\u3002\n\n### v0.5.3\n\n#### \u4fee\u6539\n\n- `WithVectorStoreIndex`\u6dfb\u52a0\u662f\u5426\u81ea\u52a8\u7d22\u5f15\u7684\u63a7\u5236\u9879\u3002\n\n### v0.5.4\n\n#### \u4fee\u6539\n\n- `RedisVectorStore`\u6dfb\u52a0`rerank`\u65b9\u6cd5\u3002\n\n### v0.5.5\n\n#### \u4fee\u6b63\n\n- `parse_json_response`\u6b63\u5219\u591a\u884c\u5339\u914d\u7684\u95ee\u9898\u3002\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "\u5927\u6a21\u578b\u8f85\u52a9\u51fd\u6570\u5e93",
    "version": "0.5.5",
    "project_urls": null,
    "split_keywords": [
        "llm",
        " llmhelper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aeed90bff0ac41c51f8be74168b09fde02ffa7bb9b5a175d88abffce160b2040",
                "md5": "55795635eddafe47a448baa024442730",
                "sha256": "80f9e5c55d29b00111d4cca29da076b1c3a399cec5fd339ca8521c5cbd797f67"
            },
            "downloads": -1,
            "filename": "llmhelper-0.5.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "55795635eddafe47a448baa024442730",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 23010,
            "upload_time": "2025-01-30T14:08:57",
            "upload_time_iso_8601": "2025-01-30T14:08:57.138181Z",
            "url": "https://files.pythonhosted.org/packages/ae/ed/90bff0ac41c51f8be74168b09fde02ffa7bb9b5a175d88abffce160b2040/llmhelper-0.5.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bfbd55b8262262d602e944bf342069853e041cfe09b918c0d15fc90d5c2d72e8",
                "md5": "074f0ca1793af84fddcf0a49076ab0b9",
                "sha256": "cbb0d80dc808bc4586eacef4ab63a98b57b7f09efe227b80bb6df4348757f3a1"
            },
            "downloads": -1,
            "filename": "llmhelper-0.5.5.tar.gz",
            "has_sig": false,
            "md5_digest": "074f0ca1793af84fddcf0a49076ab0b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 20254,
            "upload_time": "2025-01-30T14:08:59",
            "upload_time_iso_8601": "2025-01-30T14:08:59.264365Z",
            "url": "https://files.pythonhosted.org/packages/bf/bd/55b8262262d602e944bf342069853e041cfe09b918c0d15fc90d5c2d72e8/llmhelper-0.5.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-30 14:08:59",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "llmhelper"
}
        
Elapsed time: 0.45882s