title: ArtickBot
emoji: 🚀
colorFrom: yellow
colorTo: red
sdk: docker
pinned: false
license: mit
app_port: 7860
ArtickoBot
This project implements a chatbot using FastAPI and a pre-trained language model. The chatbot can generate responses based on user prompts and persona descriptions.
All api docs can be found here https://articko-artickbot.hf.space/docs#/
Table of Contents
Requirements
- Docker
- Hugging Face Spaces
Usage
Building the Docker Image
- The application has a Dockerfile that will run automatic and install as well as build the dependencies
Running the Docker Container
- The Dockerfile is configured to start uvicorn servers at port: 7860
- The uvicorn can be configured to use multiple workers to process/serve data
Accessing the API
You can access the API endpoints using a web browser or an HTTP client at https://articko-artickbot.hf.space/
.
The API endpoints can also be accessed from Localhost using a web browser or an HTTP client at https://127.0.0.1:7860/
.
If your machine is using proxy servers make sure that the host address of the proxy server is set to host: 127.0.0.1
at Port: 7860
otherwise the requests will be denied
Endpoints
/thread/{user_id}
Starts a new conversation thread with a provided prompt for a specific user. Remember this uses the ai persona written inside the code, for custom ai persona use endpoint /chat_thread/{user_id}
- Method:
POST
- Parameters:
user_id
(str): The unique identifier for the user.
- Request Body:
{ "msg_prompt": "User's message prompt", "msg_history": "Previous chat history (optional)" }
- Responses:
200 OK
: Successfully started a new conversation thread.{ "response": { "user_id": "user_id", "thread": { "thread_id": "unique_thread_id", "message_id": "unique_message_id", "message": { "user": "User's message prompt", "assistant": "Model's response" } } } }
400 Bad Request
: If the prompt is not provided.{ "detail": "Prompt not provided" }
500 Internal Server Error
: If an unexpected error occurs.{ "detail": "Internal Server Error" }
/chat_thread/{user_id}
Starts a new chat thread with a provided user message prompt and persona description of the AI assistant.
- Method:
POST
- Parameters:
user_id
(str): The unique identifier for the user.
- Request Body:
{ "ai_persona": "AI assistant's persona description", "msg_prompt": "User's message prompt", "msg_history": "Previous chat history (optional)" }
- Responses:
200 OK
: Successfully started a new chat thread.{ "response": { "user_id": "user_id", "thread": { "thread_id": "unique_thread_id", "message_id": "unique_message_id", "message": { "user": "User's message prompt", "assistant": "Model's response" } } } }
400 Bad Request
: If the prompt is not provided.{ "detail": "Prompt not provided" }
500 Internal Server Error
: If an unexpected error occurs.{ "detail": "Internal Server Error" }
This README provides an overview of Articko Bot and detailed information about its endpoints, including request bodies and responses.
This should give users a clear understanding of how to interact with the API and what to expect in terms of responses.
For more details on each endpoint, refer to the docstrings within the source code.
Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
License
This project is licensed under the MIT License.