pycharm 导入Auto-GPT(墙内)

引言

AutoGPT 是让 GPT-4 自动化的驱动,通过设定5个目标,自动搜索数据并喂给GPT,同时分析返回结果。

准备工作

在接入 AutoGPT 之前,你需要完成以下几个步骤:

  1. 安装 PyCharm
  2. 科学上网:clash
1
pip install openai-autogpt

安装Auto-GPT

  • 打开终端执行
1
git clone https://github.com/Torantulino/Auto-GPT
  • 打开pycharm 导入项目
  • 将.env.template 重命名为 .env

  • 修改.env 的配置文件

1
2
3
OPENAI_API_KEY=  #获取地址 https://platform.openai.com/
PINECONE_API_KEY= #获取地址 https://www.pinecone.io
GOOGLE_API_KEY= #获取地址 请参考 https://zhuanlan.zhihu.com/p/621746507

关键 设置代理

    • 打开 tiktoken 下面的load.py ,然后修改 read_file 方法,增加代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def read_file(blobpath: str) -> bytes:
if not blobpath.startswith("http://") and not blobpath.startswith("https://"):
try:
import blobfile
except ImportError:
raise ImportError(
"blobfile is not installed. Please install it by running `pip install blobfile`."
)
with blobfile.BlobFile(blobpath, "rb") as f:
return f.read()
# avoiding blobfile for public files helps avoid auth issues, like MFA prompts
proxies = {
'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890'
}
return requests.get(blobpath, proxies=proxies).content
    • 打开 openai 下面的 api_requestor.py,修改 request_raw 方法为
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
def request_raw(
self,
method,
url,
*,
params=None,
supplied_headers: Optional[Dict[str, str]] = None,
files=None,
stream: bool = False,
request_id: Optional[str] = None,
request_timeout: Optional[Union[float, Tuple[float, float]]] = None,
) -> requests.Response:
abs_url, headers, data = self._prepare_request_raw(
url, supplied_headers, method, params, files, request_id
)

if not hasattr(_thread_context, "session"):
_thread_context.session = _make_session()

try:
proxies = {
'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890'
}

result = _thread_context.session.request(
method,
abs_url,
headers=headers,
data=data,
files=files,
stream=stream,
proxies=proxies,
timeout=request_timeout if request_timeout else TIMEOUT_SECS,
)
except requests.exceptions.Timeout as e:
raise error.Timeout("Request timed out: {}".format(e)) from e
except requests.exceptions.RequestException as e:
raise error.APIConnectionError(
"Error communicating with OpenAI: {}".format(e)
) from e
util.log_debug(
"OpenAI API response",
path=abs_url,
response_code=result.status_code,
processing_ms=result.headers.get("OpenAI-Processing-Ms"),
request_id=result.headers.get("X-Request-Id"),
)
# Don't read the whole stream for debug logging unless necessary.
if openai.log == "debug":
util.log_debug(
"API response body", body=result.content, headers=result.headers
)
return result

最后

展示一下成果

PS:之后在遇到问题,请直接问 gpt-4

题外话

最近ai 特别火,拿Stable-Diffusion 创作一副,其他的太过XX,就不放了

坚持原创技术分享,您的支持将鼓励我继续创作!