如何快速写好邮件之二 --- chatGPT api

如下,可以用openai的python API,先写一个python脚本。 然后根据需求在emacs中调用,如此即可。 从此,

再没有心的沙漠
再没有爱的荒原
死神也望而却步
幸福之花处处开遍…

import openai

def get_response(query):
    openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

    completion = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": query}])
    return completion['choices'][0]['message']['content']

def get_query_email(text):
    return "Please polish this email: {}".format(text)

def get_query_paper(text):
    return "Please polish academically: {}".format(text)

def main():
    import argparse
    parser = argparse.ArgumentParser(description = 'polish by chatgpt')

    parser.add_argument('--text', dest='text', help='text')
    parser.add_argument('--type', dest='type', help='type')

    args = parser.parse_args()

    try:
        query = ""
        if args.type == 'email':
            query = get_query_email(args.text)
        elif args.type == 'paper':
            query = get_query_paper(args.text)
        response = get_response(query)
        print(response)
    except Exception:
        print("Error")

if __name__ == '__main__':
    main()
(defun polish-selected-by-chatGPT()
  (interactive)
  (if (evil-visual-state-p)
      (let ((beg (region-beginning))
            (end (region-end)))
        (progn
          (setq text (buffer-substring-no-properties beg end))
          (setq output (shell-command-to-string (format "python3 ~/bin/polish_chatgpt_api.py --type email --text \"%s\"" (replace-in-string "\"" "\\\"" text))))
          (evil-change beg end)
          (insert output)
          (evil-visual-state)))
    ()))
石见 石页 /
在共享协议(CC)下发布于
类别: technology 
标签: email  chatGPT  中