# SalesGPT **Repository Path**: eternal_rider/SalesGPT ## Basic Information - **Project Name**: SalesGPT - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: docs - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-11 - **Last Updated**: 2025-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

[](https://pepy.tech/project/salesgpt)
[:
#### For Windows:
- Open Command Prompt or PowerShell.
- Navigate to your project directory: `cd path\to\your\project`
- Create a virtual environment: `python -m venv env`
- Activate the virtual environment: `.\env\Scripts\activate`
#### For Mac:
- Open Terminal.
- Navigate to your project directory: `cd path/to/your/project`
- Create a virtual environment: `python3 -m venv env`
- Activate the virtual environment: `source env/bin/activate`
To deactivate a virtual environment after you have stopped using it simply run: `deactivate`
Clone the SalesGPT Github repository:
`git clone https://github.com/filip-michalsky/SalesGPT.git`
Navigate to the repository and in case you used a different venv name rename the VENV variable in the Makefile:
`cd SalesGPT`
If you simply want to work with SalesGPT as an end user without local changes you can install from PyPI using:
`pip install salesgpt`
If you want to work on your own version of SalesGPT or contribute to our open-source version install by activating your virtual environment as aforementioned and then run:
`make setup`
For more detailed installation steps along with the reasons for doing each please visit CONTRIBUTING.md
Finally, for use of SalesGPT create an `.env` file just as our `.env.example` and put your API keys there by specifying a new line just as we have done.
## Run an Example AI Sales agent
Navigate into the SalesGPT directory:
`cd SalesGPT`
SalesGPT can be run in various ways, tailored to your preferences and setup. Below are the methods available:
### 1. Using Docker
For those who prefer containerization, Docker offers an isolated and consistent environment. Ensure Docker is installed on your system by following the [official Docker installation guide](https://docs.docker.com/get-docker/).
To run SalesGPT with Docker, execute the following steps:
1. **Start the Application with Docker Compose:**
Use the command below to start SalesGPT in detached mode:
```
docker-compose up -d
```
If you've made changes and want them to reflect, append `--build` to the command above.
2. **Stopping the Application:**
To stop and remove all running containers related to SalesGPT, execute:
```
docker-compose down
```
**Troubleshooting:**
- **Clean Up Docker Resources:** If you encounter errors, you can clean up Docker by removing all unused containers, networks, images, and volumes with caution:
```
docker system prune --volumes
```
- **Rebuild Without Cache:** To rebuild and start the services afresh without using cache, run:
```
docker-compose up -d --build --no-cache
```
After successful setup, access SalesGPT at [localhost:3000/chat](http://localhost:3000/chat) in your browser.
### 2. Direct User Interface Launch
If Docker is not part of your workflow, you can directly launch the SalesGPT user interface. Please refer to the `README.md` file in the frontend directory for instructions on setting up the UI locally.
### 3. Using the Terminal
For terminal enthusiasts or automation scripts, run SalesGPT with the following command:
`python run.py --verbose True --config examples/example_agent_setup.json`
### 4. Running Only the Backend
For those who wish to integrate SalesGPT's backend with their own user interface or application, running only the backend is a straightforward process. This allows you to leverage the powerful features of SalesGPT while maintaining full control over the user experience.
To run only the backend of SalesGPT, follow these steps:
1. **Start the Backend Service:**
Use the following command to start the backend service. This will initiate the server on port 8000 by default, making the API accessible:
```
docker-compose up -d backend
```
If you need to rebuild the backend image, perhaps after making changes, you can add `--build` to the command above.
2. **Accessing the Backend:**
With the backend running, you can access the API endpoints at `http://localhost:8000`. Refer to the API documentation for details on available endpoints and their usage.
3. **Stopping the Backend:**
To stop the backend service, execute:
```
docker-compose stop backend
```
If you wish to remove the backend container entirely, use:
```
docker-compose down
```
This setup is ideal for developers looking to integrate SalesGPT's backend into custom applications or those who prefer to use a different frontend technology.
## Test your setup
1. Activate your environment as described above. (run `source env/bin/activate` on Unix-like systems and `.\env\Scripts\activate` on Windows. Replace *env* with the name of your virtual environment)
2. cd `SalesGPT` If you haven't already navigated to the SalesGPT home directory
3. `make test`
All tests should pass. Warnings can be ignored.
## Repair your setup
Regular updates are added to the SalesGPT repository. If your code is not working please check the current README file for possible changes in launch. With updates often extra environment variables are added, which are however required for certain functionality. Please check current .env.example file.
For any problems you can not solve please don't hesitate to reach out to our discord #support channel.
## Uninstall SalesGPT
To delete the virtual environment you used for SalesGPT programming and your SalesGPT repository from your system navigate to the directory where you installed your virtual environment and cloned SalesGPT and run:
`make clean`
# Documentation
We leverage the [`langchain`](https://github.com/hwchase17/langchain) library in this implementation, specifically [Custom Agent Configuration](https://langchain-langchain.vercel.app/docs/modules/agents/how_to/custom_agent_with_tool_retrieval) and are inspired by [BabyAGI](https://github.com/yoheinakajima/babyagi) architecture.
## LangSmith tracing
LangSmith is a platform for building production-grade LLM applications.
It lets you debug, test, evaluate, and monitor chains and intelligent agents built on any LLM framework and seamlessly integrates with LangChain, the go-to open source framework for building with LLMs.
LangSmith is developed by LangChain, the company behind the open source LangChain framework.
To switch on the LangSmith tracing you have to do the following steps:
1. [Create a LangSmith account](https://smith.langchain.com/)
2. [Create an API key in settings](https://smith.langchain.com/settings)
3. Add you API key and Project name from LangSmith account to .env file or run.py module
4. Switch on the "LANGCHAIN_TRACING_V2" setting in run.py to "true"
5. That's it. You'll get better understanding of your agents and chaing performance in LangChain admin panel.
For futher reading take a look at the [docs](https://docs.smith.langchain.com/)
# Roadmap
1) Improve SalesGPT observability
2) Enhance prompt versioning
3) Add prompt evaluation
4) Write more documentation
5) Better code documentation
6) Refactor
7) Add tutorials on Langsmith, PromptArmor, PromptLayer etc.
8) ~~Improve reliability of the parser [issue here](https://github.com/filip-michalsky/SalesGPT/issues/26) and [here](https://github.com/filip-michalsky/SalesGPT/issues/25)~~
9) Improve Deployment Instructions
10) Calling Functionality - sample code
11) Enterprise-Grade Security - integration with [PromptArmor](https://promptarmor.com/) to protect your AI Sales Agents against security vulnerabilities
12) LLM evaluations
13) Resolve tickets and PRs (ongoing)
14) Add example implementation of OpenAI functions agent[issue here](https://github.com/filip-michalsky/SalesGPT/issues/17)
15) Add support for multiple tools [issue here](https://github.com/filip-michalsky/SalesGPT/issues/10)
16) Add an agent controller for when stages need to be traversed linearly without skips [issue here](https://github.com/filip-michalsky/SalesGPT/issues/19)
17) Add `tool_getter` to choose a tool based on vector distance to the tasks needed to be done
18) What tools should the agent have? (e.g., the ability to search the internet)
19) Add the ability of Sales Agent to interact with AI plugins on your website (.well-known/ai-plugin.json)
20) More SalesGPT examples
21) Add PromptLayer for prompt evaluation
22) Increase prompt security to prevent unauthorized access to the system prompt or changes to the bot's behavior
23) Add LangSmith Tracing for testing, evaluation and debugging chains
# About the Team
Lead Maintaner: Filip Michalsky
- [Contact Email](mailto:filipmichalsky@gmail.com)
- [LinkedIn](https://www.linkedin.com/in/filip-michalsky/)
- Follow us on X at [@FilipMichalsky](https://twitter.com/FilipMichalsky)
Our Support Team:
- AI Engineering: Honza Michna ([LinkedIn](https://www.linkedin.com/in/jan-michna-998b78132/))
- Software Engineer: Illia Makovoz
# How to Contribute
Contributions are highly encouraged! Please fork and submit a PR.