Skip to main content

大模型对话标准接口。支持模板对话、JSON对话等。

Project description

openai-simple-chat

大模型对话标准接口。支持模板对话、JSON对话等。

安装

pip install openai-simple-chat

环境变量配置项

  • OPENAI_BASE_URL # 支持openai兼容服务
  • OPENAI_API_KEY
  • OPENAI_CHAT_MODEL
  • OLLAMA_BASE_URL # 支持ollama兼容服务
  • OLLAMA_API_KEY
  • OLLAMA_CHAT_MODEL
  • OPENAI_SIMPLE_CHAT_TEMPLATE_ENGINE # 其它设置
  • OPENAI_SIMPLE_CHAT_LOGGER_NAME

使用方法

test_templates/calc.txt

以标准json返回以下计算结果数值【输出格式为:{"result": xx}】:{{expression}}

main1.py

import openai_simple_chat

llm = openai_simple_chat.OpenAIChatService(
    template_engine=openai_simple_chat.get_template_prompt_by_jinjia2,
    template_root="test_templates",
)
response, response_info = llm.jsonchat(
    template="calc.txt",
    expression="1+1",
)
assert response
assert response_info
assert isinstance(response, dict)
assert isinstance(response_info, dict)
assert "result" in response
assert response["result"] == 2

# 注意,如果是stream_chat的话,response可能为空字符串。

main2.py

import openai_simple_chat

llm = openai_simple_chat.OllamaChatService(
    template_engine=openai_simple_chat.get_template_prompt_by_jinjia2,
    template_root="test_templates",
)
response, response_info = llm.jsonchat(template="calc.txt", expression="1+1")
assert response
assert response_info
assert isinstance(response, dict)
assert isinstance(response_info, dict)
assert "result" in response
assert response["result"] == 2

版本记录

v0.1.0

  • 版本首发。
  • 支持模板对话。
  • 支持json对话。
  • 兼容openai和ollama服务。
  • 兼容django和jinja2模板引擎。
  • jsonchat已经对deekseek输出的think过程输出进行处理。

v0.1.1

  • OpenAIService服务支持max_tokens参数。

v0.1.2

  • 添加:get_template_prompt_by_django_template_source_engine提示词模板引擎。
  • 改进:更灵活的服务初始化构造和调用。

v0.1.3

  • 修正:直接使用template生成提示词而无需prompt的情况下报错的问题。

v0.1.4

  • 添加:动态计算max_tokens的机制。
  • 修改:移除max_input_tokens和max_output_tokens参数。
  • 修正:openai的streaming_chat问题。
  • 修正:ollama的对话问题。

v0.1.5

  • 优化:非标准json输出的处理,支持半开json块的解析。

v0.1.8

  • 优化:添加extra_messages参数。

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

openai-simple-chat-0.1.8.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

openai_simple_chat-0.1.8-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file openai-simple-chat-0.1.8.tar.gz.

File metadata

  • Download URL: openai-simple-chat-0.1.8.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for openai-simple-chat-0.1.8.tar.gz
Algorithm Hash digest
SHA256 bfed634b4375ca1491f8f504fe4cd1d3884721ea5583dfecfac07e6084e83193
MD5 05f6c5ea39af2a90d77398b70ef0a599
BLAKE2b-256 7bfaae20840a700a3fe57267f004d5f47b6d9fc2c480078c01ddead1e3e0996a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openai_simple_chat-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7f16c59db94e3a5b279a7bab9f6f2a0b818ba5bbe023330e781978786ebf1381
MD5 a7da46f2223794314d814fb641de7514
BLAKE2b-256 b948b030261fd17eb3d978c8a71a0346b54ae9f3d4af52c49335a56c01e84613

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