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)
  • 支援 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.7.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

khu_llm_toolkit-0.1.7-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: khu_llm_toolkit-0.1.7.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for khu_llm_toolkit-0.1.7.tar.gz
Algorithm Hash digest
SHA256 1fafb3bac7eb006480bb8eb0e4de6f9f891e366d485c06e6d997fc566bdde120
MD5 278b5d60ff71ff54b3618cd7928e772a
BLAKE2b-256 1bee84aa8624d107c3436212346d7c10fcc90c8b9ac7fa87f166f056e427dfd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: khu_llm_toolkit-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for khu_llm_toolkit-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ef2e3122b8cce142ad4d0529d45ee3c3cd223504e374d7afda0f06792f9d3b7c
MD5 7d9d9ea216dafda831adeba359ab02d0
BLAKE2b-256 bc87a88e2adeb2a7163057e29dca3baf4b12f8a23553513f7c58bfd8406d2bbf

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