conversation now dumps to file when exit
This commit is contained in:
1
lastConvo.txt
Normal file
1
lastConvo.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[ {"role": "system", "content": "You are ChatGPT, an AI that assists with conversations."} ]
|
||||||
44
openAI.v2
Executable file
44
openAI.v2
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
OPENAI_API_KEY=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
|
||||||
|
ORG_ID=org-JbtjrxWLQ3WNLtcNGXfQGp49
|
||||||
|
PROJECT_ID=proj_pCrxzr6NUI5WkiqMF5JNp2Ou
|
||||||
|
|
||||||
|
let conversation_history=$(echo "$conversation_history" | jq --arg content "$user_input" '. + [{"role": "user", "content": $content}]')
|
||||||
|
|
||||||
|
|
||||||
|
function exit_func() {
|
||||||
|
echo $conversation_history > lastConvo.txt
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
trap exit_func SIGINT
|
||||||
|
|
||||||
|
conversation_history='[
|
||||||
|
{"role": "system", "content": "You are ChatGPT, an AI that assists with conversations."}
|
||||||
|
]'
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Read user input
|
||||||
|
read -p "You: " user_input
|
||||||
|
|
||||||
|
# Add user message to the conversation history
|
||||||
|
|
||||||
|
# Make the API request with the updated conversation history
|
||||||
|
response=$(curl -s https://api.openai.com/v1/chat/completions \
|
||||||
|
-H "Authorization: Bearer $OPENAI_API_KEY" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"model": "gpt-4o",
|
||||||
|
"messages": '"$conversation_history"'
|
||||||
|
}')
|
||||||
|
|
||||||
|
# Extract the assistant's response
|
||||||
|
assistant_reply=$(echo "$response" | jq -r '.choices[0].message.content')
|
||||||
|
|
||||||
|
# Output the assistant's reply
|
||||||
|
echo "ChatGPT: $assistant_reply"
|
||||||
|
|
||||||
|
# Add assistant response to the conversation history
|
||||||
|
conversation_history=$(echo "$conversation_history" | jq --arg content "$assistant_reply" '. + [{"role": "assistant", "content": $content}]')
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user