Created Bing AI (markdown)
parent
630bfb5fab
commit
b83f23215c
1 changed files with 150 additions and 0 deletions
150
Bing-AI.md
Normal file
150
Bing-AI.md
Normal file
|
@ -0,0 +1,150 @@
|
|||
sample `compose.yaml`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: ghcr.io/hibobmaster/mattermost_bot:test
|
||||
container_name: mattermost_bot
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
# volumes:
|
||||
# use env file or config.json
|
||||
# - ./config.json:/app/config.json
|
||||
networks:
|
||||
- mattermost_network
|
||||
|
||||
api:
|
||||
image: hibobmaster/node-chatgpt-api:latest
|
||||
container_name: node-chatgpt-api
|
||||
volumes:
|
||||
- ./settings.js:/var/chatgpt-api/settings.js
|
||||
networks:
|
||||
- mattermost_network
|
||||
|
||||
|
||||
networks:
|
||||
mattermost_network:
|
||||
```
|
||||
|
||||
sample `.env`
|
||||
```env
|
||||
SERVER_URL="xxxxx.xxxxxx.xxxxxxxxx"
|
||||
ACCESS_TOKEN="xxxxxxxxxxxxxxxxx"
|
||||
USERNAME="@chatgpt"
|
||||
BING_API_ENDPOINT="http://api:3000/conversation"
|
||||
```
|
||||
|
||||
sample `config.json`
|
||||
```json
|
||||
{
|
||||
"server_url": "xxxx.xxxx.xxxxx",
|
||||
"access_token": "xxxxxxxxxxxxxxxxxxxxxx",
|
||||
"username": "@chatgpt",
|
||||
"bing_api_endpoint": "http://api:3000/conversation"
|
||||
}
|
||||
```
|
||||
|
||||
sample `settings.js` , replace bingAiClient->userToken with your credentials
|
||||
```js
|
||||
export default {
|
||||
// Options for the Keyv cache, see https://www.npmjs.com/package/keyv.
|
||||
// This is used for storing conversations, and supports additional drivers (conversations are stored in memory by default).
|
||||
// Only applies when using `ChatGPTClient`.
|
||||
cacheOptions: {},
|
||||
// If set, `ChatGPTClient` will use `keyv-file` to store conversations to this JSON file instead of in memory.
|
||||
// However, `cacheOptions.store` will override this if set
|
||||
storageFilePath: process.env.STORAGE_FILE_PATH || './cache.json',
|
||||
chatGptClient: {
|
||||
// Your OpenAI API key (for `ChatGPTClient`)
|
||||
openaiApiKey: process.env.OPENAI_API_KEY || '',
|
||||
// (Optional) Support for a reverse proxy for the completions endpoint (private API server).
|
||||
// Warning: This will expose your `openaiApiKey` to a third party. Consider the risks before using this.
|
||||
// reverseProxyUrl: 'https://chatgpt.hato.ai/completions',
|
||||
// (Optional) Parameters as described in https://platform.openai.com/docs/api-reference/completions
|
||||
modelOptions: {
|
||||
// You can override the model name and any other parameters here.
|
||||
// The default model is `gpt-3.5-turbo`.
|
||||
model: 'gpt-3.5-turbo',
|
||||
// Set max_tokens here to override the default max_tokens of 1000 for the completion.
|
||||
// max_tokens: 1000,
|
||||
},
|
||||
// (Optional) Davinci models have a max context length of 4097 tokens, but you may need to change this for other models.
|
||||
// maxContextTokens: 4097,
|
||||
// (Optional) You might want to lower this to save money if using a paid model like `text-davinci-003`.
|
||||
// Earlier messages will be dropped until the prompt is within the limit.
|
||||
// maxPromptTokens: 3097,
|
||||
// (Optional) Set custom instructions instead of "You are ChatGPT...".
|
||||
// (Optional) Set a custom name for the user
|
||||
// userLabel: 'User',
|
||||
// (Optional) Set a custom name for ChatGPT ("ChatGPT" by default)
|
||||
// chatGptLabel: 'Bob',
|
||||
// promptPrefix: 'You are Bob, a cowboy in Western times...',
|
||||
// A proxy string like "http://<ip>:<port>"
|
||||
proxy: '',
|
||||
// (Optional) Set to true to enable `console.debug()` logging
|
||||
debug: false,
|
||||
},
|
||||
// Options for the Bing client
|
||||
bingAiClient: {
|
||||
// Necessary for some people in different countries, e.g. China (https://cn.bing.com)
|
||||
host: '',
|
||||
// The "_U" cookie value from bing.com
|
||||
userToken: '',
|
||||
// If the above doesn't work, provide all your cookies as a string instead
|
||||
cookies: '',
|
||||
// A proxy string like "http://<ip>:<port>"
|
||||
proxy: '',
|
||||
// (Optional) Set to true to enable `console.debug()` logging
|
||||
debug: true,
|
||||
},
|
||||
chatGptBrowserClient: {
|
||||
// (Optional) Support for a reverse proxy for the completions endpoint (private API server).
|
||||
// Warning: This will expose your access token to a third party. Consider the risks before using this.
|
||||
reverseProxyUrl: 'https://chatgpt.duti.tech/api/conversation',
|
||||
// Access token from https://chat.openai.com/api/auth/session
|
||||
accessToken: '',
|
||||
// Cookies from chat.openai.com (likely not required if using reverse proxy server).
|
||||
cookies: '',
|
||||
// A proxy string like "http://<ip>:<port>"
|
||||
proxy: '',
|
||||
// (Optional) Set to true to enable `console.debug()` logging
|
||||
debug: false,
|
||||
},
|
||||
// Options for the API server
|
||||
apiOptions: {
|
||||
port: process.env.API_PORT || 3000,
|
||||
host: process.env.API_HOST || 'localhost',
|
||||
// (Optional) Set to true to enable `console.debug()` logging
|
||||
debug: false,
|
||||
// (Optional) Possible options: "chatgpt", "chatgpt-browser", "bing". (Default: "chatgpt")
|
||||
clientToUse: 'bing',
|
||||
// (Optional) Set this to allow changing the client or client options in POST /conversation.
|
||||
// To disable, set to `null`.
|
||||
perMessageClientOptionsWhitelist: {
|
||||
// The ability to switch clients using `clientOptions.clientToUse` will be disabled if `validClientsToUse` is not set.
|
||||
// To allow switching clients per message, you must set `validClientsToUse` to a non-empty array.
|
||||
validClientsToUse: ['bing', 'chatgpt', 'chatgpt-browser'], // values from possible `clientToUse` options above
|
||||
// The Object key, e.g. "chatgpt", is a value from `validClientsToUse`.
|
||||
// If not set, ALL options will be ALLOWED to be changed. For example, `bing` is not defined in `perMessageClientOptionsWhitelist` above,
|
||||
// so all options for `bingAiClient` will be allowed to be changed.
|
||||
// If set, ONLY the options listed here will be allowed to be changed.
|
||||
// In this example, each array element is a string representing a property in `chatGptClient` above.
|
||||
chatgpt: [
|
||||
'promptPrefix',
|
||||
'userLabel',
|
||||
'chatGptLabel',
|
||||
// Setting `modelOptions.temperature` here will allow changing ONLY the temperature.
|
||||
// Other options like `modelOptions.model` will not be allowed to be changed.
|
||||
// If you want to allow changing all `modelOptions`, define `modelOptions` here instead of `modelOptions.temperature`.
|
||||
'modelOptions.temperature',
|
||||
],
|
||||
},
|
||||
},
|
||||
// Options for the CLI app
|
||||
cliOptions: {
|
||||
// (Optional) Possible options: "chatgpt", "bing".
|
||||
// clientToUse: 'bing',
|
||||
},
|
||||
}
|
||||
```
|
Loading…
Reference in a new issue