小编Dav*_*cco的帖子

OpenAI API 在对话中继续对话

我正在使用 openAI API,并尝试继续对话。例如:

import openai
openai.api_key = mykey
    
prompt= "write me a haiku"
    
response = openai.Completion.create(engine="text-davinci-001",
                                    prompt=prompt,
                                    max_tokens=50)
print(response)
Run Code Online (Sandbox Code Playgroud)

这会产生以下格式的俳句:

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "text": "\n\n\n\nThis world is\nfull of wonders\nSo much to see and do"
    }
  ],
  "created": 1670379922,
  "id": "cmpl-6KePalYQFhm1cXmwOOJdyKiygSMUq",
  "model": "text-davinci-001",
  "object": "text_completion",
  "usage": {
    "completion_tokens": 17,
    "prompt_tokens": 5,
    "total_tokens": 22
  }
}
Run Code Online (Sandbox Code Playgroud)

这太棒了。但是,如果我现在想要求“再给我写一封信”怎么办?如果我使用 openAI Playground 聊天或 chatGPT,我就能够继续对话。我想通过我的 python 脚本来做到这一点。我注意到我收到了id回复。我可以用它来继续我的谈话吗?

python openai-api

56
推荐指数
4
解决办法
4万
查看次数

将平面列表转换为python中的列表列表

通常情况下,你想要反过来,就像这里一样.我想知道你如何将一个平面列表转换为一个列表,在python中的quasy重塑数组

在numpy你可以做类似的事情:

>>> a=numpy.arange(9)
>>> a.reshape(3,3)
>>> a
array([[0, 1, 2],
   [3, 4, 5],
   [6, 7, 8]])
Run Code Online (Sandbox Code Playgroud)

我想知道你是如何做相反的事情,我通常的解决方案是这样的:

>>> Mylist
['a', 'b', 'c', 'd', 'e', 'f']
>>> newList = []
for i in range(0,len(Mylist),2):
...     newList.append(Mylist[i], Mylist[i+1])
>>> newList 
[['a', 'b'], ['c', 'd'], ['e', 'f']]
Run Code Online (Sandbox Code Playgroud)

是否有更"Pythonic"的方式来做到这一点?

python list

21
推荐指数
3
解决办法
2万
查看次数

Windows docker image vm max map count 中的 ElasticSearch

我是 Docker 和 Elasticsearch 的新手。我正在使用 Windows 7 机器。我正在使用docker-compose updocker 容器。我的 yml 文件有

elasticsearch:
  image: elasticsearch:5.1.1
  environment:
    ES_JAVA_OPTS: "-Xms1g -Xmx1g"
Run Code Online (Sandbox Code Playgroud)

以及其他链接的图像。
我正在使用 docker 来调出 elasticsearch 图像,当我这样做时,我收到以下错误

[36melasticsearch_1   |?[0m ERROR: bootstrap checks failed
[36melasticsearch_1   |?[0m max virtual memory areas vm.max_map_count [65530]  is too low, increase to at least [262144]
[36melasticsearch_1   |?[0m [2017-02-08T11:06:51,752][INFO ][o.e.n.Node
Run Code Online (Sandbox Code Playgroud)

我在 google 上搜索了一个解决方案,并在他们建议使用的任何地方搜索 sudo sysctl vm.max_map_count=262144,但在 Windowssysctl中不可用。没有为 Windows 提供明确的步骤。

其他一些 Docker 映像已在我的机器上启动并运行,因此 Docker 正在运行。

有人可以提供任何线索来解决这个问题吗?

windows elasticsearch docker docker-compose

18
推荐指数
6
解决办法
2万
查看次数

如何使用Scikit Learn CountVectorizer在语料库中获得单词频率?

我正在尝试使用scikit-learn来计算一个简单的单词频率CountVectorizer.

import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer

texts=["dog cat fish","dog cat cat","fish bird","bird"]
cv = CountVectorizer()
cv_fit=cv.fit_transform(texts)

print cv.vocabulary_
{u'bird': 0, u'cat': 1, u'dog': 2, u'fish': 3}
Run Code Online (Sandbox Code Playgroud)

我期待它回归{u'bird': 2, u'cat': 3, u'dog': 2, u'fish': 2}.

python scikit-learn

15
推荐指数
4
解决办法
2万
查看次数

使用scipy.optimize和loglikelihood查找beta-binomial分布的alpha和beta

如果在二项分布中p成功的概率具有形状参数α> 0β> 0的β分布,则分布是β二项式.形状参数定义成功的概率.我想从β二项分布的角度找到最能描述我的数据的αβ的值.我的数据集players 包括许多棒球运动员的命中数(H),击球次数(AB)和转换次数(H/AB)的数据.我在Python的Beta二项功能中借助JulienD的答案来估算PDF

from scipy.special import beta
from scipy.misc import comb

pdf = comb(n, k) * beta(k + a, n - k + b) / beta(a, b)
Run Code Online (Sandbox Code Playgroud)

接下来,我写了一个loglikelihood函数,我们将最小化.

def loglike_betabinom(params, *args):
   """
   Negative log likelihood function for betabinomial distribution
   :param params: list for parameters to be fitted.
   :param args:  2-element array containing the sample data.
   :return: negative log-likelihood to be …
Run Code Online (Sandbox Code Playgroud)

python beta distribution scipy binomial-theorem

13
推荐指数
1
解决办法
618
查看次数

为什么使用Windows身份验证登录使用AzureML dataprep的MS SQL失败?

我尝试azureml.dataprep在Azure笔记本中使用连接到MS SQL数据库,如https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-load-data#load-sql中所述-data,使用MSSqlDataSource,使用表单的代码

import azureml.dataprep as dprep

secret = dprep.register_secret(value="[SECRET-PASSWORD]", id="[SECRET-ID]")

ds = dprep.MSSQLDataSource(server_name="[SERVER-NAME]",
                       database_name="[DATABASE-NAME], [PORT]",
                       user_name="[DATABASE-USERNAME]",
                       password=secret)
Run Code Online (Sandbox Code Playgroud)

设置[DATABASE-USERNAME]等于MYWINDOWSDOMAIN\\MYWINDOWSUSERNAME和密码[SECRET-PASSWORD]与我的Windows 密码一致(即尝试使用Windows身份验证).

用...触发查询后

dataflow = dprep.read_sql(ds, "SELECT top 100 * FROM [dbo].[MYTABLE]")
dataflow.head(5)
Run Code Online (Sandbox Code Playgroud)

我明白了

ExecutionError:登录失败.

我可以连接到没有Windows身份验证的其他数据库.我究竟做错了什么?

python sql-server azure azure-authentication

12
推荐指数
1
解决办法
362
查看次数

如何测试使用图像的 FastAPI api 端点?

我正在使用 pytest 来测试 FastAPI 端点,该端点以二进制格式输入图像,如

@app.post("/analyse")
async def analyse(file: bytes = File(...)):

    image = Image.open(io.BytesIO(file)).convert("RGB")
    stats = process_image(image)
    return stats
Run Code Online (Sandbox Code Playgroud)

启动服务器后,我可以通过运行调用来成功手动测试端点 requests

import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

url = "http://127.0.0.1:8000/analyse"

filename = "./example.jpg"
m = MultipartEncoder(
        fields={'file': ('filename', open(filename, 'rb'), 'image/jpeg')}
    )
r = requests.post(url, data=m, headers={'Content-Type': m.content_type}, timeout = 8000)
assert r.status_code == 200
Run Code Online (Sandbox Code Playgroud)

但是,以以下形式设置测试:

from fastapi.testclient import TestClient
from requests_toolbelt.multipart.encoder import MultipartEncoder
from app.server import app

client = TestClient(app)

def test_image_analysis():

    filename = "example.jpg"

    m = MultipartEncoder( …
Run Code Online (Sandbox Code Playgroud)

python multipart pytest starlette fastapi

12
推荐指数
1
解决办法
7888
查看次数

Docker compose、heroku、主机名链接和生产部署

我现在有一个简单的应用程序包括几个微服务(数据库,前端节点的应用程序,用户服务等),每一个都有自己Dockerfiledocker-compose.yml文件,让他们都起来上的本地部署环境。所以一切正常docker-compose up

对于生产,我正在寻找不支持 Docker Compose 的 Heroku(对其他 PaaS 开放)。不是特别好,但现在可以忍受。

问题是在本地部署 Docker Compose 时,不同的服务通过其主机名自动链接(如果 mongo 数据库服务称为“mydatabase”,我可以mongodb://mydatabase/whatever在我的其他服务中进行)。

那么,问题是,Heroku 上的这些链接会发生什么?在这种情况下,让不同服务在开发和生产之间保持一致的最佳实践是什么?

谢谢!

heroku node.js docker docker-compose

10
推荐指数
1
解决办法
3156
查看次数

Pyspark 数据框 OrderBy 列列表

在写入 csv 之前,我试图在 pyspark 数据框中使用 OrderBy 函数,但如果我有一个列列表,我不确定是否使用 OrderBy 函数。

代码:

Cols = ['col1','col2','col3']
df = df.OrderBy(cols,ascending=False)
Run Code Online (Sandbox Code Playgroud)

sql-order-by python-3.x apache-spark apache-spark-sql pyspark

9
推荐指数
1
解决办法
3万
查看次数

如何合并来自多个Elasticsearch查询的排名?

我想合并从查询Elasticsearch索引的单独字段获得的排名,以获得"复合"排名.

作为一个(愚蠢的)"配对"示例,假设我想要在包含他们喜欢的音乐,食物,体育的人的索引上检索最佳匹配结果.

单独的查询可以是例如

"query": { "match" : { "music" : "indie classical metal" } }
Run Code Online (Sandbox Code Playgroud)

这将使我成为排名结果:

  1. 爱丽丝,2.鲍勃,3.查理;

"query": { "match" : { "foods" : "falafel strawberries coffee" } }
Run Code Online (Sandbox Code Playgroud)

生产

  1. 爱丽丝,2.查理,3.鲍勃;

"query": { "match" : { "sports" : "basketball ski" } }
Run Code Online (Sandbox Code Playgroud)

生产

  1. 查理,2.爱丽丝,3.鲍勃.

现在,我想基于上面的排名获得"聚合"排名,例如使用如何合并有序偏好集合中列出的投票方法.

到目前为止,为了实现这些方面的某些内容,我使用了复合查询的语法,例如

"query": {
   "bool": {
        "should": [
                { "match" : { "music" : "indie classical metal" } },
                { "match" : { "foods" : "falafel strawberries coffee" } },
                { "match" : …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch

8
推荐指数
1
解决办法
191
查看次数