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]

[kenhu-openai-gpt-35-turbo]
PROVIDER=openai
TYPE=llm
DISPLAY_NAME=個人OpenAI帳號GPT-4-turbo模型 with vision capabilities
API_KEY=sk-c6
COMPLETIONS_MODEL=gpt-3.5-turbo

[kenhu-openai-embeddings-003-large]
PROVIDER=openai
TYPE=embeddings
API_KEY=sk-c6
EMBEDDINGS_MODEL=text-embedding-3-large

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.9.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

khu_llm_toolkit-0.1.9-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: khu_llm_toolkit-0.1.9.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.6 Linux/6.6.10-76060610-generic

File hashes

Hashes for khu_llm_toolkit-0.1.9.tar.gz
Algorithm Hash digest
SHA256 78a0b2206c650129c144af419e184ec70d0f0a96fc56479f197b156525cb7201
MD5 9c0f54d25f5906d13dac1df3f8d5ca27
BLAKE2b-256 43dc7455e734fdf7856e9da59c6e74b3705613fe14f9ba6a4e4f5b1b1905666a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: khu_llm_toolkit-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.6 Linux/6.6.10-76060610-generic

File hashes

Hashes for khu_llm_toolkit-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 57d473e27e72abf303b452c65ecfc0cc61305f96bae2928c90cdf3f763cfd53a
MD5 ea4a08314c6ee505251e396168d7dda2
BLAKE2b-256 06b5fc14016f4b499b1664c83e1447eef5acc5e089ec8b2c11696729f70cd100

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