8
使用场景:
- MetaGPT 服务所在的机器需要通过代理才能访问互联网
- 使用手机搭建/三方搭建的API服务中转
预期行为:可以配置MetaGPT服务的网络代理同时可以设置API服务器的自定义地址
实际测试:同时设置后网络访问失败
使用场景:
预期行为:可以配置MetaGPT服务的网络代理同时可以设置API服务器的自定义地址
实际测试:同时设置后网络访问失败
通过OPENAI_PROXY设置的代理地址,其他的网络服务均可以放通
从正常逻辑上 OPENAI_PROXY 的设置应该是类似读取 env HTTPS_PROXY
是的,OPENAI_PROXY 的逻辑和环境变量中设置代理类似。key.yaml 中你是怎样配置 OPENAI_PROXY 的?贴一下配置内容吧。
OPENAI_BASE_URL: " https://cfwus02.opapi.win/v1 " # 外网可以直接访问的API地址 OPENAI_PROXY: " http://127.0.0.1:8080 " # 内到外网的本地代理 OPENAI_API_KEY: "sk- KFCLFUv818xxxx" # API 密钥 OPENAI_API_MODEL: "gpt-4-1106-preview" # 型号
@voidking
此问题的任何解决方案都遇到同样的问题,在使用第 3 方 openai API URL 时在代理后面工作
在访问 3rd party openai API URL 之前需要使用系统代理访问互联网
@clipsheep6 @butterl 这个问题还存在吗?
@geekan使用新的设置方式后还是返回失败,测试脚本在同环境下正常返回
~/.metagpt/config2.yaml 中的 METAGPT 设置
llm:
api_type: "openai" # or azure / ollama / open_llm etc. Check LLMType for more options
model: "gpt-3.5-turbo" #"gpt-4-turbo-preview" # or gpt-3.5-turbo-1106 / gpt-4-1106-preview
base_url: "https://aigptx.top/v1" # or forward url / other llm url
api_key: "sk-xxxxxx"
proxy: "http://127.0.0.1:8080"
下面的测试代码与 $ENV 中的代理配合良好
import requests as requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
api_key = "sk-xxx"
headers = {
"Authorization": 'Bearer ' + api_key,
}
question = input("输入您的问题\n")
params = {
"messages": [
{
"role": 'user',
"content": question
}
],
"model": 'gpt-3.5-turbo'
}
response = requests.post(
"https://aigptx.top/v1/chat/completions",
headers=headers,
json=params,
stream=False
)
res = response.json()
res_content = res['choices'][0]['message']['content']
print(res_content)