首页 > 其他分享 >使用Groq的API实现可以持续会话。.md

使用Groq的API实现可以持续会话。.md

时间:2024-04-25 14:56:39浏览次数:43  
标签:md resultstr content historyChat API Groq history

使用Groq的API实现可以持续会话。

文章

先说结论:
AI没有我之前想的那么聪明。

再说结果:
好处:可以实现比较完美的上下文持续会话。
坏处:吃tokens.仍然需要联网和科学。

后面准备部署到本地的模型,70B的模型才20-40g左右。两张P40或者M40就搞定了。
在准备买板子,争取可以六张卡,实现144G的显存。

这里提醒一下最好是用X99的寨版,不要用技嘉、EVGA和华硕的板子,这些都不支持开ABOVE 4G。
寨板也建议用支持DDR3服务器内存的。原因嘛是因为DDR4的内存太贵了,到时候万一显存不够,可以使用CPU版本的,虽然到时候会慢点,但是至少可以跑不是吗?搞个双路,开满线程,例如双路2699V3,应该也还可以。为啥不用2696V3,还是因为软妹币呗(其实我有几个,在低价的时候买的)

进入正题:

1、Groq简介

不赘述了,既然你看到这篇文章了,说明你是跟着这个关键词来的,我就不赘述了。有不是很了解的,可以到官方网站自己浏览。
https://console.groq.com/playground?model=llama3-70b-8192

2、安装和申请API_Key

同样是官方,就一行命令,我用的Anaconda,在环境是用命令行进行安装

再到官方网站上申请API_KEY

3、示例


import os

from groq import Groq

client = Groq(
    api_key=os.environ.get("GROQ_API_KEY"),
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "Explain the importance of fast language models",
        }
    ],
    model="mixtral-8x7b-32768",
)

print(chat_completion.choices[0].message.content)

4、示例的问题

按照上述示例,都是单次会话,没有上下文。

5、参考

enter description here
enter description here

参考截图右下角的‘view code’,实现如下:

1、Step 1 导入模块


from groq import Groq

Step 2 编写函数

def ChatContext(prompt:'str',history:'list',groqClient,modelid='llama3-70b-8192',temperature=1,max_tokens=8192,top_p=1,stream=True,stop=None):
    history.append({'role':'user','content':prompt})
    completion = groqClient.chat.completions.create(
        model=modelid,
        messages=history,
        temperature=temperature,
        max_tokens=max_tokens,
        top_p=top_p,
        stream=stream,
        stop=stop
    )
    resultstr=''
    for chunk in completion:
        if chunk.choices[0].delta.content is None:
            pass
        else:
            resultstr=resultstr+chunk.choices[0].delta.content
    history.append({'role':'assistant','content':resultstr})
    return resultstr,history

Step 3 准备Groq

api_key='your key'
historyChat=[]
client = Groq(api_key=keystr)

Step 4 使用函数和显示

promptstr='hello'
contentstr,historyChat=ChatContext(promptstr,historyChat,client)
print(contentstr)

以下是效果:

enter description here
enter description here
以后每次使用就都可以简单的使用

promptstr='your prompt'
contentstr,historyChat=ChatContext(promptstr,historyChat,client)
print(contentstr)

效果还不错。

标签:md,resultstr,content,historyChat,API,Groq,history
From: https://www.cnblogs.com/fighter23/p/18157708

相关文章

  • Hessian矩阵以及在血管增强中的应用—OpenCV实现【2024年更新】
    有别于广为人知的Sobel、Canny等一阶算法,基于Hessian矩阵能够得到图像二阶结果,这将帮助我们深入分析图像本质。Hessian矩阵在图像处理中有着广泛的应用:其中在图像分割领域,包括边缘检测、纹理分析等;在图像增强领域,包括边缘增强、边缘消除等。本文从Hessian矩阵定义出发,通过清晰简......
  • 前端调用DRI后端API出现跨域资源共享(CORS)问题解决办法
    目录1.引言2.跨源资源共享和实现方法3.在Django项目中配置django-cors-headers库Reference1.引言在进行后端API开发时,有时会遇到“跨域资源共享(CORS)请求...被阻止“的错误,如图1所示。本文讲解如何在使用DRF(DjangoRESTFramework)的后端API开发项目中解决这个问题。Ac......
  • 使用 NestJS 和 qrcode.js 创建 QR 码生成器 API
    前言QR码(QuickResponseCode)是一种二维码,于1994年开发。它能快速存储和识别数据,包含黑白方块图案,常用于扫描获取信息。QR码具有高容错性和快速读取的优点,广泛应用于广告、支付、物流等领域。通过扫描QR码,用户可以快速获取信息和实现便捷操作,为现代生活带来便利。在本教程中,小编......
  • [MDP.BlazorCore] 快速建立跨Web、App執行的BlazorApp專案
    團隊資源受限的時候,使用Blazor開發應用系統,只需開發一份程式碼及使用一種程式語言,就同時產出Web跟App應用系統。本篇文章,紀錄使用MDP.BlazorCore所提供的樣板,快速建立跨Web、App執行的BlazorApp專案。為自己留個紀錄,也希望能幫助到有需要的開發人員。.安裝指令:dotnetnewinstal......
  • mpcmdrun.exe 是 Windows Defender 的命令行界面工具,用于运行 Windows Defender 的扫
    mpcmdrun.exe是WindowsDefender的命令行界面工具,用于运行WindowsDefender的扫描和其他安全操作,如更新病毒定义文件、运行快速扫描等。它是WindowsDefender的一部分,用于保护系统免受恶意软件和其他安全威胁的侵害。这个程序通常自动运行,并在后台处理安全任务,以......
  • JTCR-Stream API-23
    流基础流是数据管道,表示一系列数据。流的操作是针对数据源来说的,但是流的操作不会改变数据源的数据,只会产生新的流。最基础的流是BaseStream接口。interfaceBaseStream<T,SextendsBaseStream<T,S>>T表示流中数据的类型,S表示扩展了BaseStream的流。BaseStream扩展......
  • 在windows下使用COSCMD时因Python版本不支持导致报SafeConfigParser不支持的错误
    在Windows下通过pip安装COSCMD后,使用相关命令操作Coscmd时报错,具体看错误信息是:SafeConfigParser不再支持。这是因为本地的python的版本是3.12.2,此版本已经不再支持SafeConfigParser这个类。而CosCmd的源代码是用的SafeConfigParser这个类,所以导致报错。 解决方案:修改C:\Pyth......
  • 解决安装 ollama 在 wsl2 中报 WARNING: No NVIDIA/AMD GPU detected. Ollama will ru
    首先要确保wsl2版的cuda环境已经安装[非必须]如果已安装了环境但是nvidia-smi找不到,可能是未加入环境变量,请将它的路径/usr/lib/wsl/lib加入PATHollama在/usr/bin/找不到nvidia-smi位置,所以会有如上警告,所以需要创个链接指向:方法一:sudoln-s$(whichnvid......
  • MIGO BAPI BAPI_GOODSMVT_CREATE 各种类型使用汇总
    ***********GOODSMVT_CODE取值含义********01MB01*02MB31*03MB1A"发*04MB1B"转储*05MB1C"其它收货*06MB11*07MB04经常会遇到一些自定义的移动类型,但是并不知道对应的goodsmvt_code是多少。可以用如下方法进行查找首先去T158B中根据移动类......
  • 在windows的CMD中计算MD5
    在Windows10的命令提示符(CMD)中,可以使用certutil命令来计算文件的MD5值。certutil-hashfileC:\BuildVersion.txtMD5......