v语言如何发出curl请求,如何进行chatGPT调用

调用结果第一次,让ai帮忙写一个小渔材的故事

调用第二次,让chatGPT3帮忙写作文

调用第三次,这是用v语言写的脚本,重点是刚入坑还不到一天时间


亲的们,事实证明,v语言真的很优秀,我才刚入坑不到一天的时间,就学会了,如何调用ai机器人,如何与chatGPT3接口进行通信.这个例子在全网目前暂时都是没有的,在此之前,我主要语言是php,调用Ai用的是curl命令.

如:
curl https://api.openai.com/v1/completions 
  -H 'Content-Type: application/json' 
  -H "Authorization: Bearer sk-hZwoLYz***************B5L" 
  -d '{
  "model": "text-davinci-003",
  "prompt": "请写一篇小渔村的故事",
  "max_tokens": 4000,
  "temperature": 1.0
}' 
--insecure


而在php中,因为天朝防火墙的原因,所以,很难调用成功.当然,php中写curl调用也忒简单了.


use didiyuesaocomconfig;

// 举个例子
class gpt
{
    // 优先重载
    public static function ask($txt)
    {
        $api_key  = configgpt::api_key();
        $turl     = 'https://api.openai.com/v1/completions';
        $header   = [];
        $header[] = "Content-Type: application/json";
        $header[] = "Authorization: Bearer $api_key";

        $req          = [];
        $req['model'] = 'text-davinci-003';
        // $req['model'] = 'text-davinci-002';
        // $req['model']       = 'text-curie-001';
        // $req['model']       = 'text-ada-001';
        // $req['model']       = 'text-babbage-001';
        $req['prompt']      = $txt;
        $req['max_tokens']  = 1000;
        $req['temperature'] = 0.8;

        // var_dump($req,json_encode($req),$header,$turl);exit;
        $opt                     = [CURLOPT_TIMEOUT => 5, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_RETURNTRANSFER => 1];
        $opt[CURLOPT_POSTFIELDS] = json_encode($req);

        $res = myhttp::curl($turl, 'get', '', $header, $opt);
        if ($res) {
            return json_decode($res, 1);
        }
    }

    public static function exec($txt)
    {
        $api_key = configgpt::api_key();
        $cli     = <<

其中,用到了两种调用方式,一种是原生的脚本调用,但是性能不好.,另一种,性能好的是用shell_exec($cli),但是这个,会导致服务器超时,崩溃.多调几次就没得玩了.性能最好的是passthru($cli);

做为一个老的PHPer,苦于PHP的性能问题久矣,刚好这两天不是学了v语言吗,

让我们试一试,vlang是否真的不错?

vlang之v语言安装与编译过程都不复杂不会的同学可以问我,刚入坑

用V语言调用Ai机器人,连接chatGPT接口之demo

源代码如下:

// 以下是vlang,和golang有点像,但不是,而是V语言,
// 说实话,V语言编程真的是超级简单又优雅
import net.http
import x.json2 as json
import strings

const api_key = "sk-****************B5L"
const chatgpt_url = "https://api.openai.com/v1/completions"

// 示例使用
fn main() {
    mytxt:="请写一篇小渔村的故事"

    obj := {
        "model":json.Any("text-davinci-003"),
        "prompt":json.Any(mytxt),
        "max_tokens":1000,
        "temperature":1.0
    }

    enc:=json.Encoder{
		escape_unicode: false
	}
    mut sb := strings.new_builder(20)
	defer {
		unsafe { sb.free() }
	}
    enc.encode_value(obj, mut sb)!
    // print("obj to string :r
")
    // print(sb.str())
    // print("r
")

    mut h:=http.Header{}
    h.set(.content_type,"application/json")
    h.set(.accept,"*/*")
    // h.set(.content_type,"application/x-www-form-urlencoded")
    h.set(.authorization,"Bearer "+api_key)
    // print(h)

    mut cc:=http.FetchConfig{}
    cc.url=chatgpt_url
    cc.header=h
    cc.method=.post
    // cc.data = '{"model":"text-davinci-003","prompt":"请写一首诗,赞美我的祖国","max_tokens":4000,"temperature":1.0}'
    cc.data = sb.str()

    // print(cc)

    res:=http.fetch(cc)!
    print(mytxt+"r
")
    print(res)

}

vlang的基础类库也很简单在vlang目录下的lib+example都是用V语言写的


用vlang直接编译生成静态的二进制ai脚本,类似于ai.exe

如果你也刚好在寻找PHP的升级替代方案,不妨学习一下v语言,它比golang简单得多,当然,go语言会遇到的坑,换成rust语言也是一样会遇到,所以,换成v语言也是会遇到 ,但是v语言上学特别快啊,只要看vlang目录的example+lib文件,里面有几百个脚本都是用v语言写的最好的demo,从这里开始,你就能感觉到v语言的语法,到底有多么的精简,没有多余的表达,当然,最最最通俗易懂的,还是php语言,关键是php的底层重构不了,所以,就算用上php8性能也是不如静态编译语言,所以,要么学golang,要么学python,要么学c语言,但是c语言成长,真的是路线特别长,就算学了好久,也还是很难做出自己满意的东西.

但是v语言不一样,它可以直接吸收c语言源代码,直接运行,也能直接与go语言互相转换,还能直接与js语言互相转换,也能互相调用.

v语言(vlang)能出二进制exe文件,也能出dll共享模块 ,dll也能被PHP加载后,调用.

欢迎各种精力充沛的小伙伴,一起入坑哦,我现在是刚入坑2天的状态,感觉很亢奋呐,今晚要不要失眠呢?[灵光一闪]

页面更新:2024-03-20

标签:网目   语言   渔村   源代码   静态   机器人   脚本   性能   简单   故事

1 2 3 4 5

上滑加载更多 ↓
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top