Skip to main content

A Python package for interacting with OpenAI-compatible LLMs

Project description

VinehooLLM

A Python package for interacting with OpenAI-compatible Language Models (LLMs) with function/tool calling capabilities.

English | 中文

English

Overview

VinehooLLM is a Python client library that provides a simple interface for interacting with OpenAI-compatible Language Models. It supports modern features like function/tool calling and is designed to be easy to use while maintaining flexibility.

Features

  • OpenAI-compatible API support
  • Function/tool calling capabilities
  • Type-safe implementation using Pydantic models
  • Automatic function execution handling
  • Customizable API endpoints
  • Comprehensive error handling

Installation

pip install vinehoollm

Quick Start

from vinehoollm.client import VinehooLLM, ChatMessage

# Initialize the client
client = VinehooLLM(
    api_key="your-api-key",
    model="gpt-4o-mini"  # or any other compatible model
)

# Simple chat completion
messages = [
    ChatMessage(role="user", content="Hello, how are you?")
]
response = client.chat(messages)
print(response.text)

# Using function/tool calling
def calculator(a: int, b: int, operation: str) -> float:
    if operation == "add":
        return a + b
    elif operation == "multiply":
        return a * b
    # ... other operations

# Define the tool
calculator_tool = {
    "type": "function",
    "function": {
        "name": "calculator",
        "description": "Perform basic arithmetic operations",
        "parameters": {
            "type": "object",
            "properties": {
                "a": {"type": "integer"},
                "b": {"type": "integer"},
                "operation": {
                    "type": "string",
                    "enum": ["add", "subtract", "multiply", "divide"]
                }
            },
            "required": ["a", "b", "operation"]
        }
    }
}

# Initialize client with tool
client_with_tools = VinehooLLM(
    api_key="your-api-key",
    model="gpt-4o-mini",
    tools=[calculator_tool],
    tool_handlers={"calculator": calculator}
)

Documentation

For detailed documentation, please refer to the docstrings in the code.

中文

项目概述

VinehooLLM 是一个用于与 OpenAI 兼容的语言模型进行交互的 Python 客户端库。它支持函数/工具调用等现代特性,设计简单易用,同时保持灵活性。

特性

  • 支持 OpenAI 兼容的 API
  • 支持函数/工具调用功能
  • 使用 Pydantic 模型实现类型安全
  • 自动处理函数执行
  • 可自定义 API 端点
  • 全面的错误处理

安装

pip install vinehoollm

快速开始

from vinehoollm.client import VinehooLLM, ChatMessage

# 初始化客户端
client = VinehooLLM(
    api_key="你的API密钥",
    model="gpt-4o-mini"  # 或其他兼容的模型
)

# 简单的聊天完成
messages = [
    ChatMessage(role="user", content="你好,最近如何?")
]
response = client.chat(messages)
print(response.text)

# 使用函数/工具调用
def calculator(a: int, b: int, operation: str) -> float:
    if operation == "add":
        return a + b
    elif operation == "multiply":
        return a * b
    # ... 其他操作

# 定义工具
calculator_tool = {
    "type": "function",
    "function": {
        "name": "calculator",
        "description": "执行基本的算术运算",
        "parameters": {
            "type": "object",
            "properties": {
                "a": {"type": "integer"},
                "b": {"type": "integer"},
                "operation": {
                    "type": "string",
                    "enum": ["add", "subtract", "multiply", "divide"]
                }
            },
            "required": ["a", "b", "operation"]
        }
    }
}

# 使用工具初始化客户端
client_with_tools = VinehooLLM(
    api_key="你的API密钥",
    model="gpt-4o-mini",
    tools=[calculator_tool],
    tool_handlers={"calculator": calculator}
)

文档

详细文档请参考代码中的文档字符串。

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

vinehoollm-0.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vinehoollm-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file vinehoollm-0.1.0.tar.gz.

File metadata

  • Download URL: vinehoollm-0.1.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for vinehoollm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 192207f5c19a9cdb3c0be43ac1c4a46ddd8c0f5f07166f842f3d380106219a9e
MD5 4d55d2d01208a04f84b6bc03987d083c
BLAKE2b-256 b1cd8499652ca91f311c4db901172b7e7189e850dac896ce474a11e833318fad

See more details on using hashes here.

File details

Details for the file vinehoollm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vinehoollm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for vinehoollm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65e9ac9a67cdf978832d84e6529892011d78088a3aa07e56a369223d29a0fa2b
MD5 5615d9083f5446bbe4261b943f18212a
BLAKE2b-256 43d724bf781fa176e9c28304fe2115f7cc3b132a3f6d73a7e31c1e929144e30e

See more details on using hashes here.

Supported by

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