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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
192207f5c19a9cdb3c0be43ac1c4a46ddd8c0f5f07166f842f3d380106219a9e
|
|
| MD5 |
4d55d2d01208a04f84b6bc03987d083c
|
|
| BLAKE2b-256 |
b1cd8499652ca91f311c4db901172b7e7189e850dac896ce474a11e833318fad
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65e9ac9a67cdf978832d84e6529892011d78088a3aa07e56a369223d29a0fa2b
|
|
| MD5 |
5615d9083f5446bbe4261b943f18212a
|
|
| BLAKE2b-256 |
43d724bf781fa176e9c28304fe2115f7cc3b132a3f6d73a7e31c1e929144e30e
|