Skip to content

praysml/hugging-chat-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hugging-chat-api

English | 简体中文

HuggingChat Python API

PyPi Support_Platform Downloads

Leave a star :)

Recently new updates:

  • Change LLMs supported. See more at Soulter#56 (v0.0.9)

When you use this project, it means that you have agreed to the following two requirements of the HuggingChat:

  1. AI is an area of active research with known problems such as biased generation and misinformation. Do not use this application for high-stakes decisions or advice.
  2. Your conversations will be shared with model authors.

Server resources are precious, it is not recommended to request this API in a high frequency.

(Hugging Face's CTO🤗 just liked the suggestion)

Authentication (Required Now)

Get Cookies

from hugchat.login import Login

# login
sign = Login(email, passwd)
cookies = sign.login()
sign.saveCookiesToDir(cookie_path_dir)

# load cookies from usercookies/<email>.json
sign = login(email, None)
cookies = sign.loadCookiesFromDir(cookie_path_dir) # This will detect if the JSON file exists, return cookies if it does and raise an Exception if it's not.

Usage

Basic mode

pip install hugchat
from hugchat import hugchat
from hugchat.login import Login

# Log in to huggingface and grant authorization to huggingchat
sign = Login(email, passwd)
cookies = sign.login()

# Save cookies to the local directory
cookie_path_dir = "./cookies_snapshot"
sign.saveCookiesToDir(cookie_path_dir)

# Create a ChatBot
chatbot = hugchat.ChatBot(cookies=cookies.get_dict())  # or cookie_path="usercookies/<email>.json"
print(chatbot.chat("HI"))

# Create a new conversation
id = chatbot.new_conversation()
chatbot.change_conversation(id)

# Get conversation list
conversation_list = chatbot.get_conversation_list()

The chat() function receives these parameters:

  • text: Required[str].
  • temperature: Optional[float]. Default is 0.9
  • top_p: Optional[float]. Default is 0.95
  • repetition_penalty: Optional[float]. Default is 1.2
  • top_k: Optional[int]. Default is 50
  • truncate: Optional[int]. Default is 1024
  • watermark: Optional[bool]. Default is False
  • max_new_tokens: Optional[int]. Default is 1024
  • stop: Optional[list]. Default is ["</s>"]
  • return_full_text: Optional[bool]. Default is False
  • stream: Optional[bool]. Default is True
  • use_cache: Optional[bool]. Default is False
  • is_retry: Optional[bool]. Default is False
  • retry_count: Optional[int]. Number of retries for requesting huggingchat. Default is 5

CLI mode

version 0.0.5.2 or newer

Simply run the following command in your terminal to start the CLI mode

python -m hugchat.cli

Commands in cli mode:

  • /new : Create and switch to a new conversation.
  • /ids : Shows a list of all ID numbers and ID strings in current session.
  • /switch <id> : Switches to the ID number passed.
  • /exit : Closes CLI environment.
  • /llm: get available models you can switch to
  • /llm [index] switch model to given models

Disclaimers

This is not an official Hugging Face product. This is a personal project and is not affiliated with Hugging Face in any way. Don't sue us.

About

HuggingChat Python API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%