Skip to main content

DeepAnything is a project that provides DeepSeek R1's deep thinking capabilities for various large language models (LLMs).

Project description

DeepAnything

Python Version License 中文版

DeepAnything is a project that provides DeepSeek R1's deep thinking capabilities for various large language models (LLMs).

Key Features

  • Provides an interface similar to OpenAI
  • Supports using various models compatible with the OpenAI API as response models and thinking models
  • Offers a server that provides a simple configuration to obtain an API interface compatible with the OpenAI API, and can be called using the official OpenAI SDK.
  • Supports using QWQ-32b as a thinking model

Installation Guide

Install via pip:

pip install deepanything

Quick Start

1. Integrate into Code

Chat Completion

from deepanything.ReasonClient import DeepseekReasonClient
from deepanything.ResponseClient import OpenaiResponseClient
from deepanything.DeepAnythingClient import DeepAnythingClient

think_client = DeepseekReasonClient(
    base_url="https://api.siliconflow.cn/v1",
    api_key="sk-xxxxxxxxx"
)

response_client = OpenaiResponseClient(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key="sk-xxxxxxxxxx",
)

da_client = DeepAnythingClient(
    reason_client=think_client,
    response_client=response_client,
    reason_prompt="<Think>{}</Think>"
)

completions = da_client.chat_completion(
    messages=[
        {
            "role": "user",
            "content": "你好"
        }
    ],
    reason_model="Pro/deepseek-ai/DeepSeek-R1",
    response_model="qwen-max-latest",
    show_model="R1-qwen-max"
)

Streaming Call

stream = da_client.chat_completion(
    messages=[
        {
            "role": "user",
            "content": "你好"
        }
    ],
    reason_model="Pro/deepseek-ai/DeepSeek-R1",
    response_model="qwen-max-latest",
    show_model="R1-qwen-max",
    stream=True
)

for chunk in stream:
    print(chunk)

Asynchronous Usage

from deepanything.ReasonClient import AsyncDeepseekReasonClient
from deepanything.ResponseClient import AsyncOpenaiResponseClient
from deepanything.DeepAnythingClient import AsyncDeepAnythingClient
import asyncio

think_client = AsyncDeepseekReasonClient(
    base_url="https://api.siliconflow.cn/v1",
    api_key="sk-xxxxxxxxx"
)

response_client = AsyncOpenaiResponseClient(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key="sk-xxxxxxxxxx",
)

da_client = AsyncDeepAnythingClient(
    reason_client=think_client,
    response_client=response_client,
    reason_prompt="<Think>{}</Think>"
)

async def main():
    completions = await da_client.chat_completion(
        messages=[
            {
                "role": "user",
                "content": "你好"
            }
        ],
        reason_model="Pro/deepseek-ai/DeepSeek-R1",
        response_model="qwen-max-latest",
        show_model="R1-qwen-max"
    )
    print(completions)

asyncio.run(main())

2. Use as a Server

 python -m deepanything --host host --port port --config config.json
Parameter Description
--host Server listening address, will override the setting in config.json
--port Server listening port, will override the setting in config.json
--config Configuration file path

Configuration File Format

Below is an example of a configuration file:

{
  "host" : "0.0.0.0",
  "port" : 8080,
  "reason_clients": [
    {
      "name" : "siliconflow",
      "type" : "deepseek",
      "base_url" : "https://api.siliconflow.cn/v1",
      "api_key" : "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  ],
  "response_clients": [
    {
      "name" : "qwen",
      "type" : "openai",
      "base_url" : "https://dashscope.aliyuncs.com/compatible-mode/v1",
      "api_key" : "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  ],
  "models": [
    {
      "name": "R1-Qwen-max",
      "reason_client" : "siliconflow",
      "response_client" : "qwen",
      "reason_model": "Pro/deepseek-ai/DeepSeek-R1",
      "response_model" :  "qwen-max-latest"
    }
  ],
  "api_keys": [
    "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  ]
}

Detailed Explanation

  • reason_clients: Configuration for thinking models, currently supports deepseek and openai types. When the type is openai, deepanything directly uses the model's output as the thinking content, and it is recommended to use qwq-32b in this case.
  • response_clients: Configuration for response models, currently only supports the openai type.
  • api_keys: API keys for user authentication. When left blank or an empty list, the server does not use API keys for authentication.

License

This project is licensed under the MIT License

Contact Us

Email: 1737636624@qq.com

GitHub Issues: https://github.com/junity233/deep-anything/issues

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

deepanything-0.1.2.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

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

deepanything-0.1.2-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file deepanything-0.1.2.tar.gz.

File metadata

  • Download URL: deepanything-0.1.2.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for deepanything-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b964cc6aa48530cfe13fd6f37ad590fcc5854e48d9d4c1d06e54aa4a68014201
MD5 33e1979e1f64e3fd840718d668f1fea6
BLAKE2b-256 a9cac45ce0a3805925f8858ac74f8e58c643815773378eb67b47d9500e88a119

See more details on using hashes here.

File details

Details for the file deepanything-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: deepanything-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.13

File hashes

Hashes for deepanything-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 465274759650da6e13d34ed08968bba834b39901705a279630242a300d8ee515
MD5 7af0fd5496313300f292cfd61ea61526
BLAKE2b-256 cc82e847e0d572d79e0ef65bcee1d47dcc11c9692f2bfb2fb9ba086aef2a58b8

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