This repository contains a Python script for a Telegram bot that integrates with OpenAI's API or other compatible REST APIs (such as Jan https://jan.ai/). It's designed to provide an interactive AI experience through Telegram, using simple chat functionalities.
- Easy Interaction: Users can interact with the bot using a
/chat
command followed by their message. - Flexible API Integration: Compatible with OpenAI and similar REST APIs.
- Customizable Responses: The bot can be configured to modify its behavior, response tone, and other settings.
- Python 3.x
python-telegram-bot
library- OpenAI API or a compatible API
-
Clone the repository:
git clone https://github.com/tj31moll/AItelegramchatbot
-
Install the required packages:
pip install -r requirements.txt
-
Set up your OpenAI API key and Telegram Bot Token in the script.
Run the script:
python bot.py
- Bot Token: Replace
your-bot-token
in the script with your actual Telegram Bot Token. - API Key: Set up your OpenAI API key or the key for an alternative API.
- Allowed Chat IDs: Define the chat IDs that are allowed to interact with the bot for security.
- System Prompt: Adding a System PromptSystem Prompt Configuration: To customize the behavior of your bot, you can add a system prompt. This prompt acts as an initial input to the AI model, influencing how the bot responds to user messages.To add a system prompt, locate the section in the script where the chat function is defined.Add a variable to hold your prompt, like system_prompt = "Your system prompt here".When creating the completion request to the OpenAI API, include the system_prompt as part of the input. For example:
completion = client.chat.completions.create(
model="local-model",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_message}
],
temperature=0.7,)
- This system prompt can include instructions or a specific tone/style you want the bot to follow, setting the context for its responses.ExampleHere's an example of setting a system prompt that instructs the bot to be friendly and informative:system_prompt = "Be friendly and informative in your responses."Remember, the system prompt is a powerful tool to guide the interaction flow and style of your bot. Feel free to experiment with different prompts to see how they affect the bot's behavior.
- Note that only certain transfomrers allow system prompts. I have tested this with the Phi-2 model and transformer.
Contributions, issues, and feature requests are welcomed!
Distributed under the MIT License. See LICENSE
for more information.
Jan builds on top of other open-source projects: License - Jan is free and open source, under the AGPLv3 license. OpenAI Python and libraries