Skip to main content

No project description provided

Project description

Contributors Forks Stargazers Issues MIT License LinkedIn

My LLM Utilities

About The Project

個人工具箱,便於生成式AI的開發探索。私人研究,與工作無關,來窺伺動靜的人請自行退去。

2024-02-19

修改專案及套件名稱

Built With

  • Python
  • OpenAI

Getting Started

本節說明如何建置本專案, 以及如何將建置成果供用戶使用.

Prerequisites

開發環境需要先安裝好Python和poetry

  • pyenv

    curl https://pyenv.run | bash
    
  • Python

    pyenv install 3.11
    
  • poetry

    curl -sSL https://install.python-poetry.org | python3 -
    
  • Virtual environment

    poetry install
    poetry shell
    

Development

see How to upload your python package to PyPi

使用 Poetry

  • Virtual environment

    poetry shell
    
  • Test

    pytest 
    
  • Build

    poetry build
    
  • Upload

    poetry publish --username=__token__ --password=pypi token值
    

手動執行 setuptools

  • Virtual environment

    source .venv/bin/activate
    
  • Test

    pytest 
    
  • Github Release

    建立並發布git tag

    git tag -a 0.1.1 -m "adjust config file content layout"
    git push origin 0.1.1
    

    然後到Github倉庫頁面建立一個新的release

    複製Assets中Source code(.tar.gz)的URL, 把它貼到setup.py裡的download_url中

  • Build

    python3 setup.py sdist
    python3 setup.py clean --all
    
  • Upload

    PyPi不再允許在上傳過程中用個人帳號密碼做為身份驗證方式, 參考Hackmd記錄。 在上傳過程中要求認證的時候, 以"token"做為username, 以該檔案中的token值做為密碼

    twine upload dist/*
    

Usage

完成建置並推送到PyPi server後, 就可以在其它專案中將它設為相依套件, 並在程式碼中使用.

  • 相依套件

Poetry: 在 pyproject.toml 填入

khu_llm_toolkit = "^0.1.6"

Pip: 在 requirements.txt 填入

khu_llm_toolkit >= 0.1.6
  • 匯入套件
from khu_llm_toolkit import ModelDefinition
from khu_llm_toolkit.commons import ProviderType

config_file_path = os.path.join(os.getcwd(), f"instance/model_definition.ini")
model_def = ModelDefinition(ProviderType.AZURE, config_file_path)
llm, embeddings = model_def.get_models(temperature=temperature)
  • 設定檔範例
[DEFAULT]

[openai]
USE_AZURE = False
API_KEY = OPENAI_API_KEY
CHAT_COMPLETIONS_MODEL = gpt-4-0613
EMBEDDINGS_MODEL = text-embedding-ada-002

[azure]
USE_AZURE = True
API_KEY = AZURE_OPENAI_API_KEY
API_BASE = AZURE_OPENAI_API_ENDPOINT_URL
API_VERSION = 2023-05-15
COMPLETIONS_MODEL = gpt-35-turbo
EMBEDDINGS_MODEL = text-embedding-ada-002

Roadmap

  • 支援 Gemini (0.1.7 2024-04-25)
  • 一設定檔,多模型 (0.1.7 2024-04-25)
    • 排除Gemini Embeddings模型使用錯誤問題 (0.1.8 2024-06-15)
  • 支援 Huggingface上的開源模型

See the open issues for a full list of proposed features (and known issues).

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Ken Hu - kenhu@duck.com

Project Link: https://github.com/kenhutaiwan/MyLlmUtils

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

khu_llm_toolkit-0.1.8.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

khu_llm_toolkit-0.1.8-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file khu_llm_toolkit-0.1.8.tar.gz.

File metadata

  • Download URL: khu_llm_toolkit-0.1.8.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.9.9 Darwin/21.6.0

File hashes

Hashes for khu_llm_toolkit-0.1.8.tar.gz
Algorithm Hash digest
SHA256 8a9affecedfd5ab161f541b6e132a49483bd5b2261657f62c0ef825eaf492495
MD5 df1a3418dfbc61090396de8a06e9772c
BLAKE2b-256 945c5bd664e57de18bdbb1778363d771b79b0c24a75615fdaf999535fd466371

See more details on using hashes here.

File details

Details for the file khu_llm_toolkit-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: khu_llm_toolkit-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.9.9 Darwin/21.6.0

File hashes

Hashes for khu_llm_toolkit-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 018ac781898761a65527ec56b139bbbd7b03ac04b4a453c6c7f79c1674672442
MD5 6b9587d228d671acc337f34e821425c5
BLAKE2b-256 9d44be03b6a58b71af4a6f2dc69b3b03e2045393c1160baa7ad60ed4d47f8301

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page